Fakturko API

Dokumentacija


  • Izrađeno: 12.06.2023.
  • Zadnje ažuriranje: 07.12.2024.

U slučaju bilo kakvih pitanja ili nejasnoća, javite nam se putem kontakt forme na fakturko.hr na mail podrska@fakturko.hr ili chatom iz Fakturko aplikacije.


Korisnički račun

Prije spajanja na Fakturko API, potrebno je kreirati korisnički račun na Fakturko.Hr te se obratiti korisničkoj podršci kako bi dobili korisničko ime/lozinku za API pristup.


Sigurnost

Za svaki upit prema Fakturko API-ju potrebno je koristiti autorizacijski token. Jednom generirani token traje 48h, a moguće ga je zatražiti metodom get_auth_token() uz korisničko ime i lozinku koju ćete dobiti od Fakturko podrške.


Endpoint

Za produkcijsko okruženje te tijekom razvoja i testiranja Fakturko API-ja se koriste različiti endpointovi. Oni su:

Testna okolina https://testapi.fakturko.hr
Produkcija https://api.fakturko.hr

Korisnički podaci koje ćete dobiti od Fakturko podrške se također razlikuju u testnoj okolini te produkcijskoj.


Važna napomena

Iznosi koji se šalju kod izrade fakture ili ponude se ne reevaluiraju i/ili validiraju na strani API-ja te su korisnici sukladno uvjetima korištenja na fakturko.hr odgovorni za iznose pojedinih usluga, iznose poreza i ukupne iznose faktura koje šalju putem API-ja.
Ovo je naročito važno kod izrade fiskalnih faktura jer se iznosi ne validiraju niti na strani API-ja Porezne uprave!

Autentifikacija

get_auth_token()

Dohvaća autentifikacijski token za korisnika na temelju poslanih podataka za autentifikaciju.

Metoda

POST

URL

/api/get_auth_token

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
{
    "status": "true",
    "token": "2f6e11e78b8f09c1"
}
Uspješno generiran autentifikacijski token.
false
{
    "status": "false",
    "message": "Greska prilikom generiranja tokena"
}
Pogreška
Moguće poruke:

Greska prilikom generiranja tokena

Korisnik nije autoriziran i nije pronađen u bazi podataka

Nisu svi obavezni parametri poslani u zahtjevu

Fakture

insert_invoice()

Ova API funkcija služi za unos računa u bazu podataka.

Metoda

POST

URL

/api/insert_invoice

Uvjeti

  • Podaci za autentifikaciju trebaju biti poslani kao JSON objekt.

Objekti u zahtjevu

Parametar Traženo Opis
auth_token Da Autentifikacijski token
client Da Podaci o klijentu
invoice Da Podaci o računu
invoice_services Da Popis usluga na računu

