Systim API - Zarządzanie fakturami

Strona główna API

addPurchInvoice

Dodanie nowej faktury

Wymagane parametry

token, id_kontrahenta, data_wprowadzenia, data_dokumentu, termin_platnosci,numer_faktury,
id_kategorii - kategoria faktury
rodzaj_zakupu - rodzaj faktury
kwoty sumy całego dokumentu pobierane są z parametrów:
suma_netto, suma_vat, suma_brutto i/lub kwota_netto_zaliczkowej, kwota_vat_zaliczkowej, kwota_brutto_zaliczkowej

w niektórych przypadkach wymagane sa także: data_waluty,kurs_waluty,start_miedzyokresowego,koniec_miedzyokresowego,id_pojazdu,id_srodka_trwalego,id_srodka_pojazdu

wymagane są pola faktury jeżeli parametr active_tab ma wartość 1, tablice o poniższych nazwach, których elementami są kolejno dodane wartości

id_produktu,
ilosc,
cena_netto,
kwota_vat,
kwota_brutto,
kwota_netto,
jednostka
opis,
stawka_vat - id stawki VAT,
kod_produktu,
kod_kreskowy,
numer_seryjny

wymagane są pola faktury jeżeli parametr active_tab ma wartość 2, tablica, zawierająca elementy:

stawka_rodzaj_produktu,
stawka_rodzaj_vat,
id_stawki_vat_suma,
suma_netto_stawki,
suma_vat_stawki,
suma_brutto_stawki

Opcjonalne parametry

zaplacono,id_projektu,uwagi,id_magazynu,faktura_walutowa,faktura_zaliczkowa_koncowa, waluta,tabela_nbp,
kwota_netto_zaliczkowej,kwota_vat_zaliczkowej,kwota_brutto_zaliczkowej, opis_ksiegowania,id_kolumny_kpir,
koszty_badawczo_rozwojowej,opis_badawczo_rozwojowej, rozliczenie_miedzyokresowe,ceny_brutto
opt,newClient,miejscowosc,nip,nazwa,ulica,kod,id_wojewodztwa, nazwa_skrot,panstwo,rozlicz,email,naliczanie_odsetek,platnosc_walutowa,numer_roczny,numer_miesieczny,
dowod_osobisty,id_szablonu_ksiegowania,miedzyokresowa_rok_miesiac,id_glownej_zaliczkowej

Parametry - zdefiniowane parametry dodatkowe dodajemy poprzez array "param", gdzie kluczem jest ID parametru, zaś wartością wartość jaką chcemy zapisać.

Wartości zwracane

Zwracane wartości w przypadku powodzenia:
$dane['result'] - zawiera zmienną id oraz numer dodanej faktury
zawiera także informacje (result_code) na temat automatycznego księgowania
• kod 0 - dodano fakture. Księgowanie automatyczne jest wyłączone
• kod 100 - dodano fakturę i utworzono nowy zapis w księgowości
• kod 101 - dodano fakturę i zaktualizowano już istniejący wpis w księgowości
• kod 102 - dodano fakturę, lecz księgowanie się nie powiodło
Dodatkowo przesyłany jest komunikat ksiegowanie podający ewentualne szczegóły.
W przypadku niepowodzenia:
$dane['error']['code']>0

Uwagi:

Kategorie (dla pola id_kategorii):
1 - Zakup towarów handlowych i materiałów do produkcji,
2 - Koszty uboczne zakupu towarów i materiałów,
3 - Wynagrodzenia w gotówce i w naturze,
4 - Faktura zaliczkowa,
5 - Koszty mediów i usług telekomunikacyjnych,
6 - Zakup dotyczący pojazdu,
7 - Zakup wyposażenia,
8 - Zakup środków trwałych,
9 - Koszty i opłaty bankowe,
10 - Delegacja,
12 - Najem lokalu,
13 - Zakup wartości niematerialnych i prawnych,
14 - Ulepszenie środka trwałego,
15 - Zakup samochodu osobowego,
16 - Zakup materiałów na potrzeby firmy,
17 - Zakup samochodu ciężarowego,
18 - Leasing lub dzierżawa,
19 - Dowód wewnętrzny zakupu,
20 -Zakup towaru od rolnika ryczałtowego,
21 - Inny wydatek,
22 - Zakup usług,
23 - Faktura pro forma
24 - Ulepszenie WNiP

