$proformaId, "date_sent" => date("d.m.Y"), "date_to_pay" => ($eracun) ? date("d.m.Y", strtotime('+30 days')) : date("d.m.Y"), "date_served" => date("d.m.Y",strtotime($podatki['datum'])) ); // naredi račun $r = $api->invoiceFromProforma($argumentiProforma); if($r->isOk()){ // naredil je račun iz predračuna $invIdA = $r->getData(); $invId = $invIdA[0]['new_id']; $placilo = $podatki['za_placilo']; $tip_placila = (isset($podatki['tip_placila']) ? $podatki['tip_placila'] : 1); // header ki ga rabi za "dodaj plačilo" $header = array( 'date_of' => date("d.m.Y"), 'amount' => round($placilo,2), 'id_invoice_sent' => $invId, 'id_payment_method' => $tip_placila // 1=trr, 3=kartica, 5=paypal ); // nastavi, da je plačano - eracun ni placan! if(!$eracun) $api->markPayed($header); // kartica in paypal se potrjujeta if($tip_placila == 3 || $tip_placila == 5){ $id_location = ($tip_placila == 5) ? 4 : 2; $glava = array ( 'id' => $invId, "id_location" => $id_location, "id_register" => 1, "fiscalize" => 1, 'op-tax-id' => IZDAJATELJ_DAVCNA, 'op-name' => IZDAJATELJ_IME, ); // potrdi pri FURS $api->fiscalize($glava); } // racun ni davcno potrjen else{ $glava = array ( 'id' => $invId, 'title' => '', 'doctype' => 0, ); // izdaj račun $api->finalizeInvoiceNonFiscal($glava); } // prenesi pdf $api->downloadPDF($invId,"invoice-sent",$lang); return $invId; } else return 0; // napaka } function ustvariPredracun($api,$podatki,$lang='si') { $invId = 0; $vatbound = 0; if($podatki['podjetjeime']!="") { // predračun na firmo $arr = array( 'name' => $podatki['podjetjeime'], 'street' => $podatki['podjetjenaslov'], 'postal' => $podatki['podjetjepostna'], 'city' => $podatki['podjetjeposta'], 'vatid' => $podatki['podjetjedavcna'] ); if (strpos($podatki['podjetjedavcna'], 'SI') !== false) // zavezanec $vatbound = 1; } else { // predračun za končnega kupca $arr = array( 'name' => $podatki['stranka'], 'street' => "", 'postal' => "", 'city' => "", 'vatid' => "", ); } // Pri sklicevanju na 30. clen mora na racunu pisati drzava $country = ($podatki['podjetjeime'] == "" && $podatki['ddv'] != 1) ? $podatki['drzava'] : ''; // dodaj partnerja $r = $api->assurePartner( array( 'name' => urlencode($arr['name']), 'street' => $arr['street'], 'postal' => $arr['postal'], 'city' => $arr['city'], 'vatid' => $arr['vatid'], 'phone' => $podatki['telefon'], 'website' => '', 'email' => $podatki['email'], 'notes' => '', 'vatbound' => $vatbound, 'custaddr' => '', 'payment_period' => 1, 'street2' => '', 'country' => $country ) ); // partner ustrezno dodan if ($r->isOk()) { $clientIdA = $r->getData(); $clientId=0; if(isset($clientIdA[0]['id'])) $clientId = $clientIdA[0]['id']; // Sklic na člen glede DDV $pub_notes = ''; // Podjetje, ki nima ddv (EU zavezanec oz. katerakoli 3. drzava) if($podatki['podjetjeime'] != "" && $podatki['ddv'] != 1) { if($lang == 'si') $pub_notes = 'V skladu s členom 25/1 ZDDV-1 ni obračunan DDV.'; else $pub_notes = 'According to article 25/1 ZDDV-1 VAT is not included.'; } // Fizicna oseba iz 3. drzave, ki nima ddv if($podatki['podjetjeime'] == "" && $podatki['ddv'] != 1) { if($lang == 'si') $pub_notes = 'V skladu s členom 30.d/1 ZDDV-1 ni obračunan DDV.'; else $pub_notes = 'According to article 30.d/1 ZDDV-1 VAT is not included.'; } $glava = array ( //'title' => date("y")."-".$clientId, 'title' => $podatki['narocilo_id'], 'date_sent' => date("d.m.Y"), 'days_valid' => $podatki['veljavnost'], 'id_partner' => $clientId, 'pub_notes' => $pub_notes, 'date_served' => date("d.m.Y"), 'date_to_pay' => date("d.m.Y"), 'date_payed' => date("d.m.Y"), 'vat_level' => 0, 'taxnum' => 0 ); // Zavezanec iz tujine nima ddv-ja $ddv = DDV * 100; if($podatki['ddv'] != 1) $ddv = 0; $telo = array( array( 'title' => $podatki['ime_storitve'], // ime storitve 'qty' => 1, // količina 'mu' => 'kos', 'price' => $podatki['cena'], 'vat' => $ddv, 'discount' => $podatki['popust'], ), ); // ustvari proforma invoice $r2 = $api->createProFormaInvoice($glava,$telo); // download pdf if ($r2->isOk()) { $invIdA = $r2->getData(); if(isset($invIdA[0]['id'])){ $invId = $invIdA[0]['id']; if($invId) $api->downloadPDF($invId,"preinvoice",$lang); } } } return $invId; } ?>