Postoji nekoliko načina unosa faktura

  1. Bez količinskih oznaka

    Unose se stavke fakture bez opisnih mjera (kom, sat, m2, itd.) i bez količina, već stavka sa ukupnim iznosom. Stavke npr. mogu biti usluga registracije domene; ukupan iznos 100€.

  2. Sa količinskim oznakama

    Unose se stavke fakture sa opisnim mjerama (kom, sat, m2, itd.) i sa količinama. Stavke npr. mogu biti programiranje; količina 2h; cijena po satu 20€; ukupan iznos stavke 40€.


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 faktura.
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
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 izdane fakture. K označava kartično plaćanje, G gotovinsko, a T transakcijsku uplatu.
is_paid Bool 0 | 1 Da U slučaju poslanog 1, tada će se na kreiranoj fakturi ispisati da je ona plaćena.
is_hourly_billable Bool 0 | 1 Da Potrebno poslati 0
total_without_vat Decimal Da Ukupan iznos fakture bez poreza.
total_with_vat Decimal Da Ukupan iznos fakture sa porezom.
paid_without_vat Decimal Ne Ukupan uplaćeni iznos, bez poreza.
paid_with_vat Decimal Ne Ukupan uplaćeni iznos, sa porezom.
date_paid Date (YYYY-mm-dd) Ne Datum uplate.
date Date (YYYY-mm-dd H:i:s) Da Datum fakture, sa vremenom
due_date Date (YYYY-mm-dd) Da Dospijeće plaćanja fakture
is_barcode Bool 0 | 1 Da U slučaju da se želi ispisati barkod za plaćanje na fakturi.
note String Ne U slučaju tekstualne napomene na računu. Npr. plaćeno po ponudi #5.
is_ino Bool 0 | 1 Ne U slučaju da se radi o inozemnom klijentu, PDV se na fakturi neće ispisati (reverse charge)
lang String english | german Ne Dodatni jezik na fakturi
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 0 | 1 Da Potrebno poslati 0
price_without_vat Decimal Da Cijena stavke, bez poreza
price_with_vat Decimal Da Cijena stavke, sa porezom
vat_percentage Decimal Da Postotak PDV-a

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": "podrska@fakturko.hr"
    },
    "invoice": {
        "payment_type": "T",
        "is_paid": true,
        "total_without_vat": 8,
        "total_with_vat": 10,
        "total_rabat_amount": 0,
        "paid_without_vat": 8,
        "paid_with_vat": 10,
        "is_hourly_billable": false,
        "date": "2023-03-21 14:01:19",
        "date_paid": "2023-03-23 11:02:11",
        "due_date": "2023-03-28",
        "note": "Napomena na ra\u010dunu",
        "is_barcode": true
    },
    "invoice_services": [
        {
            "name": "testna usluga",
            "description": "opis testne usluge",
            "is_per_hour": false,
            "price_without_vat": 9.9,
            "vat_percentage": 25,
            "price_with_vat": 12.38
        },
        {
            "name": "testna usluga",
            "description": "opis testne usluge",
            "is_per_hour": false,
            "price_without_vat": 9.9,
            "vat_percentage": 25,
            "price_with_vat": 12.38
        }
    ]
}

Mogući odgovori

Status Povratne vrijednosti Opis
true
{
    "status": "true",
    "message": "Racun je uspjesno dodan",
    "pdf_link": "link to pdf file",
    "invoice_id": 72484
}
Uspješno generirana faktura.
false
{
    "status": "false",
    "message": "Nedostaju obavezni parametri:
client, invoice, invoice_services" }
Pogreška
Moguće poruke:

Greska prilikom generiranja tokena

Korisnik nije autoriziran i nije pronađen u bazi podataka

Nisu svi obavezni parametri poslani u zahtjevu

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 faktura.
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
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 izdane fakture. K označava kartično plaćanje, G gotovinsko, a T transakcijsku uplatu.
is_paid Bool 0 | 1 Da U slučaju poslanog 1, tada će se na kreiranoj fakturi ispisati da je ona plaćena.
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 Ukupan uplaćeni iznos, bez poreza.
paid_with_vat Decimal Ne Ukupan uplaćeni iznos, sa porezom.
date_paid Date (YYYY-mm-dd) Ne Datum uplate.
is_hourly_billable Bool 0 | 1 Da U slučaju da su na fakturi iskazane stavke s količinama (sat, dan, komad, itd.).
date Date (YYYY-mm-dd H:i:s) Da Datum fakture, sa vremenom
due_date Date (YYYY-mm-dd) Da Dospijeće plaćanja fakture
note String Ne U slučaju tekstualne napomene na računu. Npr. plaćeno po ponudi #5.
is_ino Bool 0 | 1 Ne U slučaju da se radi o inozemnom klijentu, PDV se na fakturi neće ispisati (reverse charge)
lang String english | german Ne Dodatni jezik na fakturi
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 0 | 1 Da U slučaju da je stavka količinska (ima mjernu jedinicu: kom, h, m2...)
quantity_text String Da Mjerna jedinica: npr. kom, h, m2
hours Decimal Da Količina
price_without_vat_per_hour Decimal Da Iznos stavke, bez poreza, po jediničnoj količini
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": "podrska@fakturko.hr"
    },
    "invoice": {
        "payment_type": "T",
        "is_paid": true,
        "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": true,
        "date": "2023-03-21 14:01:19",
        "date_paid": "2023-03-23 11:02:11",
        "due_date": "2023-03-28",
        "note": "Napomena na ra\u010dunu",
        "is_barcode": true
    },
    "invoice_services": [
        {
            "name": "testna usluga",
            "description": "opis testne usluge",
            "is_per_hour": true,
            "hours": 5,
            "quantity_text": "kom",
            "price_without_vat": 50,
            "price_without_vat_per_hour": 10,
            "vat_percentage": 25,
            "price_with_vat": 56.25
        }
    ]
}