Przykład wywołania w PHP

					//tablica zawierająca 2 pola faktury wraz z id produktu,ilością,kwotą i ceną netto, jednostką, stawką vat, 
					//kwotą vat i kwotą brutto
					$produkty['cena_netto'][0]=10;
					$produkty['ilosc'][0]=3;
					$produkty['kwota_netto'][0]=30;
					$produkty['jednostka'][0]='kg';
					$produkty['opis'][0]='asdf';
					$produkty['stawka_vat'][0]=1;
					$produkty['kwota_vat'][0]=14;
					$produkty['kwota_brutto'][0]=44;
					$pozycje = http_build_query($produkty);
					
					$parametr['param'][0]=14;
					$parametr['param'][1]=44;
					$parametry = http_build_query($parametr);

					
					$c = curl_init();
					curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
					curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
					curl_setopt($c, CURLOPT_POSTFIELDS, 'act=addPurchInvoice'.
							'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
							'&zaplacono=20.20'.
							'&id_kategorii=1'.
							'&rodzaj_zakupu=7'.
							'&id_kontrahenta=1'.
							'&termin_platnosci=2019-05-05'.
							'&forma_platnosci=1'.
							'&data_wprowadzenia=2019-04-28'.
							'&numer_faktury=Test_API'.
							'&data_dokumentu=2019-04-28'.
							'&active_tab=1'.
							'&'.$pozycje.
							'&'.$parametry);  
					curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
					$wynik = curl_exec($c);
					curl_close($c);
					$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej

					if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd, 
																			//jeśli tak, wyświetlamy go
					echo 'Id nowej faktury: ' . $dane['result'];
					



delPurchInvoice

Usunięcie istniejącej faktury

Wymagane parametry

token, id

Opcjonalne parametry

brak

Wartości zwracane

Zwracane wartości w przypadku powodzenia:
$dane['result'] - zawiera zmienną id usuniętego zamówienia
W przypadku niepowodzenia:
$dane['error']['code']>0

Przykład wywołania w PHP


					 $c = curl_init();
					 curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
					 curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
					 curl_setopt($c, CURLOPT_POSTFIELDS, 'act=delPurchInvoice'.
								'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
								'&id=4'); 
					 curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
					 $wynik = curl_exec($c);
					 curl_close($c);
					 $dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
					 
					 if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd, 
																				//jeśli tak, wyświetlamy go
					 echo 'Id usuniętej faktury: ' . $dane['result'];
					



updPurchInvoice

Dodanie nowej faktury

Wymagane parametry

token, id, id_kontrahenta, data_wprowadzenia, data_dokumentu, termin_platnosci,numer_faktury,
id_kategorii - kategoria faktury
w niektórych przypadkach wymagane sa także: data_waluty,kurs_waluty,start_miedzyokresowego,koniec_miedzyokresowego,id_pojazdu,id_srodka_trwalego,id_srodka_pojazdu

wymagane są pola faktury jeżeli parametr active_tab ma wartość 1, tablice o poniższych nazwach, których elementami są kolejno dodane wartości

id_produktu,
ilosc,
cena_netto,
kwota_vat,
kwota_brutto,
kwota_netto,
jednostka
opis,
stawka_vat - id stawki VAT,
kod_produktu,
kod_kreskowy,
numer_seryjny

wymagane są pola faktury jeżeli parametr active_tab ma wartość 2, tablice o poniższych nazwach, których elementami są kolejno dodane wartości

stawka_rodzaj_produktu,
stawka_rodzaj_vat,
id_stawki_vat_suma,
suma_netto_stawki,
suma_vat_stawki,
suma_brutto_stawki

Opcjonalne parametry

