Poprzez API ifirma.pl możliwe jest wprowadzanie do systemu następujących dokumentów wydatkowych:
- Faktura za zakup towarów handlowych lub materiałów
- Faktura za zakup będący kosztem
- Inne dokumenty za zakup będący kosztem
- Opłata za telefon/internet
- Wykorzystanie danych kontrahenta istniejącego w bazie
Faktura za zakup towarów handlowych lub materiałów
W celu wprowadzenia faktury za zakup towarów handlowych lub materiałów należy przesłać żądanie (POST) na adres:
https://www.ifirma.pl/iapi/zakuptowaruvat.json
Przesyłane żądanie jest zestawem danych faktury w formacie przedstawionym poniżej.
Nazwa w JSON | Typ danych | Wartości | Wymagane | Opis |
---|---|---|---|---|
NumerFaktury | String | >= 1 znak; <= 50 znaków |
T | Numer faktury VAT |
DataWystawienia | String | Format: RRRR-MM-DD; data z zakresu ustawionego miesiąca księgowego; |
T | Data wystawienia faktury |
DataWplywu | String | Format: RRRR-MM-DD; >= data wystawienia; data z zakresu ustawionego miesiąca księgowego |
N | Data wpływu faktury |
TerminPlatnosci | String | Format: RRRR-MM-DD | N | Termin płatności za fakturę |
RodzajSprzedazy | String | Podawane tylko dla VATowca: OP (opodatkowana); ZW (zwolniona); OPIZW (opodatkowana i zwolniona) |
T | Rodzaj sprzedaży |
IdentyfikatorKontrahenta | String | <= 15 znaków | N | Identyfikator kontrahenta |
PrefiksUEKontrahenta | String | <= 2 znaki | N | Prefiks UE kontrahenta |
NIPKontrahenta | String | <= 13 znaków | N | Numer NIP kontrahenta |
NazwaWydatku | String | >= 1 znak; <= 50 znaków |
T | Nazwa wydatku |
KwotaNetto23 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 23% |
KwotaNetto08 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 8% |
KwotaNetto05 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 5% |
KwotaNetto00 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 0% |
KwotaNettoZw | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = zw. |
KwotaVat23 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 23% |
KwotaVat08 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 8% |
KwotaVat05 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 5% |
Kontrahent | ||||
Nazwa | String | >= 1 znak;<= 150 znaków | T | Nazwa firmy kontrahenta |
Nazwa2 | String | <= 150 znaków | N | Nazwa firmy kontrahenta |
Identyfikator | String | <= 15 znaków; null (zostanie wygenerowany automatycznie) | N | Identyfikatora kontrahenta |
PrefiksUE | String | <= 2 znaki | N | Prefiks UE kontrahenta |
NIP | String | <= 13 znaków | N | Numer NIP kontrahenta |
Ulica | String | <= 65 znaków | N | Ulica siedziby firmy kontrahenta |
KodPocztowy | String | >= 1 znak; <= 16 znaków |
T | Kod pocztowy kontrahenta |
Kraj | String | <= 70 znaków | N | Kraj siedziby firmy kontrahenta |
Miejscowosc | String | >= 1 znak; <= 65 znaków |
T | Miejscowość siedziby firmy kontrahenta |
String | <= 65 znaków | N | Adres e-mail kontrahenta | |
Telefon | String | <= 32 znaki | N | Numer telefonu kontrahenta |
OsobaFizyczna | Boolean | true; false | N | Określa czy kontrahent jest osobą fizyczną (domyslnie: false)) |
JestOdbiorca | Boolean | true; false | N | Określa czy kontrahent jest odbiorcą (domyślnie: true) |
JestDostawca | Boolean | true; false | N | Określa czy kontrahent jest dostawcą (domyślnie: true) |
Przykładowa zawartość żądania (JSON):
{
"NumerFaktury": "4/2010",
"DataWystawienia": "2010-05-28",
"DataWplywu": "2010-05-30",
"TerminPlatnosci": "2010-06-09",
"NazwaWydatku": "zakup",
"KwotaNetto23": 276.00,
"KwotaNetto08": 29.00,
"KwotaNetto05": 0.00,
"KwotaNetto00": 0.00,
"KwotaNettoZw": 0.00,
"RodzajSprzedazy": "OP",
"KwotaVat05": null,
"KwotaVat08": null,
"KwotaVat23": null,
"Kontrahent":
{
"Nazwa": "Imie Nazwisko",
"Identyfikator": null,
"PrefiksUE": null,
"NIP": null,
"OsobaFizyczna": true,
"Ulica": "Ulica",
"KodPocztowy": "11-111",
"Kraj": "Polska",
"Miejscowosc": "Miasto",
"Email": "em@il.pl",
"Telefon": "111111111"
}
}
Faktura za zakup będący kosztem
W celu wprowadzenia faktury za zakup będący kosztem należy przesłać żądanie (POST) na adres:
https://www.ifirma.pl/iapi/kosztdzialalnoscivat.json
Przesyłane żądanie jest zestawem danych faktury w formacie przedstawionym poniżej.
Nazwa w JSON | Typ danych | Wartości | Wymagane | Opis |
---|---|---|---|---|
NumerFaktury | String | >= 1 znak; <= 50 znaków |
T | Numer faktury VAT |
DataWystawienia | String | Format: RRRR-MM-DD; data z zakresu ustawionego miesiąca księgowego; |
T | Data wystawienia faktury |
DataWplywu | String | Format: RRRR-MM-DD; >= data wystawienia; data z zakresu ustawionego miesiąca księgowego |
N | Data wpływu faktury |
TerminPlatnosci | String | Format: RRRR-MM-DD | N | Termin płatności za fakturę |
RodzajSprzedazy | String | Podawane tylko dla VATowca: OP (opodatkowana); ZW (zwolniona); OPIZW (opodatkowana i zwolniona) |
T | Rodzaj sprzedaży |
IdentyfikatorKontrahenta | String | <= 15 znaków | N | Identyfikator kontrahenta |
PrefiksUEKontrahenta | String | <= 2 znaki | N | Prefiks UE kontrahenta |
NIPKontrahenta | String | <= 13 znaków | N | Numer NIP kontrahenta |
NazwaWydatku | String | >= 1 znak; <= 50 znaków |
T | Nazwa wydatku |
KwotaNetto23 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 23% |
KwotaNetto08 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 8% |
KwotaNetto05 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 5% |
KwotaNetto00 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 0% |
KwotaNettoZw | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = zw. |
KwotaVat23 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 23% |
KwotaVat08 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 8% |
KwotaVat05 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 5% |
Kontrahent | ||||
Nazwa | String | >= 1 znak;<= 150 znaków | T | Nazwa firmy kontrahenta |
Nazwa2 | String | <= 150 znaków | N | Nazwa firmy kontrahenta |
Identyfikator | String | <= 15 znaków; null (zostanie wygenerowany automatycznie) | N | Identyfikatora kontrahenta |
PrefiksUE | String | <= 2 znaki | N | Prefiks UE kontrahenta |
NIP | String | <= 13 znaków | N | Numer NIP kontrahenta |
Ulica | String | <= 65 znaków | N | Ulica siedziby firmy kontrahenta |
KodPocztowy | String | >= 1 znak; <= 16 znaków |
T | Kod pocztowy kontrahenta |
Kraj | String | <= 70 znaków | N | Kraj siedziby firmy kontrahenta |
Miejscowosc | String | >= 1 znak; <= 65 znaków |
T | Miejscowość siedziby firmy kontrahenta |
String | <= 65 znaków | N | Adres e-mail kontrahenta | |
Telefon | String | <= 32 znaki | N | Numer telefonu kontrahenta |
OsobaFizyczna | Boolean | true; false | N | Określa czy kontrahent jest osobą fizyczną (domyslnie: false)) |
JestOdbiorca | Boolean | true; false | N | Określa czy kontrahent jest odbiorcą (domyślnie: true) |
JestDostawca | Boolean | true; false | N | Określa czy kontrahent jest dostawcą (domyślnie: true) |
Przykładowa zawartość żądania (JSON):
{
"NumerFaktury": "2/2010",
"DataWystawienia": "2010-05-28",
"DataWplywu": "2010-05-29",
"TerminPlatnosci": "2010-06-09",
"NazwaWydatku": "koszt",
"KwotaNetto23": 56.00,
"KwotaNetto08": 20.00,
"KwotaNetto05": 0.00,
"KwotaNetto00": 0.00,
"KwotaNettoZw": 0.00,
"RodzajSprzedazy": "OP",
"KwotaVat05": null,
"KwotaVat08": null,
"KwotaVat23": 12.32,
"Kontrahent":
{
"Nazwa": "Imie Nazwisko",
"Identyfikator": null,
"PrefiksUE": null,
"NIP": null,
"OsobaFizyczna": true,
"Ulica": "Ulica",
"KodPocztowy": "11-111",
"Kraj": "Polska",
"Miejscowosc": "Miasto",
"Email": "em@il.pl",
"Telefon": "111111111"
}
}
Inne dokumenty za zakup będący kosztem
W celu wprowadzenia innego dokumentu za zakup będący kosztem należy przesłać żądanie (POST) na adres:
https://www.ifirma.pl/iapi/kosztdzialalnosci.json
Przesyłane żądanie jest zestawem danych faktury w formacie przedstawionym poniżej.
Nazwa w JSON | Typ danych | Wartości | Wymagane | Opis |
---|---|---|---|---|
RodzajDokumentu | String | RACH (rachunek); PAR (paragon); DOW_DOST (dowód dostawy); UM (umowa); DOW_DOST (dowód dostawy); DOW_OPL (dowód opłaty); NOTA_KS (nota księgowa); POKW_ODB (pokwitowanie odbioru); BIL (bilet) | T | Rodzaj dokumentu za wydatek |
NumerDokumentu | String | >= 1 znak; <= 50 znaków |
T | Numer dokumentu za wydatek |
DataWystawienia | String | Format: RRRR-MM-DD; data z zakresu ustawionego miesiąca księgowego |
T | Data wystawienia dokumentu |
DataWplywu | String | Format: RRRR-MM-DD; >= data wystawienia data z zakresu ustawionego miesiąca księgowego |
N | Data wpływu dokumentu |
TerminPlatnosci | String | Format: RRRR-MM-DD | T | Termin płatności |
NazwaWydatku | String | >= 1 znak; <= 50 znaków |
T | Nazwa wydatku |
Kwota | Number | > 0.00 <= 10 cyfr; < 100000000 |
T | Kwota wydatku |
RodzajSprzedazy | String | Podawane tylko dla VATowca: OP (opodatkowana); ZW (zwolniona); OPIZW (opodatkowana i zwolniona) |
T | Rodzaj sprzedaży |
IdentyfikatorKontrahenta | String | <= 15 znaków | N | Identyfikator kontrahenta |
PrefiksUEKontrahenta | String | <= 2 znaki | N | Prefiks UE kontrahenta |
Kontrahent | ||||
Nazwa | String | >= 1 znak;<= 150 znaków | T | Nazwa firmy kontrahenta |
Nazwa2 | String | <= 150 znaków | N | Nazwa firmy kontrahenta |
Identyfikator | String | <= 15 znaków; null (zostanie wygenerowany automatycznie) | N | Identyfikatora kontrahenta |
PrefiksUE | String | <= 2 znaki | N | Prefiks UE kontrahenta |
NIP | String | <= 13 znaków | N | Numer NIP kontrahenta |
Ulica | String | <= 65 znaków | N | Ulica siedziby firmy kontrahenta |
KodPocztowy | String | >= 1 znak; <= 16 znaków |
T | Kod pocztowy kontrahenta |
Kraj | String | <= 70 znaków | N | Kraj siedziby firmy kontrahenta |
Miejscowosc | String | >= 1 znak; <= 65 znaków |
T | Miejscowość siedziby firmy kontrahenta |
String | <= 65 znaków | N | Adres e-mail kontrahenta | |
Telefon | String | <= 32 znaki | N | Numer telefonu kontrahenta |
OsobaFizyczna | Boolean | true; false | N | Określa czy kontrahent jest osobą fizyczną (domyslnie: false)) |
JestOdbiorca | Boolean | true; false | N | Określa czy kontrahent jest odbiorcą (domyślnie: true) |
JestDostawca | Boolean | true; false | N | Określa czy kontrahent jest dostawcą (domyślnie: true) |
Przykładowa zawartość żądania (JSON):
{
"RodzajDokumentu" : "PAR",
"NumerDokumentu" : "146745",
"DataWystawienia" : "2010-05-29",
"DataWplywu" : "2010-05-30",
"TerminPlatnosci": "2010-06-12",
"NazwaWydatku" : "wydatek",
"Kwota" : 298.00,
"Kontrahent":
{
"Nazwa": "Imie Nazwisko",
"Identyfikator": null,
"PrefiksUE": null,
"NIP": null,
"OsobaFizyczna": true,
"Ulica": "Pomorska 12",
"KodPocztowy": "12-345",
"Kraj": "Polska",
"Miejscowość": "Wrocław",
"Email": "mail@email.pl",
"Telefon": "123555444"
}
}
Opłata za telefon/internet
W celu wprowadzenia opłaty za telefon lub internet należy przesłać żądanie (POST) na adres:
https://www.ifirma.pl/iapi/oplatatelefon.json
Przesyłane żądanie jest zestawem danych faktury w formacie przedstawionym poniżej.
Nazwa w JSON | Typ danych | Wartości | Wymagane | Opis |
---|---|---|---|---|
NumerFaktury | String | >= 1 znak; <= 50 znaków |
T | Numer faktury VAT |
DataWystawienia | String | Format: RRRR-MM-DD; data z zakresu ustawionego miesiąca księgowego; |
T | Data wystawienia faktury |
DataWplywu | String | Format: RRRR-MM-DD; >= data wystawienia; data z zakresu ustawionego miesiąca księgowego |
N | Data wpływu faktury |
TerminPlatnosci | String | Format: RRRR-MM-DD | N | Termin płatności za fakturę |
RodzajSprzedazy | String | Podawane tylko dla VATowca: OP (opodatkowana); ZW (zwolniona); OPIZW (opodatkowana i zwolniona) |
T | Rodzaj sprzedaży |
IdentyfikatorKontrahenta | String | <= 15 znaków | N | Identyfikator kontrahenta |
PrefiksUEKontrahenta | String | <= 2 znaki | N | Prefiks UE kontrahenta |
NIPKontrahenta | String | <= 13 znaków | N | Numer NIP kontrahenta |
NazwaWydatku | String | >= 1 znak; <= 50 znaków |
T | Nazwa wydatku |
KwotaNetto23 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 23% |
KwotaNetto08 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 8% |
KwotaNetto05 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 5% |
KwotaNetto00 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = 0% |
KwotaNettoZw | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Kwota wydatku netto w stawce VAT = zw. |
KwotaVat23 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 23% |
KwotaVat08 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 8% |
KwotaVat05 | Number | >= 0.00; <= 10 cyfr; < 100000000 |
T | Wartość podatku VAT w stawce 5% |
Kontrahent | ||||
Nazwa | String | >= 1 znak;<= 150 znaków | T | Nazwa firmy kontrahenta |
Nazwa2 | String | <= 150 znaków | N | Nazwa firmy kontrahenta |
Identyfikator | String | <= 15 znaków; null (zostanie wygenerowany automatycznie) | N | Identyfikatora kontrahenta |
PrefiksUE | String | <= 2 znaki | N | Prefiks UE kontrahenta |
NIP | String | <= 13 znaków | N | Numer NIP kontrahenta |
Ulica | String | <= 65 znaków | N | Ulica siedziby firmy kontrahenta |
KodPocztowy | String | >= 1 znak; <= 16 znaków |
T | Kod pocztowy kontrahenta |
Kraj | String | <= 70 znaków | N | Kraj siedziby firmy kontrahenta |
Miejscowosc | String | >= 1 znak; <= 65 znaków |
T | Miejscowość siedziby firmy kontrahenta |
String | <= 65 znaków | N | Adres e-mail kontrahenta | |
Telefon | String | <= 32 znaki | N | Numer telefonu kontrahenta |
OsobaFizyczna | Boolean | true; false | N | Określa czy kontrahent jest osobą fizyczną (domyslnie: false)) |
JestOdbiorca | Boolean | true; false | N | Określa czy kontrahent jest odbiorcą (domyślnie: true) |
JestDostawca | Boolean | true; false | N | Określa czy kontrahent jest dostawcą (domyślnie: true) |
{
"NumerFaktury": "13/2014",
"DataWystawienia": "2014-07-21",
"DataWplywu": "2014-07-22",
"TerminPlatnosci": "2014-08-05",
"NazwaWydatku": "Opłata za telefon",
"KwotaNetto23": 100.00,
"KwotaNetto08": 0.00,
"KwotaNetto05": 0.00,
"KwotaNetto00": 0.00,
"KwotaNettoZw": 0.00,
"RodzajSprzedazy": "OP",
"KwotaVat23": 23.00,
"KwotaVat08": null,
"KwotaVat05": null,
"Kontrahent":
{
"Nazwa": "Adam Wójcik",
"Identyfikator": null,
"PrefiksUE": null,
"NIP": null,
"OsobaFizyczna": true,
"Ulica": "Pomorska 74"
"KodPocztowy": "12-642",
"Kraj": "Polska",
"Miejscowosc": "Wrocław",
"Email": "mail@email.pl",
"Telefon": "222111896"
}
}
Wykorzystanie danych kontrahenta istniejącego w bazie
Przesylając dokument wydatku można przypisać go do kontrahenta, który istnieje w bazie kontrahentów użytkownika. W tym celu należy wykorzystać następujące pola w żądaniu:
- IdentyfikatorKontrahenta
- PrefiksUEKontrahenta
- NIPKontrahenta
Mechanizm działa następująco:
- Wyszukiwanie w pierwszej kolejności odbywa się po identyfikatorze kontrahenta przekazanym w polu IdentyfikatorKontrahenta.
- Nieodnalezienie pasującego kontrahenta po podanym identyfikatorze lub niepodanie pola IdentyfikatorKontrahenta powoduje wyszukanie kontrahenta po prefiksie UE i numerze NIP przekazanym w polach PrefiksUEKontrahenta i NIPKontrahenta. Jeśli nie podano prefiksu UE, to wyszukiwanie odbywa się po samym numerze NIP spośród kontrahentów, którzy nie mają zapisanego prefiksu Ue lub mają określony jako „PL”.
- Brak dopasowania na podstawie powyższych pól powoduje utworzenie w bazie nowego kontrahenta na podstawie danych z obiektu Kontrahent.
- W przypadku braku możliwości utworzenia nowego kontrahenta zwracany jest komunikat błędu.