Mogući odgovori

Status Povratne vrijednosti Opis
true
{
    "status": "true",
    "message": "Racun je uspjesno dodan",
    "pdf_link": "link to pdf file",
    "invoice_id": 72484
}
Uspješno generirana faktura.
false
{
    "status": "false",
    "message": "Nedostaju obavezni parametri:
client, invoice, invoice_services" }
Pogreška
Moguće poruke:

Greska prilikom generiranja tokena

Korisnik nije autoriziran i nije pronađen u bazi podataka

Nisu svi obavezni parametri poslani u zahtjevu

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 faktura.
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
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 izdane fakture. K označava kartično plaćanje, G gotovinsko, a T transakcijsku uplatu.
is_paid Bool 0 | 1 Da U slučaju poslanog 1, tada će se na kreiranoj fakturi ispisati da je ona plaćena.
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.
is_rabat Bool 0 | 1 Da Postaviti u 1.
paid_without_vat Decimal Ne Ukupan uplaćeni iznos, bez poreza.
paid_with_vat Decimal Ne Ukupan uplaćeni iznos, sa porezom.
date_paid Date (YYYY-mm-dd) Ne Datum uplate.
is_hourly_billable Bool 0 | 1 Da U slučaju da su na fakturi iskazane stavke s količinama (sat, dan, komad, itd.).
date Date (YYYY-mm-dd H:i:s) Da Datum fakture, sa vremenom
due_date Date (YYYY-mm-dd) Da Dospijeće plaćanja fakture
note String Ne U slučaju tekstualne napomene na računu. Npr. plaćeno po ponudi #5.
is_ino Bool 0 | 1 Ne U slučaju da se radi o inozemnom klijentu, PDV se na fakturi neće ispisati (reverse charge)
lang String english | german Ne Dodatni jezik na fakturi
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 0 | 1 Da U slučaju da je stavka količinska (ima mjernu jedinicu: kom, h, m2...)
rabat Decimal Ne Postotak popusta na razini artikla.
price_without_vat_per_hour Decimal Ne Iznos stavke, bez poreza, bez rabata, po jediničnoj količini (ako je postavljeno is_per_hour u 1)
price_without_vat Decimal Da Cijena s uračunatim popustom, bez poreza.
price_with_vat Decimal Da Cijena s uračunatim popustom, sa porezom.

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": "podrska@fakturko.hr"
    },
    "invoice": {
        "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_hourly_billable": true,
        "is_rabat": true,
        "date": "2024-12-14 20:45:03",
        "is_barcode": false,
        "payment_type": "T",
        "note": "Order ID: #18155",
        "invoice_type": "advance",
        "is_paid": true
    },
    "invoice_services": [
        {
            "name": "Naziv usluge 1",
            "description": "Opis usluge 1",
            "is_per_hour": true,
            "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,
            "rabat": 5
        },
        {
            "name": "Naziv usluge 2",
            "description": "Opis usluge 2",
            "is_per_hour": true,
            "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,
            "rabat": 5
        }
    ]
}

Mogući odgovori

