Fakturko API
REST API za kreiranje i dohvat računa, ponuda te pomoćnih šifarnika (poslovne jedinice, naplatni uređaji, IBAN-i).
Verzija 2.0 · Revoloop d.o.o. · Zadnje ažuriranje: 31.07.2026.
Kako početi
Kreirajte korisnika na fakturko.hr i zatražite API username/password od podrške.
Pozovite get_auth_token i koristite token u svim daljnjim pozivima.
Dohvatite poslovne jedinice, naplatne uređaje i po potrebi IBAN-e.
Kreirajte račun putem insert_invoice ili ponudu putem insert_quote.
Endpointi
Test i produkcija koriste različite URL-ove i različite API korisničke podatke.
| Test | https://testapi.fakturko.hr |
|---|---|
| Produkcija | https://api.fakturko.hr |
Sigurnost
Svaki poziv (osim autentifikacije) mora sadržavati aktivni auth_token. Novi token deaktivira prethodne tokene istog korisnika.
Rate limit
API ograničava broj zahtjeva po IP adresi kako bi spriječio zloupotrebu:
| Endpoint | Limit |
|---|---|
get_auth_token |
max 5 zahtjeva / 10 sekundi |
Ostali endpointi (insert_invoice, insert_quote, get_invoices, …) |
max 20 zahtjeva / 10 sekundi (po endpointu) |
Pri prekoračenju API vraća HTTP 429 i poruku: Previše zahtjeva. Pokušajte ponovno za nekoliko sekundi.
Važna napomena
- Vi ste odgovorni za točnost stavki, PDV-a i ukupnih iznosa koje šaljete.
- Kod fiskalnih računa iznose ne validira ni Porezna uprava na način koji bi ispravio pogreške u payloadu.
Autentifikacija
get_auth_token()
Dohvaća autentifikacijski token za korisnika na temelju poslanih podataka za autentifikaciju.
429.
Uvjeti
- Potrebno je registrirati korisnički račun na fakturko.hr
- Potrebno je kontaktirati korisničku podršku te dobiti podatke za korisničko ime i lozinku
- Podaci za autentifikaciju trebaju biti poslani kao
JSON objekt.
Parametri zahtjeva
| Parametar | Tip | Obavezan | Opis |
|---|---|---|---|
| auth | Objekt | Da | Podaci za autentifikaciju korisnika. |
username |
String | Da | Korisničko ime korisnika. |
password |
String | Da | Lozinka korisnika. |
Primjer zahtjeva
{
"auth": {
"username": "xxxxx",
"password": "xxxxxxxxxxxxxxx"
}
}
Mogući odgovori
| Status | Povratne vrijednosti | Opis |
|---|---|---|
true |
|
Uspješno generiran autentifikacijski token. |
false |
|
Pogreška Moguće poruke:
|
Poslovni prostori / naplatni uređaji
ID-eve iz ovih metoda šaljete u insert_invoice kao posl_jedinice_id i napl_uredaj_id.
get_poslovne_jedinice()
Ova API funkcija omogućuje dohvat poslovnih prostora iz baze podataka.
Uvjeti
- Podaci za autentifikaciju trebaju biti poslani kao
JSON objekt.
Parametri zahtjeva
| Parametar | Traženo | Opis |
|---|---|---|
| invoice_type | Da | fiskalisation → vraća jedinice s is_for_fiskalisation=1. Bilo koja druga vrijednost (npr. plain) → jedinice s is_for_transaction=1. |
| auth_token | Da | Autentifikacijski token |
Primjer zahtjeva
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"invoice_type": "fiskalisation"
}
Mogući odgovori
| Status | Povratne vrijednosti | Opis |
|---|---|---|
true |
|
Uspješno dohvaćene poslovne jedinice, prema željenom tipu (fiskalne fakture ili plain/transakcijske) |
false |
|
Pogreška Moguće poruke:
|
get_naplatni_uredaj()
Ova API funkcija omogućuje dohvat naplatnih uređaja iz baze podataka.
Uvjeti
- Podaci za autentifikaciju trebaju biti poslani kao
JSON objekt.
Parametri zahtjeva
| Parametar | Traženo | Opis |
|---|---|---|
| poslovna_jedinica_id | Da | ID poslovne jedinice iz get_poslovne_jedinice() metode |
| auth_token | Da | Autentifikacijski token |
Primjer zahtjeva
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"poslovna_jedinica_id": 73
}
Mogući odgovori
| Status | Povratne vrijednosti | Opis |
|---|---|---|
true |
|
Uspješno dohvaćeni naplatni uređaji, prema željenom tipu (fiskalne fakture ili plain/transakcijske) i prema poslanom ID-u poslovne jedinice |
false |
|
Pogreška Moguće poruke:
|
IBAN-i / računi
get_ibans()
Ova API funkcija omogućuje dohvat aktivnih računa / IBAN-a pravnog subjekta. Koristite ju prije insert_invoice() ili insert_quote() kada želite odabrati točan account_id za barkod/QR i prikaz podataka za plaćanje na dokumentu.
Uvjeti
- Podaci za autentifikaciju trebaju biti poslani kao
JSON objekt.
Parametri zahtjeva
| Parametar | Tip | Obavezan | Opis |
|---|---|---|---|
| auth_token | Objekt | Da | Autorizacijski token. |
token |
String | Da | Token dobiven iz metode get_auth_token(). |
Primjer zahtjeva
{
"auth_token": {
"token": "xxxxxxxxxxxx"
}
}
Mogući odgovori
| Status | Povratne vrijednosti | Opis |
|---|---|---|
true |
|
Vraća popis aktivnih računa / IBAN-a koje je moguće koristiti za account_id kod generiranja barkoda/QR-a. |
false |
|
Pogreška Moguće poruke:
|
Fakture
Kreiranje, dohvat i storno računa.
insert_invoice()
Unos novog računa (transakcijskog ili fiskalnog, ovisno o client_type).
- Token: get_auth_token
- Poslovna jedinica + naplatni uređaj: get_poslovne_jedinice / get_naplatni_uredaj
- Opcionalno IBAN za barkod: get_ibans
- Rate limit: max 20 zahtjeva / 10 sekundi po IP (vidi Sigurnost)
- Za kompleksnu numeraciju obavezni su
posl_jedinice_idinapl_uredaj_id. - Fiskalizacija:
client_type=privatna. Transakcijski / eRačun:client_type=pravna(+ firma u PDV-u,client.is_ino=0). is_paid=1samo postavljais_override_paid— ne puni automatskidate_paidnipaid_*.- Nakon fiskalizacije, za
payment_typeK/G račun se automatski označi kao plaćen. Za T ne. - Polje
dateAPI uvijek postavlja na trenutni datum/vrijeme.
Parametri zahtjeva
Jedna referenca vrijedi za sve tipove računa. Root objekti: auth_token, client, invoice, invoice_services.
| Parametar | Tip | Obavezan | Opis |
|---|---|---|---|
| auth_token | Objekt | Da | Autorizacijski token. |
token |
String | Da | Token dobiven iz get_auth_token() metode. |
| client | Objekt | Da | Podaci o klijentu kojem se izdaje faktura. |
is_ino |
Bool 0 | 1 | Ne | Oznaka inozemnog klijenta (sprema se na klijenta). Za pravnu osobu u PDV-u, is_ino=1 sprječava slanje eRačuna. Nije isto što invoice.is_ino. |
client_oib |
String | Uvjetno | OIB klijenta. Obavezan za client_type=pravna. |
client_name |
String | Da | Ime klijenta ili naziv tvrtke/obrta. |
client_surname |
String | Ne | Prezime klijenta. |
client_type |
String | Da | privatna | pravna. Za privatna API pokreće fiskalizaciju; za pravna transakcijski niz (i eRačun ako je firma u PDV-u te client.is_ino=0). |
client_country |
String | Da | Država klijenta |
client_city |
String | Ne | Grad klijenta |
client_address |
String | Ne | Adresa klijenta |
client_zip |
String | Ne | Poštanski broj klijenta |
client_phone |
String | Ne | Telefonski broj klijenta |
client_email |
String | Ne | E-mail klijenta |
| invoice | Objekt | Da | Osnovni podaci o računu. |
invoice_type |
String | Ne | U slučaju avansnog računa, poslati "advance" |
payment_type |
String K | G | T | Da | Tip plaćanja: K kartica, G gotovina, T transakcija. Nakon uspješne fiskalizacije, za K/G API automatski označi račun kao plaćen i popuni date_paid te paid_*. |
is_paid |
Bool 0 | 1 | Ne | Default 0. Ako je 1, postavlja is_override_paid=1 (račun se tretira kao plaćen). Ne postavlja automatski date_paid ni paid_*. Kod fiskalizacije s K/G plaćeno se postavlja automatski i bez ovog parametra. |
total_without_vat |
Decimal | Da | Ukupan iznos fakture bez poreza. |
total_with_vat |
Decimal | Da | Ukupan iznos fakture sa porezom. |
total_rabat_amount |
Decimal | Ne | Ukupan iznos rabata, ako postoji. |
is_rabat |
Bool 0 | 1 | Da | Ako je na fakturi iskazan rabat. |
paid_without_vat |
Decimal | Ne | Uplaćeni iznos bez PDV-a (default 0). Kod fiskalizacije s K/G overwritea se na total_without_vat. |
paid_with_vat |
Decimal | Ne | Uplaćeni iznos s PDV-om (default 0). Kod fiskalizacije s K/G overwritea se na total_with_vat. |
date_paid |
Date (YYYY-mm-dd) | Ne | Datum uplate. Sprema se ako je poslan. Kod fiskalizacije s K/G postavlja se automatski. |
is_hourly_billable |
Bool 1 | Da | API trenutno podržava samo količinske stavke; obavezno postaviti u 1. |
date |
Date (YYYY-mm-dd H:i:s) | Ne | API postavlja automatski (trenutni datum/vrijeme) i trenutno ignorira vrijednost iz zahtjeva (koristi se samo za validaciju u odnosu na due_date). |
due_date |
Date (YYYY-mm-dd) | Da | Dospijeće plaćanja fakture |
delivery_date |
Date (YYYY-mm-dd) | Ne | Datum isporuke / realizacije. Mapira se u polje date_realisation. |
note |
String | Ne | U slučaju tekstualne napomene na računu. Npr. plaćeno po ponudi #5. |
is_ino |
Bool 0 | 1 | Ne | Oznaka inozemnog / reverse charge računa (na dokumentu). Default 0. Nije isto što client.is_ino. |
lang |
String english | german | Ne | Dodatni jezik na fakturi |
is_fixed_rabat |
Bool 0 | 1 | Ne | Fiksni popust na razini računa. |
fixed_rabat |
Decimal | Ne | Iznos fiksnog popusta (obavezno ako je is_fixed_rabat=1). |
ext_ref |
String | Ne | Vanjska referenca (npr. Order ID / ERP ID). |
is_barcode |
Bool 0 | 1 | Ne | Generiranje 2D barkoda/QR u PDF-u. Radi backward kompatibilnosti prihvaćen je i alias is_barcoede. |
account_id |
Integer | Ne | ID računa / IBAN-a iz get_ibans(). Ako je poslan, veže se na dokument. Uz is_barcode=1 koristi se i za barkod/QR. Alias: qr_account. |
placanje_model |
String | Ne | Model plaćanja za barkod/QR (npr. 00). Ako nije poslan, koristi se 00. Podržan je i alias qr_model. |
placanje_poziv |
String | Ne | Poziv na broj za barkod/QR. Ako nije poslan, koristi se broj dokumenta. Podržan je i alias qr_poziv. |
posl_jedinice_id |
Int | Da* | ID poslovne jedinice iz get_poslovne_jedinice(). Obavezan za kompleksnu numeraciju. |
napl_uredaj_id |
Int | Da* | ID naplatnog uređaja iz get_naplatni_uredaj(). Obavezan za kompleksnu numeraciju. |
| invoice_services | Objekt | Da | Podaci o stavkama računa. |
name |
String | Da | Naziv stavke (usluge/proizvoda) |
description |
String | Ne | Opis stavke (usluge/proizvoda) |
is_per_hour |
Bool 1 | Ne | API ga postavlja automatski na 1 (količinske stavke). |
quantity_text |
String | Ne | Mjerna jedinica (default: kom). |
quantity_code |
String | Ne | UN/ECE kod mjerne jedinice (default: H87). |
kpd_code |
String | Da | KPD kod. Ključ je obavezan (smije biti prazan string); preporučeno za eRačun. |
hours |
Decimal | Da | Količina |
price_without_vat_per_hour |
Decimal | Da | Iznos stavke, bez poreza, po jediničnoj količini |
price_without_vat |
Decimal | Da | Ukupan iznos stavke bez PDV-a (hours × price_without_vat_per_hour, umanjeno za rabat ako postoji). |
vat_percentage |
Decimal | Da | Stopa PDV-a za stavku (0–100). |
price_with_vat |
Decimal | Da | Ukupan iznos stavke s PDV-om. |
rabat |
Decimal | Ne | U slučaju da stavka ima definiran rabat. Šalje se postotak rabata. |
Primjeri zahtjeva
Osnovni payload s quantity_text/quantity_code, barkodom i poslovnom jedinicom.
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"client": {
"client_oib": "85883135279",
"client_name": "Revoloop d.o.o.",
"client_type": "pravna",
"client_country": "Hrvatska",
"client_city": "Zagreb",
"client_address": "Ostrogovi\u0107eva 3",
"client_zip": "10000",
"client_phone": "+385997315718",
"client_email": "podrska@fakturko.hr"
},
"invoice": {
"lang": "english",
"invoice_type": "",
"payment_type": "T",
"is_paid": 1,
"is_ino": 0,
"total_without_vat": 45,
"total_with_vat": 56.25,
"total_rabat_amount": 0,
"paid_without_vat": 45,
"paid_with_vat": 56.25,
"is_hourly_billable": 1,
"is_rabat": 0,
"is_fixed_rabat": 0,
"fixed_rabat": 0,
"ext_ref": "",
"date": "2026-01-04 10:00:00",
"date_paid": "2026-01-05",
"due_date": "2026-01-18",
"note": "Napomena na ra\u010dunu",
"is_barcode": 1,
"account_id": 1,
"placanje_model": "00",
"placanje_poziv": "2026-000124",
"posl_jedinice_id": 1,
"napl_uredaj_id": 1
},
"invoice_services": [
{
"name": "testna usluga",
"description": "opis testne usluge",
"rabat": 0,
"kpd_code": "01.11.11",
"hours": 5,
"quantity_text": "kom",
"quantity_code": "H87",
"price_without_vat": 50,
"price_without_vat_per_hour": 10,
"vat_percentage": 25,
"price_with_vat": 56.25
}
]
}
Postavite is_rabat=1 i pošaljite postotak rabata po stavci. price_without_vat je cijena nakon popusta.
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"client": {
"client_oib": "85883135279",
"client_name": "Revoloop d.o.o.",
"client_type": "pravna",
"client_country": "Hrvatska",
"client_city": "Zagreb",
"client_address": "Ostrogovi\u0107eva 3",
"client_zip": "10000",
"client_phone": "+385997315718",
"client_email": "podrska@fakturko.hr"
},
"invoice": {
"lang": "english",
"total_without_vat": 269.08,
"total_with_vat": 299.25,
"total_rabat_amount": -15.75,
"paid_without_vat": 269.08,
"paid_with_vat": 299.25,
"is_ino": 0,
"is_hourly_billable": 1,
"is_rabat": 1,
"is_fixed_rabat": 0,
"fixed_rabat": 0,
"ext_ref": "",
"date": "2026-01-04 10:00:00",
"due_date": "2026-01-18",
"is_barcode": 0,
"payment_type": "T",
"note": "Order ID: #18155",
"invoice_type": "advance",
"is_paid": 1
},
"invoice_services": [
{
"name": "Naziv usluge 1",
"description": "Opis usluge 1",
"rabat": 5,
"kpd_code": "01.11.11",
"hours": 1,
"price_without_vat": 185.48,
"price_without_vat_netto": 195.24,
"price_without_vat_per_hour": 195.24,
"vat_percentage": 5,
"price_with_vat": 194.75
},
{
"name": "Naziv usluge 2",
"description": "Opis usluge 2",
"rabat": 5,
"kpd_code": "01.11.11",
"hours": 1,
"price_without_vat": 83.6,
"price_without_vat_netto": 88,
"price_without_vat_per_hour": 88,
"vat_percentage": 25,
"price_with_vat": 104.5
}
]
}
client_type=pravna + posl_jedinice_id/napl_uredaj_id za transakcijski niz. Može pokrenuti eRačun.
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"client": {
"client_oib": "85883135279",
"client_name": "Revoloop d.o.o.",
"client_type": "pravna",
"client_country": "Hrvatska",
"client_city": "Zagreb",
"client_address": "Ostrogovi\u0107eva 3",
"client_zip": "10000",
"client_phone": "+385997315718",
"client_email": "podrska@fakturko.hr"
},
"invoice": {
"lang": "english",
"invoice_type": "",
"payment_type": "T",
"is_paid": 1,
"is_ino": 0,
"is_hourly_billable": 1,
"is_rabat": 0,
"is_fixed_rabat": 0,
"fixed_rabat": 0,
"ext_ref": "",
"total_without_vat": 20,
"total_with_vat": 25,
"total_rabat_amount": 0,
"paid_without_vat": 20,
"paid_with_vat": 25,
"date": "2026-01-04 10:00:00",
"date_paid": "2026-01-05",
"due_date": "2026-01-18",
"note": "Napomena na ra\u010dunu",
"is_barcode": 1,
"account_id": 1,
"placanje_model": "00",
"placanje_poziv": "2026-000123",
"posl_jedinice_id": 1,
"napl_uredaj_id": 1
},
"invoice_services": [
{
"name": "testna usluga",
"description": "opis testne usluge",
"rabat": 0,
"kpd_code": "01.11.11",
"hours": 1,
"price_without_vat_per_hour": 10,
"price_without_vat": 10,
"vat_percentage": 25,
"price_with_vat": 12.5
},
{
"name": "testna usluga",
"description": "opis testne usluge",
"rabat": 0,
"kpd_code": "01.11.11",
"hours": 1,
"price_without_vat_per_hour": 10,
"price_without_vat": 10,
"vat_percentage": 25,
"price_with_vat": 12.5
}
]
}
client_type=privatna pokreće fiskalizaciju. Za payment_type K/G račun se nakon uspjeha automatski označi kao plaćen.
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"client": {
"client_oib": "",
"client_name": "Revoloop d.o.o.",
"client_type": "privatna",
"client_country": "Hrvatska",
"client_city": "Zagreb",
"client_address": "Ostrogovi\u0107eva 3",
"client_zip": "10000",
"client_phone": "+385997315718",
"client_email": "podrska@fakturko.hr"
},
"invoice": {
"lang": "english",
"total_without_vat": 269.08,
"total_with_vat": 299.25,
"total_rabat_amount": -15.75,
"paid_without_vat": 0,
"paid_with_vat": 0,
"is_ino": 0,
"is_hourly_billable": 1,
"is_rabat": 1,
"is_fixed_rabat": 0,
"fixed_rabat": 0,
"ext_ref": "",
"date": "2026-01-04 10:00:00",
"due_date": "2026-01-18",
"is_barcode": 0,
"payment_type": "K",
"note": "Order ID: #18155",
"invoice_type": "advance",
"posl_jedinice_id": "2",
"napl_uredaj_id": "2",
"is_paid": 0
},
"invoice_services": [
{
"name": "Naziv usluge 1",
"description": "Opis usluge 1",
"rabat": 5,
"kpd_code": "01.11.11",
"hours": 1,
"price_without_vat": 185.48,
"price_without_vat_netto": 195.24,
"price_without_vat_per_hour": 195.24,
"vat_percentage": 5,
"price_with_vat": 194.75
},
{
"name": "Naziv usluge 2",
"description": "Opis usluge 2",
"rabat": 5,
"kpd_code": "01.11.11",
"hours": 1,
"price_without_vat": 83.6,
"price_without_vat_netto": 88,
"price_without_vat_per_hour": 88,
"vat_percentage": 25,
"price_with_vat": 104.5
}
]
}
Primjer odgovora
{
"status": 1,
"message": "Racun je uspjesno dodan",
"pdf_link": "link to pdf file",
"thermal_data_link": "link to thermal print data",
"invoice_id": 72484
}
Primjer greške
{
"status": 0,
"message": "Nedostaju obavezni parametri: client, invoice, invoice_services"
}
get_invoices()
Dohvaća listu faktura ili detalj jedne fakture (po ID-u).
Uvjeti
- Podaci za autentifikaciju trebaju biti poslani kao
JSON objekt. - Potrebno je poslati
auth_tokendobiven iz metodeget_auth_token(). - Ako je poslan
invoice_id, vraća se detalj jedne fakture (puniinvoice_data+ stavke). Inače se vraća lista prema filterima.
| Parametar | Traženo | Opis |
|---|---|---|
| auth_token | Da | Autentifikacijski token |
| invoice_id | Ne | ID fakture. Ako je poslan, endpoint vraća detalj jedne fakture. |
| ext_ref | Ne | Vanjska referenca (filtriranje liste po točnoj vrijednosti). |
| date_from | Ne | Datum od (format: YYYY-MM-DD ili YYYY-MM-DD HH:MM:SS). |
| date_to | Ne | Datum do (format: YYYY-MM-DD ili YYYY-MM-DD HH:MM:SS). |
| limit | Ne | Broj zapisa (default 50, max 200). |
| offset | Ne | Pomak (default 0). |
| only_api | Ne | U slučaju 1, vraća samo fakture kreirane preko API-ja. |
| include_drafts | Ne | U slučaju 1, uključuje i draft fakture. |
Primjer zahtjeva (lista)
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"limit": 50,
"offset": 0,
"date_from": "2026-01-01",
"date_to": "2026-01-31",
"only_api": 1,
"include_drafts": 0
}
Primjer zahtjeva (detalj)
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"invoice_id": 123
}
Primjer odgovora (lista)
{
"status": 1,
"message": "Fakture dohva\u0107ene",
"limit": 50,
"offset": 0,
"invoices": [
{
"invoice_id": 123,
"hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"number": "1\/2026",
"date": "2026-01-04 10:00:00",
"due_date": "2026-01-18",
"date_paid": null,
"invoice_type": 1,
"is_draft": 0,
"is_api_invoice": 1,
"is_fiskalized": 0,
"is_e_racun": 0,
"jir": null,
"zki": null,
"ext_ref": null,
"total_without_vat": 20,
"total_with_vat": 25,
"currency_id": 6,
"client_id": 10,
"client_name": "Revoloop d.o.o.",
"client_oib": "85883135279",
"pdf_link": "link to pdf file",
"thermal_data_link": "link to thermal print data"
}
]
}
Primjer odgovora (detalj)
{
"status": 1,
"message": "Faktura dohva\u0107ena",
"pdf_link": "link to pdf file",
"thermal_data_link": "link to thermal print data",
"invoice": {
"invoice_data": {
"id": 123,
"hash": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
"number": "1\/2026",
"date": "2026-01-04 10:00:00",
"due_date": "2026-01-18",
"date_paid": null,
"is_override_paid": null,
"payment_type": 3,
"total_without_vat": 20,
"total_with_vat": 25,
"paid_without_vat": 0,
"paid_with_vat": 0,
"ext_ref": null,
"is_fiskalized": 0,
"is_e_racun": 0
},
"invoice_services": []
}
}
Primjer pogreške
{
"status": 0,
"message": "Nedostaju obavezni parametri: auth_token"
}
storno_invoice()
Storniranje postojećeg računa (po potrebi i fiskalizacija storna).
Uvjeti
- Podaci za autentifikaciju trebaju biti poslani kao
JSON objekt. - potrebno je API-ju poslati ID računa koji se želi stornirati
- potrebno je već imati kreiran račun koji se stornira
- poslani
posl_jedinice_idinapl_uredaj_idmoraju odgovarati originalnom računu (API to provjerava) - u slučaju fiskaliziranog originalnog računa, u
invoiceobjektu se šalju itotal_without_vat/total_with_vat(negativne vrijednosti)
| Parametar | Traženo | Opis |
|---|---|---|
| auth_token | Da | Autentifikacijski token |
| invoice | Da | Objekt s podacima o stornu |
invoice_id |
Da | ID originalnog računa koji se stornira |
posl_jedinice_id |
Da | Mora odgovarati originalnom računu |
napl_uredaj_id |
Da | Mora odgovarati originalnom računu |
total_without_vat |
Uvjetno | Negativni iznos (koristi se pri fiskalizaciji storna) |
total_with_vat |
Uvjetno | Negativni iznos (koristi se pri fiskalizaciji storna) |
Primjer zahtjeva
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"invoice": {
"invoice_id": 72566,
"napl_uredaj_id": 1,
"posl_jedinice_id": 1,
"total_without_vat": -20,
"total_with_vat": -25
}
}
Primjer odgovora
{
"status": 1,
"message": "Racun je uspjesno dodan",
"pdf_link": "link to pdf file",
"thermal_data_link": "link to thermal print data",
"invoice_id": 72484
}
Ponude
insert_quote()
Ova API funkcija omogućuje unos ponude u bazu podataka.
Uvjeti
- Podaci za autentifikaciju trebaju biti poslani kao
JSON objekt.
| Parametar | Traženo | Opis |
|---|---|---|
| auth_token | Da | Autentifikacijski token |
| client | Da | Podaci o klijentu |
| quote | Da | Podaci o ponudi |
| quote_services | Da | Popis usluga na ponudi |
Parametri zahtjeva
| Parametar | Tip | Obavezan | Opis |
|---|---|---|---|
| auth_token | Objekt | Da | Autorizacijski token. |
token |
String | Da | Token dobiven iz get_auth_token() metode. |
| client | Objekt | Da | Podaci o klijentu kojem se izdaje ponuda. |
is_ino |
Bool 0 | 1 | Ne | Trenutno se u insert_quote ne koristi (za razliku od insert_invoice). |
client_oib |
String | Ne | OIB klijenta (u slučaju pravne osobe). |
client_name |
String | Da | Ime klijenta ili naziv tvrtke/obrta. |
client_surname |
String | Ne | Prezime klijenta. |
client_type |
String | Da | privatna | pravna |
client_country |
String | Da | Država klijenta |
client_city |
String | Ne | Grad klijenta |
client_address |
String | Ne | Adresa klijenta |
client_zip |
String | Ne | Poštanski broj klijenta |
client_phone |
String | Ne | Telefonski broj klijenta |
client_email |
String | Ne | E-mail klijenta |
| quote | Objekt | Da | Osnovni podaci o ponudi. |
total_without_vat |
Decimal | Da | Ukupan iznos ponude bez poreza. |
total_with_vat |
Decimal | Da | Ukupan iznos ponude s porezom. |
total_rabat_amount |
Decimal | Ne | Ukupan iznos rabata, ako postoji. |
is_rabat |
Bool 0 | 1 | Da | Ako je na ponudi iskazan rabat. |
paid_without_vat |
Decimal | Ne | Ukupan uplaćeni iznos, bez poreza. |
paid_with_vat |
Decimal | Ne | Ukupan uplaćeni iznos, sa porezom. |
is_hourly_billable |
Bool 0 | 1 | Da | U slučaju da su na ponudi iskazane stavke s količinama (sat, dan, komad, itd.). |
date |
Date (YYYY-mm-dd H:i:s) | Ne | Datum ponude s vremenom. Ako nije poslan, koristi se trenutni datum i vrijeme. |
due_date |
Date (YYYY-mm-dd) | Ne | Dospijeće plaćanja ponude. Ako nije poslano, koristi se datum tri dana nakon kreiranja. |
delivery_date |
Date (YYYY-mm-dd) | Ne | Trenutno se ne mapira na dokument (nije implementirano za ponude). |
note |
String | Ne | U slučaju tekstualne napomene na ponudi. Npr. vrijedi 7 dana. |
is_ino |
Bool 0 | 1 | Ne | Oznaka reverse charge na ponudi (default 0). |
lang |
String english | german | Ne | Dodatni jezik na ponudi |
is_barcode |
Bool 0 | 1 | Ne | Generiranje 2D barkoda/QR u PDF-u. Radi backward kompatibilnosti prihvaćen je i alias is_barcoede. |
account_id |
Integer | Ne | ID računa / IBAN-a iz get_ibans(). Ako je poslan, veže se na dokument. Uz is_barcode=1 koristi se i za barkod/QR. Alias: qr_account. |
placanje_model |
String | Ne | Model plaćanja za barkod/QR (npr. 00). Ako nije poslan, koristi se 00. Podržan je i alias qr_model. |
placanje_poziv |
String | Ne | Poziv na broj za barkod/QR. Ako nije poslan, koristi se broj dokumenta. Podržan je i alias qr_poziv. |
| quote_services | Objekt | Da | Podaci o stavkama ponude. |
name |
String | Da | Naziv stavke (usluge/proizvoda) |
description |
String | Ne | Opis stavke (usluge/proizvoda) |
is_per_hour |
Bool 0 | 1 | Da | U slučaju da je stavka količinska (ima mjernu jedinicu: kom, h, m2...) |
rabat |
Decimal | Ne | U slučaju da stavka ima definiran rabat. Šalje se postotak rabata. |
Primjer zahtjeva
{
"auth_token": {
"token": "xxxxxxxxxxxx"
},
"client": {
"client_oib": "85883135279",
"client_name": "Revoloop d.o.o.",
"client_type": "pravna",
"client_country": "Hrvatska",
"client_city": "Zagreb",
"client_address": "Ostrogovi\u0107eva 3",
"client_zip": "10000",
"client_phone": "+385997315718",
"client_email": "dejan@revoloop.hr"
},
"quote": {
"total_without_vat": 8,
"total_with_vat": 10,
"total_rabat_amount": 0,
"paid_without_vat": 8,
"paid_with_vat": 10,
"is_hourly_billable": false,
"is_rabat": true,
"date": "2023-03-21 14:01:19",
"due_date": "2023-03-28",
"note": "Napomena na ra\u010dunu",
"is_barcode": true,
"account_id": 1,
"placanje_model": "00",
"placanje_poziv": "PON-2026-0001"
},
"quote_services": [
{
"name": "testna usluga",
"description": "opis testne usluge",
"is_per_hour": false,
"price_without_vat": 9.9,
"price_without_vat_netto": 11,
"vat_percentage": 25,
"price_with_vat": 12.38,
"rabat": 10
},
{
"name": "testna usluga",
"description": "opis testne usluge",
"is_per_hour": false,
"price_without_vat": 9.9,
"price_without_vat_netto": 11,
"vat_percentage": 25,
"price_with_vat": 12.38,
"rabat": 10
}
]
}
Mogući odgovori
| Status | Povratne vrijednosti | Opis |
|---|---|---|
true |
|
Uspješno generirana ponuda; vraća se ID ponude, broj ponude i link za PDF datoteku. |
false |
|
Pogreška Moguće poruke:
|