zaplacono,id_projektu,uwagi,id_magazynu,faktura_walutowa,faktura_zaliczkowa_koncowa, waluta,tabela_nbp,kwota_netto_zaliczkowej,kwota_vat_zaliczkowej,kwota_brutto_zaliczkowej, opis_ksiegowania,id_kolumny_kpir,koszty_badawczo_rozwojowej,opis_badawczo_rozwojowej, rozliczenie_miedzyokresowe,ceny_brutto,
forma_platnosci,rok,miesiac,nazwa,nip,ulica,miejscowosc,kod,id_wojewodztwa,panstwo,
numer_miesieczny,numer_roczny,zaksiegowana,dowod_osobisty,id_szablonu_ksiegowania

Wartości zwracane

Zwracane wartości w przypadku powodzenia:
$dane['result'] - zawiera zmienną id oraz numer dodanej faktury
zawiera także informacje (result_code) na temat automatycznego księgowania
• kod 0 - dodano fakture. Księgowanie automatyczne jest wyłączone
• kod 100 - dodano fakturę i utworzono nowy zapis w księgowości
• kod 101 - dodano fakturę i zaktualizowano już istniejący wpis w księgowości
• kod 102 - dodano fakturę, lecz księgowanie się nie powiodło
Dodatkowo przesyłany jest komunikat ksiegowanie podający ewentualne szczegóły.
W przypadku niepowodzenia:
$dane['error']['code']>0

Uwagi:

Kategorie (dla pola id_kategorii):
1 - Zakup towarów handlowych i materiałów do produkcji,
2 - Koszty uboczne zakupu towarów i materiałów,
3 - Wynagrodzenia w gotówce i w naturze,
4 - Faktura zaliczkowa,
5 - Koszty mediów i usług telekomunikacyjnych,
6 - Zakup dotyczący pojazdu,
7 - Zakup wyposażenia,
8 - Zakup środków trwałych,
9 - Koszty i opłaty bankowe,
10 - Delegacja,
12 - Najem lokalu,
13 - Zakup wartości niematerialnych i prawnych,
14 - Ulepszenie środka trwałego,
15 - Zakup samochodu osobowego,
16 - Zakup materiałów na potrzeby firmy,
17 - Zakup samochodu ciężarowego,
18 - Leasing lub dzierżawa,
19 - Dowód wewnętrzny zakupu,
20 -Zakup towaru od rolnika ryczałtowego,
21 - Inny wydatek,
22 - Zakup usług,
23 - Faktura pro forma
24 - Ulepszenie WNiP

Przykład wywołania w PHP

					//tablica zawierająca 2 pola faktury wraz z id produktu,ilością,kwotą i ceną netto, jednostką, stawką vat, 
					//kwotą vat i kwotą brutto
					$produkty['cena_netto'][0]=10;
					$produkty['ilosc'][0]=3;
					$produkty['kwota_netto'][0]=30;
					$produkty['jednostka'][0]='kg';
					$produkty['opis'][0]='asdf';
					$produkty['stawka_vat'][0]=1;
					$produkty['kwota_vat'][0]=14;
					$produkty['kwota_brutto'][0]=44;
					$pozycje = http_build_query($produkty);
					$c = curl_init();
					curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
					curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
					curl_setopt($c, CURLOPT_POSTFIELDS, 'act=updPurchInvoice'.
							'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
							'&id=7'.
							'&zaplacono=20.20'.
							'&id_kategorii=1'.
							'&rodzaj_zakupu=7'.
							'&id_kontrahenta=1'.
							'&termin_platnosci=2019-05-05'.
							'&forma_platnosci=1'.
							'&data_wprowadzenia=2019-04-28'.
							'&numer_faktury=Test_API'.
							'&data_dokumentu=2019-04-28'.
							'&active_tab=1'.
							'&'.$pozycje);  
					curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
					$wynik = curl_exec($c);
					curl_close($c);
					$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej

					if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd, 
																			//jeśli tak, wyświetlamy go
					echo 'Id edytowanej faktury: ' . $dane['result'];
					



getPurchInvoicePDF

Pobieranie PDF dla istniejącej faktury

Wymagane parametry

token, id