Status Povratne vrijednosti Opis
true
{
    "status": "true",
    "message": "Racun je uspjesno dodan",
    "pdf_link": "link to pdf file",
    "invoice_id": 72484
}
Uspješno generirana faktura.
false
{
    "status": "false",
    "message": "Nedostaju obavezni parametri:
client, invoice, invoice_services" }
Pogreška
Moguće poruke:

Greska prilikom generiranja tokena

Korisnik nije autoriziran i nije pronađen u bazi podataka

Nisu svi obavezni parametri poslani u zahtjevu

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 faktura.
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
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 izdane fakture. K označava kartično plaćanje, G gotovinsko, a T transakcijsku uplatu.
is_paid Bool 0 | 1 Da U slučaju poslanog 1, tada će se na kreiranoj fakturi ispisati da je ona plaćena.
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 Ukupan uplaćeni iznos, bez poreza.
paid_with_vat Decimal Ne Ukupan uplaćeni iznos, sa porezom.
date_paid Date (YYYY-mm-dd) Ne Datum uplate.
is_hourly_billable Bool 0 | 1 Da U slučaju da su na fakturi iskazane stavke s količinama (sat, dan, komad, itd.).
date Date (YYYY-mm-dd H:i:s) Da Datum fakture, sa vremenom
due_date Date (YYYY-mm-dd) Da Dospijeće plaćanja fakture
note String Ne U slučaju tekstualne napomene na računu. Npr. plaćeno po ponudi #5.
is_ino Bool 0 | 1 Ne U slučaju da se radi o inozemnom klijentu, PDV se na fakturi neće ispisati (reverse charge)
lang String english | german Ne Dodatni jezik na fakturi
posl_jedinice_id Int Ne ID poslovne jedinice, dobiven iz metode get_poslovne_jedinice()
napl_uredaj_id Int Ne ID naplatnog uređaja dobiven iz metode get_naplatni_uredaj()
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 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": "podrska@fakturko.hr"
    },
    "invoice": {
        "payment_type": "T",
        "is_paid": true,
        "total_without_vat": 8,
        "total_with_vat": 10,
        "total_rabat_amount": 0,
        "paid_without_vat": 8,
        "paid_with_vat": 10,
        "is_hourly_billable": false,
        "date": "2023-03-21 14:01:19",
        "date_paid": "2023-03-23 11:02:11",
        "due_date": "2023-03-28",
        "note": "Napomena na ra\u010dunu",
        "is_barcode": true
    },
    "invoice_services": [
        {
            "name": "testna usluga",
            "description": "opis testne usluge",
            "is_per_hour": false,
            "price_without_vat": 9.9,
            "vat_percentage": 25,
            "price_with_vat": 12.38
        },
        {
            "name": "testna usluga",
            "description": "opis testne usluge",
            "is_per_hour": false,
            "price_without_vat": 9.9,
            "vat_percentage": 25,
            "price_with_vat": 12.38
        }
    ]
}

Mogući odgovori

