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'];