Opcjonalne parametry

brak

Wartości zwracane

Zwracane wartości w przypadku powodzenia:
$dane['result'] - zawiera zmienną file oraz name pobieranego PDF faktury
W przypadku niepowodzenia:
$dane['error']['code']>0

Przykład wywołania w PHP


					 $c = curl_init();
					 curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
					 curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
					 curl_setopt($c, CURLOPT_POSTFIELDS, 'act=getPurchInvoicePDF'.
								'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
								'&id=4'); 
					 curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
					 $wynik = curl_exec($c);
					 curl_close($c);
					 $dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
					 
					 if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd, 
																				//jeśli tak, wyświetlamy go

					 // dekodujemy i wstawiamy zawartość pliku pdf do zmiennej by potem ją zapisać, lub umożliwić pobranie 
					 $fakturaPDF = base64_decode($dane['result']['file']);	
					 // nazwa pliku pdf
					 $nazwaPDF = $dane['result']['name'];
					 
					



listPurchInvoices

Pobranie listy faktur

Wymagane parametry

token

Opcjonalne parametry

ids - zmienna typu "string" zawierająca numery ID faktur które mają zostać pobrane, gdzie separatorem jest "," np. 1,2,4,12,23,45
data_wprowadzenia_od - zmienna typu "string" zawierająca dolną granicę dat wprowadzenia faktur, które mają zostac pobrane. Faktury zostaną pobrane włącznie z tą datą.
data_wprowadzenia_do - zmienna typu "string" zawierająca górną granicę dat wprowadzenia faktur, które mają zostac pobrane. Faktury zostaną pobrane włącznie z tą datą.

Wartości zwracane

Zwracane wartości w przypadku powodzenia:
$dane['result'] - jest tablicą asocjacyjną o wartościach:
id, kontrahent, id_kontrahenta, kwota_netto, kwota_brutto, numer_faktury, data_wprowadzenia, zaplacono, termin_platnosci, data_dokumentu,rodzaj oraz:
W przypadku niepowodzenia:
$dane['error']['code']>0