Status Povratne vrijednosti Opis
true
{
    "status": "true",
    "message": "Racun je uspjesno dodan",
    "pdf_link": "link to pdf file",
    "invoice_id": 72484
}
Uspješno generirana faktura.
false
{
    "status": "false",
    "message": "Nedostaju obavezni parametri:
client, invoice, invoice_services" }
Pogreška
Moguće poruke:

Greska prilikom generiranja tokena

Korisnik nije autoriziran i nije pronađen u bazi podataka

Nisu svi obavezni parametri poslani u zahtjevu

Poslan je krivi napl_uredaj_id ili posl_jedinice_id za odabrani tip fakture (npr. želi se kreirati fiskalna faktura za poslovnu jeidnicu/naplatni uređaj koji nije označen za fiskalni niz)

Nedostaju parametri napl_uredaj_id ili posl_jedinice_id

Uvjeti

  • Podaci za autentifikaciju trebaju biti poslani kao JSON objekt.
  • potrebno je imati unesen fiskalni certifikat
  • potrebno je imati unesenu lozinku certifikata
  • potrebno je imati unesen OIB operatera i oznaku operatera, upisane u temeljni akt poduzeća/obrta
  • potrebno je imati unesene oznake poslovnih prostora i naplatnih uređaja, koje se mogu dohvatiti metodama, upisane u temeljni akt poduzeća/obrta
  • oznake poslovnih prostora i naplatnih uređaja se unose u postavkama Fakturka
  • potrebno je API-ju poslati ID poslovnog prostora te ID naplatnog uređaja

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 faktura.
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
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 izdane fakture. K označava kartično plaćanje, G gotovinsko, a T transakcijsku uplatu.
is_paid Bool 0 | 1 Da U slučaju poslanog 1, tada će se na kreiranoj fakturi ispisati da je ona plaćena.
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 Ukupan uplaćeni iznos, bez poreza.
paid_with_vat Decimal Ne Ukupan uplaćeni iznos, sa porezom.
date_paid Date (YYYY-mm-dd) Ne Datum uplate.
is_hourly_billable Bool 0 | 1 Da U slučaju da su na fakturi iskazane stavke s količinama (sat, dan, komad, itd.).
date Date (YYYY-mm-dd H:i:s) Da Datum fakture, sa vremenom
due_date Date (YYYY-mm-dd) Da Dospijeće plaćanja fakture
note String Ne U slučaju tekstualne napomene na računu. Npr. plaćeno po ponudi #5.
is_ino Bool 0 | 1 Ne U slučaju da se radi o inozemnom klijentu, PDV se na fakturi neće ispisati (reverse charge)
lang String english | german Ne Dodatni jezik na fakturi
posl_jedinice_id Int Ne ID poslovne jedinice, dobiven iz metode get_poslovne_jedinice()
napl_uredaj_id Int Ne ID naplatnog uređaja dobiven iz metode get_naplatni_uredaj()
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 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": "podrska@fakturko.hr"
    },
    "invoice": {
        "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_hourly_billable": true,
        "is_rabat": true,
        "date": "2024-12-14 20:45:03",
        "is_barcode": false,
        "payment_type": "K",
        "fiskalisation": {
            "is_enabled": true
        },
        "note": "Order ID: #18155",
        "invoice_type": "advance",
        "posl_jedinice_id": "2",
        "napl_uredaj_id": "2",
        "is_paid": true
    },
    "invoice_services": [
        {
            "name": "Naziv usluge 1",
            "description": "Opis usluge 1",
            "is_per_hour": true,
            "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,
            "rabat": 5
        },
        {
            "name": "Naziv usluge 2",
            "description": "Opis usluge 2",
            "is_per_hour": true,
            "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,
            "rabat": 5
        }
    ]
}

Mogući odgovori

Status Povratne vrijednosti Opis
true
{
    "status": "true",
    "message": "Racun je uspjesno dodan",
    "pdf_link": "link to pdf file",
    "invoice_id": 72484
}
Uspješno generirana faktura.
false
{
    "status": "false",
    "message": "Nedostaju obavezni parametri:
client, invoice, invoice_services" }
Pogreška
Moguće poruke:

Greska prilikom generiranja tokena

Korisnik nije autoriziran i nije pronađen u bazi podataka

Nisu svi obavezni parametri poslani u zahtjevu

Poslan je krivi napl_uredaj_id ili posl_jedinice_id za odabrani tip fakture (npr. želi se kreirati fiskalna faktura za poslovnu jeidnicu/naplatni uređaj koji nije označen za fiskalni niz)

Nedostaju parametri napl_uredaj_id ili posl_jedinice_id

Faktura nije spremljena! Došlo je do pogreške prilikom fiskalizacije fakture!


Insert storno invoice

Unos nove storno fakture

Metoda

POST

URL

/api/storno_invoice

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
Parametar Traženo Opis
invoice Da Podaci o računu
auth_token Da Autentifikacijski token

Primjer zahtjeva

{
    "invoice": {
        "invoice_id": 72566
    }
}

Primjer odgovora

{
    "status": "true",
    "message": "Racun je uspjesno dodan",
    "pdf_link": "link to pdf file",
    "invoice_id": 72484
}

insert_quote()

Ova API funkcija omogućuje unos ponude u bazu podataka.

Metoda

POST

URL

/api/insert_quote

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 faktura.
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 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 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 fakturi iskazane stavke s količinama (sat, dan, komad, itd.).
date Date (YYYY-mm-dd H:i:s) Da Datum fakture, sa vremenom
due_date Date (YYYY-mm-dd) Da Dospijeće plaćanja fakture
note String Ne U slučaju tekstualne napomene na računu. Npr. plaćeno po ponudi #5.
is_ino Bool 0 | 1 Ne U slučaju da se radi o inozemnom klijentu, PDV se na fakturi neće ispisati (reverse charge)
lang String english | german Ne Dodatni jezik na fakturi
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
    },
    "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
{
    "status": "true",
    "message": "Ponuda je uspjesno dodana",
    "pdf_link": "link to pdf file"
}
Uspješno generirana ponuda; vraća se ID ponude i link za PDF datoteku.
false
{
    "status": "false",
    "message": "Nedostaju obavezni parametri:
client, quote, quote_services" }
Pogreška
Moguće poruke:

Nedostaju obavezni parametri: client, quote, quote_services

Pogreška kod unosa klijenta

Pogreška pri dodavanju ponude

Nepostojeći company id

Nepostojeći token


Poslovni prostori / naplatni uređaji

get_poslovne_jedinice()

Ova API funkcija omogućuje dohvat poslovnih prostora iz baze podataka.

Metoda

POST

URL

/api/get_poslovne_jedinice

Uvjeti

  • Podaci za autentifikaciju trebaju biti poslani kao JSON objekt.

Parametri zahtjeva

Parametar Traženo Opis
invoice_type Da Tip fakture (fiskalisation | plain)
auth_token Da Autentifikacijski token

Primjer zahtjeva

{
    "auth_token": {
        "token": "xxxxxxxxxxxx"
    },
    "invoice_type": "fiskalisation"
}

Mogući odgovori

Status Povratne vrijednosti Opis
true
{
    "status": "true",
    "poslovne_jedinice": {
        "id": "73",
        "company_id": "1",
        "fiskalisation_oznaka_poslovne_jedinice": "POSL1",
        "is_for_fiskalisation": "1",
        "is_for_transaction": "0"
    }
}
Uspješno dohvaćene poslovne jedinice, prema željenom tipu (fiskalne fakture ili plain/transakcijske)
false
{
    "status": "false",
    "message": "Pravni subjekt nema unesene poslovne jedinice"
}
Pogreška
Moguće poruke:

Nedostaju obavezni parametri: invoice_type, auth_token

Pravni subjekt nema unesene poslovne jedinice

Pravni subjekt nije u kompleksnom načinu generiranja brojeva računa

Nepostojeći company id

Nepostojeći token

get_naplatni_uredaj()

Ova API funkcija omogućuje dohvat naplatnih uređaja iz baze podataka.

Metoda

POST

URL

/api/get_naplatni_uredaj

Uvjeti

  • Podaci za autentifikaciju trebaju biti poslani kao JSON objekt.

Parametri zahtjeva

Parametar Traženo Opis
invoice_type Da Tip fakture (fiskalisation | plain)
auth_token Da Autentifikacijski token

Primjer zahtjeva

{
    "auth_token": {
        "token": "xxxxxxxxxxxx"
    },
    "poslovna_jedinica_id": 73
}

Mogući odgovori

Status Povratne vrijednosti Opis
true
{
    "status": "true",
    "naplatni_uredaji": {
        "id": "81",
        "company_id": "1",
        "poslovna_jedinica_id": "73",
        "fiskalisation_oznaka_naplatnog_uredaja": "01",
        "is_for_fiskalisation": "1",
        "is_for_transaction": "0"
    }
}
Uspješno dohvaćeni naplatni uređaji, prema željenom tipu (fiskalne fakture ili plain/transakcijske) i prema poslanom ID-u poslovne jedinice
false
{
    "status": "false",
    "message": "Pravni subjekt nije u kompleksnom na\u010dinu generiranja brojeva ra\u010duna"
}
Pogreška
Moguće poruke:

Nedostaju obavezni parametri: invoice_type, auth_token

Pravni subjekt nema unesene naplatne uređaje!

Pravni subjekt nije u kompleksnom načinu generiranja brojeva računa

Nepostojeći company id

Nepostojeći token