Przykład wywołania w PHP


					 $c = curl_init();
					 curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
					 curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
					 curl_setopt($c, CURLOPT_POSTFIELDS, 'act=listPurchInvoices'.
								'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
								'&ids=4,9,23'); 
					 curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
					 $wynik = curl_exec($c);
					 curl_close($c);
					 $dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
					 
					 if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd, 
																				//jeśli tak, wyświetlamy go
																				 
					 // Dane wylistowanych faktur
					 
					 foreach($dane['result'] as $id=>$dane)
					 {
						echo 'Id faktury: ' . $id . ' Numer faktury: ' . $dane['numer_faktury'] . 
							 ' Data dokumentu: ' . $dane['data_dokumentu'] . ' Kwota brutto: ' . 
							 $dane['kwota_brutto'] . ' Nazwa kontrahenta: ' . $dane['kontrahent'] .
							 ' Rodzaj: ' . $dane['rodzaj'] . ' Kwota netto: ' . $dane['kwota_netto'] .
							 ' Data wprowadzenia: ' . $dane['data_wprowadzenia'] . ' Id kontrahenta: ' . $dane['id_kontrahenta'] .
							 ' Zapłacono: ' . $dane['zaplacono'] . ' Termin płatności: ' . $dane['termin_platnosci'] . '
'; }



getPurchInvoice

Pobranie danych faktury

Wymagane parametry

token, id

Opcjonalne parametry

brak

Wartości zwracane

Zwracane wartości w przypadku powodzenia:
$dane['result']['faktura'] - jest tablicą asocjacyjną o wartościach:
id, kontrahent, id_kontrahenta, kwota_netto, kwota_brutto, numer_faktury, data_wprowadzenia, zaplacono, termin_platnosci, rodzaj,data_dokumentu oraz:
$dane['result']['pola'] - jest tablicą asocjacyjną o wartościach:
id_faktury, id_produktu, ilosc, cena_netto, kwota_netto, stawka_vat, kwota_vat, kwota_brutto, jednostka, opis, pkwiu, rabat, numer_seryjny, kod_produktu, kod_kreskowy

W przypadku niepowodzenia:
$dane['error']['code']>0

Przykład wywołania w PHP


					 $c = curl_init();
					 curl_setopt($c, CURLOPT_URL, 'https://abcd.systim.pl/jsonAPI.php');
					 curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
					 curl_setopt($c, CURLOPT_POSTFIELDS, 'act=getPurchInvoice'.
								'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f' .
								'&id=4'); 
					 curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
					 $wynik = curl_exec($c);
					 curl_close($c);
					 $dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej
					 
					 if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd, 
																				//jeśli tak, wyświetlamy go
																				 
					 // Dane wylistowanych faktur
					 
					 $dane_faktury = $dane['result']['faktura'];
					
					echo 'Id faktury: ' . $id . ' Numer faktury: ' . $dane_faktury['numer_faktury'] . 
						 ' Data dokumentu: ' . $dane_faktury['data_dokumentu'] . ' Kwota brutto: ' . 
						 $dane_faktury['kwota_brutto'] . ' Nazwa kontrahenta: ' . $dane_faktury['kontrahent'] .
						 ' Rodzaj: ' . $dane_faktury['rodzaj'] . ' Kwota netto: ' . $dane_faktury['kwota_netto'] .
						 ' Data wprowadzenia: ' . $dane_faktury['data_wprowadzenia'] . ' Id kontrahenta: ' . $dane_faktury['id_kontrahenta'] .
						 ' Zapłacono: ' . $dane_faktury['zaplacono'] . ' Termin płatności: ' . $dane_faktury['termin_platnosci'] . '
'; foreach($dane['result']['pola'] as $numer_pola=>$pole) { echo '

ID faktury: ' . $pole['id_faktury'] . ' ID produktu: ' . $pole['id_produktu'] . ' Ilosc: ' . $pole['ilosc'] . ' Cena netto: ' . $pole['cena_netto'] . ' Kwota netto: ' . $pole['kwota_netto'] . ' Stawka vat: ' . $pole['stawka_vat'] . ' Kwota vat: ' . $pole['kwota_vat'] . ' Kwota brutto: ' . $pole['kwota_brutto'] . ' Jednostka: ' . $pole['jednostka'] . ' Opis: ' . $pole['opis'] . ' Kod produktu: ' . $pole['kod_produktu'] . ' Kod kreskowy: ' . $pole['kod_kreskowy']; }



uploadDocument

Przesłanie dokumentu kosztowego PDF

Wymagane parametry

token, nazwa, plik

nazwa - nazwa pliku PDF

plik - zawartość pliku zakodowana w formacie base64_encode

Opcjonalne parametry

brak

Wartości zwracane

Zwracane wartości w przypadku powodzenia:
dane['result'] - zawiera zmienną id dodanego dokumentu

W przypadku niepowodzenia:
dane['error']['code']>0

Przykład wywołania w PHP

					
					
					$plik = base64_encode(file_get_contents('test.pdf'));
					
					$c = curl_init();
					curl_setopt($c, CURLOPT_URL, 'http://abcd.systim.pl/jsonAPI.php');
					curl_setopt($c, CURLOPT_POST, true); //sposób przesyłania - (true metoda POST)
					curl_setopt($c, CURLOPT_POSTFIELDS, 'act=uploadDocument'.
						'&token=6aed003dc54951c043f8d1ad4b4804a2a8a40f'.
						'&nazwa='. urlencode('test.pdf').
						'&plik='. urlencode($plik) );
					curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
					$wynik = curl_exec($c);
					curl_close($c);
					$dane = json_decode($wynik,true); // wartości w postaci tablicy asocjacyjnej

					if($dane['error']['code']>0) die($dane['error']['message']); //sprawdzamy czy wystąpił jakiś błąd, 
																			//jeśli tak, wyświetlamy go
					echo 'Id dodanego dokumentu kosztowego: ' . $dane['result'];
					



Wersja DEMO - przetestuj za darmo! Załóż konto Systim w 15 sekund!