API - Informacje ogólne

Comarch ERP XT API działa w oparciu o protokół HTTP i jego metody (GET, POST, PUT, DELETE) oraz zasoby, które odzwierciedlają poszczególne funkcjonalności serwisu. Uwierzytelnianie realizowane jest w standardzie OAuth 2.0 (więcej o uwierzytelnianiu - API Instrukcja Użytkownika). Dostęp do API odbywa się poprzez połączenie HTTPS do serwera app.erpxt.pl. Dane są wysyłane i odbierane z serwera w formacie JSON.
Wskazówka
Historia zmian w publicznym API Comarch ERP XT dostępna jest w artykule: API - Historia zmian
Dostęp do API jest możliwy z poziomu Konta Użytkownika > Zarządzaj kontem > Publiczne API. Użytkownik, który jest administratorem w ramach konta Comarch ERP XT, wnioskuje o przydzielenie dostępu (opcja "Zapytaj o API"). Po jego uzyskaniu generuje z tego poziomu dane dostępowe oraz rejestruje aplikację korzystającą z API. Wykorzystywane metody HTTP:
GET pobieranie danych dotyczących wszystkich lub wskazanych elementów/zasobów, w tym pobieranie wydruków
POST tworzenie nowego elementu/zasobu
PUT edycja istniejącego elementu/zasobu
DELETE usuwanie elementu/zasobu
Zasoby:
produkty https://app.erpxt.pl/api2/public/products
kontrahenci https://app.erpxt.pl/api2/public/v1.2/customers
formy płatności https://app.erpxt.pl/api2/public/paymenttypes
rachunki bankowe https://app.erpxt.pl/api2/public/bankaccounts
faktury sprzedaży https://app.erpxt.pl/api2/public/v1.4/invoices
faktury proforma https://app.erpxt.pl/api2/public/v1.4/proformas
szablony wydruków https://app.erpxt.pl/api2/public/customprints
faktura VAT marża https://app.erpxt.pl/api2/public/v1.4/profitmargininvoices
faktura zaliczkowa https://app.erpxt.pl/api2/public/v1.4/advanceinvoices
faktura zakupu https://app.erpxt.pl/api2/public/v1.4/purchaseinvoices
rejestr VAT Zakupu https://app.erpxt.pl/api2/public/v1.4/vatpurchasebooks
korekta faktury sprzedaży https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices
korekta faktury zaliczkowej https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices
korekta faktury zakupu https://app.erpxt.pl/api2/public/v1.4/correctivepurchaseinvoices
Każde żądanie do API zwraca status HTTP informujący o wyniku przetwarzania. Poniższa lista zawiera najczęściej używane statusy:
  • 200 OK - pomyślnie przesłano dane w metodzie GET, POST
  • 204 No Content - pomyślnie zakończono akcję w metodzie PUT, DELETE
  • 400 Bad Request - błąd w treści żądanie
  • 401 Unauthorized - brak uwierzytelniania
  • 403 Forbidden - dostęp zablokowany
  • 404 Not Found - nie znaleziono zasobu
  • 405 Method Not Allowed - nieobsługiwana metoda
  • 500 Internal Server Error - wewnętrzny błąd serwera
Operacje wykonywane poprzez API są zapisywane w historii zmian kontrahenta oraz dokumentu. W opisie operacji znajduje się informacja na temat nazwy aplikacji, poprzez którą dokonano zmian.
Wskazówka
Użytkownik Comarch ERP XT ma możliwość korzystania z API również w przypadku posiadania wersji testowej aplikacji.

API - Produkty

POBIERANIE PRODUKTÓW

Pobieranie produktów: [GET] https://app.erpxt.pl/api2/public/products Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
Name Nazwa produktu
Description Opis produktu
ItemCode Numer klasyfikacyjny PKWiU
ProductCode Kod produktu
UnitOfMeasurment Jednostka miary
Rate Oznaczenie odpowiedniej stawki VAT wg poniższego klucza: 9 – 23% 8 – 8% 7 – 5% 6 – 4% 2 – 0% 1 – zwolniony 0 – nie podlega
SaleNetPrice Cena netto sprzedaży w PLN
SaleGrossPrice Cena brutto sprzedaży w PLN
Quantity Ilość produktu na stanie magazynowym
ProductType Rodzaj produktu: 0 - usługa 1 - towar 2 - towar z kontrolą stanu
Id ID produktu w bazie danych
Przykładowa odpowiedź JSON:
[
    {
        "Name": "Klawiatura ergonomiczna",
        "Description": "",
        "ItemCode": "555",
        "ProductCode": "P/000001",
        "UnitOfMeasurment": "szt.",
        "Rate": 9,
        "SaleNetPrice": 81.30,
        "SaleGrossPrice": 100.00,
        "Quantity": 0.0,
        "ProductType": 0,
        "Id": 10906567
    },
    {
        "Name": "Mysz komputerowa",
        "Description": "",
        "ItemCode": "",
        "ProductCode": "P/000002",
        "UnitOfMeasurment": "szt.",
        "Rate": 9,
        "SaleNetPrice": 50.00,
        "SaleGrossPrice": 61.50,
        "Quantity": 0.0,
        "ProductType": 0,
        "Id": 10951199
    },
    {
        "Name": "Wymiana dysku",
        "Description": "",
        "ItemCode": "",
        "ProductCode": "P/000003",
        "UnitOfMeasurment": "szt.",
        "Rate": 9,
        "SaleNetPrice": 100.00,
        "SaleGrossPrice": 123.00,
        "Quantity": 0.0,
        "ProductType": 0,
        "Id": 10985424
    }
]
Możliwe jest także pobranie karty określonego produktu. [GET] https://app.erpxt.pl/api2/public/products/XXX (gdzie XXX to Id produktu w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/products/10951199 Przykładowa odpowiedź JSON:
{
    "Name": "Mysz komputerowa",
    "Description": "",
    "ItemCode": "",
    "ProductCode": "P/000002",
    "UnitOfMeasurment": "szt.",
    "Rate": 9,
    "SaleNetPrice": 50.0,
    "SaleGrossPrice": 61.5,
    "Quantity": 0.0,
    "ProductType": 0,
    "Id": 10951199
}
Dostępne jest również opcja filtrowanie listy produktów:
  • wg nazwy: [GET] https://app.erpxt.pl/api2/public/products/?$filter=Name eq {nazwa}
  • wg kodu: [GET] https://app.erpxt.pl/api2/public/products/?$filter=ProductCode eq {kod_produktu}
Wskazówka
Filtrować można z użyciem kilku kryteriów wykorzystując wspierane operatory logiczne: or, and, not oraz operatory do porównań: eq (równość), ne (nierówność), gt (większe od), ge (większe lub równe), lt (mniejsze od), le (mniejsze lub równe)
Przykład
[GET] https://app.erpxt.pl/api2/public/products/?$filter=Name eq 'Produkt' or ProductCode eq 'P/000001' [GET] https://app.erpxt.pl/api2/public/products/?$filter=SaleGrossPrice ge 199.99 and SaleGrossPrice le 300
 

DODAWANIE NOWEGO PRODUKTU

Dodawanie produktu: [POST] https://app.erpxt.pl/api2/public/products Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa produktu Tak
Description Opis produktu Nie
ItemCode Numer klasyfikacyjny PKWiU Nie
ProductCode Kod produktu Nie1
UnitOfMeasurment Jednostka miary Tak
SaleNetPrice Cena netto sprzedaży w PLN Nie2
SaleGrossPrice Cena brutto sprzedaży w PLN Nie2
Rate Oznaczenie odpowiedniej stawki VAT wg poniższego klucza: 9 – 23% 8 – 8% 7 – 5% 6 – 4% 2 – 0% 1 – zwolniony 0 – nie podlega Tak
1) W przypadku braku kodu zostanie on nadany poprzez serwer. 2) W przypadku podania ceny brutto, cena netto zostanie wyliczona automatycznie. W przypadku podania ceny netto, cena brutto zostanie wyliczona automatycznie. W przypadku podania obu cen, system wyliczy cenę brutto od podanej ceny netto. Przykładowe zapytanie JSON:
{
    "Name": "Mysz komputerowa bezprzewodowa",
    "Description": "",
    "ItemCode": "",
    "UnitOfMeasurment": "szt.",
    "Rate": 9,
    "SaleGrossPrice": 24.99,
}
W odpowiedzi zostanie wysłane ID dodanego produktu.

EDYCJA KARTY PRODUKTU

Edycja produktu: [PUT] https://app.erpxt.pl/api2/public/products Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa produktu Tak
Description Opis produktu Nie
ItemCode Numer klasyfikacyjny PKWiU Nie
ProductCode Kod produktu Nie
UnitOfMeasurment Jednostka miary Tak
SaleNetPrice Cena netto sprzedaży w PLN Nie
SaleGrossPrice Cena brutto sprzedaży w PLN Nie
Rate Oznaczenie odpowiedniej stawki VAT wg poniższego klucza: 9 – 23% 8 – 8% 7 – 5% 6 – 4% 2 – 0% 1 – zwolniony 0 – nie podlega Tak
Id ID produktu w bazie danych Tak
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi: Przykładowe zapytanie JSON (zmiana ceny dla produktu o Id=12156943):
{
    "Name": "Klawiatura ergonomiczna",
    "UnitOfMeasurment": "szt.",
    "Rate": 9,
    "SaleGrossPrice": 139.00,
    "Id": 12156943
}
Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.

USUWANIE PRODUKTU

Usuwanie produktu: [DEL] https://app.erpxt.pl/api2/public/products/XXX (gdzie XXX to Id produktu w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/products/4 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Uwaga
Nie można usuwać produktów, które posiadają aktywną funkcję kontroli stanu magazynowego.

API - Uwierzytelnianie

Generowanie tokenu

Z poziomu aplikacji Comarch ERP XT > Moje konto > Zarządzaj kontem należy wygenerować Klucz API. Uzyskane dane uwierzytelniające (Client ID i Client Secret) należy użyć w poniższej metodzie: [POST] https://app.erpxt.pl/api2/public/token Opis struktury zapytania:
Nazwa Wartość Opis
Content-Type application/x-www-form-urlencoded
Authorization Basic [Client ID]:[Client Secret] Wartość nagłówka Authorization musi być zakodowana w Base64 np. Basic U2ltcGxlQ2xpZW50SWQ6c2VjcmV0
Zapytanie składa się z następujących parametrów:
Nazwa Typ Forma Wartość Opis
grant_type text param client_credentials metoda uwierzytelniania OAuth 2.0
Przykład
Przykładowe żądanie:
POST /api2/public/token Host: app.erpxt.pl Content-Type: application/x-www-form-urlencoded Authorization: Basic UmcrOWhrMVVGNUFpczBvUjlkdUFjaTM5MDA5YjVhYTE6VXZBaW1jc
Body:
grant_type=client_credentials
Przykładowa odpowiedź:
{
    "access_token": "9BVabJCmONkAzhMJN2Cx4A00009b5b1c",
    "token_type": "bearer",
    "expires": 600
}
Otrzymany Access Token jest ważny 10 minut. Po upływie tego czasu należy ponownie go uzyskać. Struktury odpowiedzi metody do pozyskiwania Access Token są zgodne ze standardem OAuth 2.0 (więcej informacji: https://www.oauth.com/oauth2-servers/access-tokens/access-token-response). Uzyskany Access Token należy przesyłać w nagłówku Authorization w każdym żądaniu wysyłanym do API Comarch ERP XT.
Nazwa Wartość Opis
Authorization Bearer [Access Token] Access Token uzyskany w odpowiedzi na żądanie [POST] https://app.erpxt.pl/api2/public/token
 

API - Wydruki

WYDRUKI DOKUMENTÓW

 

1) Wydruk dokumentu z szablonem przypisanym do kontrahenta

Pobieranie wydruku dokumentu:
faktura sprzedaży [GET] https://app.erpxt.pl/api2/public/v1.4/invoices/{id}/print
faktura proforma [GET] https://app.erpxt.pl/api2/public/v1.4/proformas/{id}/print
faktura zaliczkowa [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/{id}/print
faktura korygująca [GET] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices/{id}/print
faktura korygująca do faktury zaliczkowej [GET] https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices/{id}/print
faktura VAT marża [GET] https://app.erpxt.pl/api2/public/v1.4/profitmargininvoices/{id}/print
W odpowiedzi zostanie wysłany wydruk domyślny – tzn. wydruk standardowy lub wydruk użytkownika przypisany do kontrahenta i zapisany w formacie Base64. Tak zakodowany wydruk można otworzyć w dowolnej przeglądarce internetowej i zapisać jako PDF.  

2) Wydruk dokumentu z szablonem utworzonym przez użytkownika

Pobieranie wydruku dokumentu:
faktura sprzedaży [GET] https://app.erpxt.pl/api2/public/v1.4/invoices/{id}/print?customPrintId={customPrintId}
faktura proforma [GET] https://app.erpxt.pl/api2/public/v1.4/proformas/{id}/print?customPrintId={customPrintId}
faktura zaliczkowa [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/{id}/print?customPrintId={customPrintId}
faktura korygująca [GET] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices/{id}/print?customPrintId={customPrintId}
faktura korygująca do faktury zaliczkowej [GET] https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices/{id}/print?customPrintId={customPrintId}
faktura VAT marża [GET] https://app.erpxt.pl/api2/public/v1.4/profitmargininvoices/{id}/print?customPrintId={customPrintId}
W odpowiedzi zostanie wysłany wydruk dokumentu zapisany w formacie Base64. Tak zakodowany wydruk można otworzyć w dowolnej przeglądarce internetowej i zapisać jako PDF.  
Wskazówka
Listę szablonów można pobrać poprzez żądanie: [GET] https://app.erpxt.pl/api2/public/customprints
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
Name Nazwa wydruku
Language
Wersja językowa (PL / EN / DE / FR)
Type
0 – faktura sprzedaży, 1 - faktura zaliczkowa, 2 - faktura finalna, 3 - korekta faktury sprzedaży, 4 - korekta faktury zaliczkowej, 7 – faktura proforma, 15 - faktura VAT marża
Id
Id szablonu wydruku
Przykładowa odpowiedź JSON:
[
    {
        "Name": "Faktura VAT - VIP",
        "Language": "pl",
        "Type": 0,
        "Id": 10183725
    },
    {
        "Name": "Faktura VAT - mój wzór",
        "Language": "pl",
        "Type": 0,
        "Id": 10183730
    },
    {
        "Name": "Proforma 2019",
        "Language": "pl",
        "Type": 7,
        "Id": 10183731
    }
]
  Potrzebujesz więcej informacji na temat wydruków? Zobacz artykuły powiązane: Jak zmienić tytuł na wydruku Faktury VAT? Jak wstawić swoje logo na wydruku? Jak dodać wydruk w języku innym niż polski? Jak skopiować szablon wydruku? Jak wyeksportować szablon wydruku? Jak zaimportować szablon wydruku?

API - Faktura sprzedaży

Wskazówka
Poniższe metody dotyczą faktur sprzedaży i faktur finalnych
 

POBIERANIE FAKTUR SPRZEDAŻY

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.4/invoices Opis struktury JSON odpowiedzi:
Parametr Opis
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
OSSProcedureCountryCode Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE opisanym w artykule API Procedura OSS
IsOSSProcedure Oznaczenie procedury OSS (true / false)
IsFinal
Oznaczenie typu faktury  (true / false)
PurchasingPartyId
Id nabywcy na dokumencie
PurchasingParty
Dane nabywcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
ReceivingPartyId
Id odbiorcy na dokumencie
ReceivingParty
Dane odbiorcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
PaymentTypeId
Id formy płatności - do pobrania z zasobu API Formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
BankAccountId
Id rachunku bankowego
BankAccountNumber
Numer rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
NetTotal
Wartość netto dla całego dokumentu
CurrencyNetTotal
Wartość netto w walucie obcej dla całego dokumentu
GrossTotal
Wartość brutto dla całego dokumentu
CurrencyGrossTotal
Wartość brutto w walucie obcej dla całego dokumentu
VatTotal
Wartość VAT dla całego dokumentu
CurrencyVatTotal
Wartość VAT w walucie obcej dla całego dokumentu
CurrencyCode
Symbol waluty dokumentu
CurrencyRateType
Typ kursu: 0 - Średni kurs NBP, 1 - kurs ręczny
CurrencyRateDate
Data kursu waluty
CurrencyConverter
Mianownik kursu walutowego
CurrencyRate
Licznik kursu walutowego
DocumentCreatedByTaxPayer
Dokument utworzony przez: true - Płatnika VAT false - Podatnika zwolnionego z VAT
Items Pozycje dokumentu
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży, po rabacie, w walucie dokumentu: jeżeli InvoiceType = 0 - Cena sprzedaży netto jeżeli InvoiceType = 1 - Cena sprzedaży brutto
  ProductPrice Cena sprzedaży, po rabacie: jeżeli InvoiceType = 0 - Cena sprzedaży netto jeżeli InvoiceType = 1 - Cena sprzedaży brutto
       ProductName Nazwa produktu
       ProductDescription
Opis produktu
       UnitOfMeasurement
Jednostka miary
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT opisanym w artykule API Procedura OSS
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
{
    "NetTotal": 100.00,
    "CurrencyNetTotal": 100.00,
    "GrossTotal": 123.00,
    "CurrencyGrossTotal": 123.00,
    "VatTotal": 23.00,
    "CurrencyVatTotal": 23.00,
    "CurrencyCode": "PLN",
    "CurrencyRateType": 0,
    "CurrencyRateDate": "2023-04-04T00:00:00+02:00",
    "CurrencyConverter": 1.0,
    "CurrencyRate": 1.0,
    "PaymentStatus": 0,
    "OSSProcedureCountryCode": "",
    "IsOSSProcedure": false,
    "IsFinal": false,
    "PurchasingPartyId": 125822,
    "PurchasingParty": {
        "Name": "COMARCH SPÓŁKA AKCYJNA",
        "NipPrefix": "",
        "Nip": "6770065406",
        "Country": "Polska",
        "City": "Kraków",
        "Street": "Aleja Jana Pawła II",
        "BuildingNumber": "39A",
        "FlatNumber": "4b",
        "BankName": "Bank Polska Kasa Opieki S.A. XI O. w Krakowie",
        "BankAccountNumber": "08 1240 4722 1111 0000 4851 1368",
        "CustomerType": 1
    },
    "ReceivingPartyId": null,
    "ReceivingParty": null,
    "PaymentTypeId": 4471,
    "PaymentType": 0,
    "PaymentDeadline": "2023-04-05T00:00:00+02:00",
    "BankAccountId": null,
    "BankAccountNumber": null,
    "SalesDate": "2023-04-05T00:00:00+02:00",
    "InvoiceType": 0,
    "DocumentCreatedByTaxPayer": true,
    "Items": [
        {
            "ProductId": 130753,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductPrice": 100.00,
            "ProductName": "Mysz komputerowa przewodowa",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 9,
            "Id": 375493
        }
    ],
    "Description": null,
    "IssueDate": "2023-04-05T00:00:00+02:00",
    "Number": "FS/23/4/5",
    "Status": 1,
    "Id": 278251
}
Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.4/invoices/XXX (gdzie XXX to Id faktury sprzedaży w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/invoices/2901096   Dostępna jest możliwość pobrania dokumentu o konkretnym numerze: [GET] https://app.erpxt.pl/api2/public/v1.4/invoices/invoices?number={number} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/invoices?number=FS/21/7/1
Wskazówka
W API obsługiwane są faktury sprzedaży w walucie PLN. W walucie obcej dostępne jest tylko pobieranie faktur. Nie są obsługiwane dokumenty anulowane. Faktury zaliczkowe oraz korekty są obsługiwane w osobnych metodach.

DODAWANIE NOWEGO DOKUMENTU FAKTURY SPRZEDAŻY

Dodawanie faktury sprzedaży: [POST] https://app.erpxt.pl/api2/public/v1.4/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie. Status zapłaty podczas dodawania faktury sprzedaży może przyjmować jedynie wartość: 0 - niezapłacona lub wartość: 1 - zapłacona całkowicie. Status 2 - zapłacona częściowo jest możliwy do odnotowania jedynie z poziomu aplikacji Comarch ERP XT. W przypadku braku oznaczenia statusu płatności, domyślnie dokument zostanie oznaczony jako brak zapłaty (0).
OSSProcedureCountryCode Kod kraju dla procedury OSS Nie. Parametr należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS".
IsOSSProcedure Oznaczenie procedury OSS (true / false) Nie
PurchasingPartyId
Id nabywcy na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
PaymentDeadline
Termin płatności Nie
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie. W przypadku braku daty w parametrach, ustawiana będzie data bieżąca.
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie. W przypadku braku wartości w tym polu, zostanie zastosowany algorytm od netto.
Items Pozycje dokumentu Nie. Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. Wystawienie faktury z produktem bez karty towarowej jest dostępne jedynie z poziomu aplikacji Comarch ERP XT.
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT Nie. Parametr należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS".
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie. W przypadku braku daty w parametrach, ustawiana będzie data bieżąca.
  Przykładowe zapytanie JSON:
{
    "PurchasingPartyId": 14458134,
    "PaymentTypeId": 10260089,
    "Items": [
         {
            "ProductId": 11521520,
            "Quantity": 10,
            "ProductCurrencyPrice": 249.90
        }
    ]
}
W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury sprzedaży.

EDYCJA FAKTURY SPRZEDAŻY

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.4/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie
OSSProcedureCountryCode Kod kraju dla procedury VAT OSS - do pobrania ze słownika kodów krajów UE tutaj Nie
IsOSSProcedure Oznaczenie procedury VAT OSS (true / false) Nie
PurchasingPartyId
Id nabywcy na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
PaymentDeadline
Termin płatności Nie
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie. W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu. Dla faktur finalnych nie ma możliwości zmiany algorytmu.
Items Pozycje dokumentu Nie, jeśli edytowana faktura zawiera pozycje.
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj, pole jest powiązane z procedurą VAT OSS Nie
       Id Id pozycji dokumentu w bazie danych Nie. W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
 
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez API można edytować jednie faktury zapisane do bufora.
  W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana ilości sztuk i ceny na fakturze o Id=28964885):
{
    "PurchasingPartyId": 14458134,
    "PaymentTypeId": 10260089,
    "Items": [
        {
            "ProductId": 11521520,
            "Quantity": 20.0000,
            "ProductCurrencyPrice": 200.00,
            "Id": 50081265
        }
    ],
    "Id": 28964885
}
Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.  

ZATWIERDZANIE FAKTUR SPRZEDAŻY

Zatwierdzanie faktur sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.4/invoices/confirm W odpowiedzi zostanie wysłany status i JSON odpowiedzi.
Wskazówka
Metoda zatwierdza jedynie faktury sprzedaży. Korekty do tych dokumentów należy zatwierdzić oddzielną metodą.
Przykładowe zapytanie JSON:
{
    "IdCollection": [
        28965353, 28965354, 28965355
    ]
}
Przykładowa odpowiedź JSON:
[
    {
        "Confirmed": true,
        "ErrorMessage": "",
        "ErrorCode": "",
        "DocumentNumber": "FS/24/6/1",
        "DocumentId": 28965353
    },
    {
        "Confirmed": true,
        "ErrorMessage": "",
        "ErrorCode": "",
        "DocumentNumber": "FS/24/6/2",
        "DocumentId": 28965354
    },
    {
        "Confirmed": true,
        "ErrorMessage": "",
        "ErrorCode": "",
        "DocumentNumber": "FS/24/6/3",
        "DocumentId": 28965355
    }
]

USUWANIE FAKTURY SPRZEDAŻY

Usuwanie faktury sprzedaży: [DEL] https://app.erpxt.pl/api2/public/v1.4/invoices/XXX (gdzie XXX to Id dokumentu faktury w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.4/invoices/2901095 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktur sprzedaży jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak poprzez interface API pobrać wydruk faktury: API – Wydruki.  

API - Formy płatności

POBIERANIE FORM PŁATNOŚCI

[GET] https://app.erpxt.pl/api2/public/paymenttypes Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
Name Nazwa formy płatności
Primary Czy forma płatności jest jako "domyślna" - true (TAK) / false (NIE)
Type Typ płatności: 0 - płatność gotówką 1 - płatność na konto 2 - płatność kartą
Id Id formy płatności
Przykładowa odpowiedź JSON:
[
    {
        "Name": "Gotówka",
        "Primary": true,
        "Deadline": 0,
        "Type": 0,
        "Id": 10260089
    },
    {
        "Name": "Przelew",
        "Primary": false,
        "Deadline": 7,
        "Type": 1,
        "Id": 10260090
    },
    {
        "Name": "Karta",
        "Primary": false,
        "Deadline": 0,
        "Type": 2,
        "Id": 10260091
    }
]
Możliwe jest także pobranie danych na temat określonej formy płatności. [GET] https://app.erpxt.pl/api2/public/paymenttypes/XXX (gdzie XXX to Id formy płatności w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/paymenttypes/5 Przykładowa odpowiedź JSON:
{
    "Name": "Karta",
    "Primary": false,
    "Deadline": 0,
    "Type": 2,
    "Id": 10260091
}

DODAWANIE NOWEJ FORMY PŁATNOŚCI

[POST] https://app.erpxt.pl/api2/public/paymenttypes Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa formy płatności TAK
Primary Czy forma płatności jest jako "domyślna" - true (TAK) / false (NIE) NIE
Deadline liczby całkowite z zakresu <0,366> TAK
Type Typ płatności: 0 - płatność gotówką 1 - płatność na konto 2 - płatność kartą TAK
Wskazówka
Może istnieć tylko jedna domyślna forma płatności. Po zaznaczeniu parametru Primary na "true" dana płatność automatycznie staje się podstawową.
Przykładowe zapytanie JSON:
{
    "Name": "Za pobraniem",
    "Primary": false,
    "Deadline": 21,
    "Type": 2
}
W odpowiedzi zostanie wysłane ID dodanej formy płatności.

EDYCJA FORMY PŁATNOŚCI

[PUT] https://app.erpxt.pl/api2/public/paymenttypes Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa formy płatności TAK
Primary Czy forma płatności jest jako "domyślna" - true (TAK) / false (NIE) NIE
Deadline liczby całkowite z zakresu <0,366> TAK
Type Typ płatności: 0 - płatność gotówką 1 - płatność na konto 2 - płatność kartą TAK
ID Id formy płatności w bazie danych TAK
Wskazówka
Podczas edycji formy płatności, która jest już domyślna (Primary = true), nie można zmienić jej na "false". Zawsze musi istnieć jedna domyślna forma płatności.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana typu formy płatności o Id=29017):
{
    "Name": "Za pobraniem",
    "Primary": false,
    "Deadline": 21,
    "Type": 2,
    "Id": 29017
}
Przykładowa odpowiedź JSON – status 204 No Content – operacja zakończona powodzeniem.

USUWANIE FORMY PŁATNOŚCI

[DEL] https://app.erpxt.pl/api2/public/paymenttypes/XXX (gdzie XXX to Id formy płatności w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/paymenttypes/29017 Przykładowa odpowiedź JSON – status 204 No Content – operacja zakończona powodzeniem.
Wskazówka
Nie można usuwać domyślnej formy płatności.

API - Historia zmian


21.05.2023 Udostępniono nowe metody służące do pobierania płatności i aktualizacji ich statusu. Więcej informacji w artykule: API - Płatności  
16.03.2023 Udostępniono nowe wersje metod do pobierania danych dotyczących: W zakresie tych metod poszerzono informacje o dokumenty wystawione w walutach obcych. Dodatkowo udostępniono nową metodę do pobierania faktur VAT marża. Więcej informacji w artykule Faktura VAT marża.  
22.06.2022 Udostępniono nową wersję metody do faktur sprzedaży (Faktura sprzedaży wersja 1.3), w której:
  • rozszerzono zakres danych pobieranych z dokumentu,
  • dodano funkcję pobierania i edycji terminu płatności.
Umożliwiono także wystawianie i zatwierdzanie faktur korygujących do faktur sprzedaży i faktur zaliczkowych oraz pobieranie wydruków tych dokumentów.  
16.03.2022 Dodano nowe funkcje w API w zakresie zatwierdzania faktur sprzedaży, wystawiania faktur zaliczkowych oraz przekształcania faktur zaliczkowych do faktur finalnych. Opisy do nowych i zaktualizowanych metod znajdują się w poszczególnych artykułach:  
09.02.2022 Udostępniono możliwość dodawania i edycji rachunków bankowych oraz form płatności:  
23.07.2021 W związku z możliwością stosowania procedury OSS w API udostępniono nowe wersje metod: W tych metodach można m.in. wskazać kod kraju kontrahenta oraz jego status. Dla kontrahentów unijnych dodatkowe dane można pobrać ze słowników oznaczeń krajów UE i stawek VAT. Więcej informacji w artykule: API - Obsługa procedury OSS Zaktualizowana została także metoda do pobierania wydruków. Ponadto w dotychczasowej metodzie dotyczącej produktów dodano możliwość pobrania rodzaju produktu (ProductType):
  • 0 - usługa
  • 1 - towar
  • 2 - towar z kontrolą stanu
 
17.06.2021 Udostępniono opcję usuwanie wielu faktur proforma w jednej operacji. Nowa metoda przyjmuje obiekt o polu IdCollection, który zawiera tablice reprezentującą numery Id faktur proforma do usunięcia. Więcej informacji znajduje się dokumentacji dla wersji 1.1 dostępnej pod adresem: Faktura proforma wersja 1.1  
27.04.2021 Dodano nowe pole InvoiceDocIdNum dla faktur proforma, które przechowuje numer Id powiązanej faktury sprzedaży, faktury zaliczkowej lub powiązanego paragonu. Szczegółowy opis całej struktury faktur proforma znajduje się pod następującymi linkami:  
22.07.2020 Udostępniono nowe wersje metod w zakresie dokumentów handlowych:
  • https://app.erpxt.pl/api2/public/v1.1/invoices
  • https://app.erpxt.pl/api2/public/v1.1/proformas
  • https://app.erpxt.pl/api2/public/v1.1/invoices/print/{id}
  • https://app.erpxt.pl/api2/public/v1.1/proformas/print/{id}
W wersjach 1.1 dla faktur sprzedaży i faktur proforma wprowadzono następujące nowości - od teraz można:
  • wskazać odbiorcę na dokumentach faktury sprzedaży i fakturach proforma (ReceivingPartyId)
  • ustawić algorytm naliczania - od cen netto (InvoiceType=0) oraz od cen brutto (InvoiceType=1)
  • dodać opis na dokument (Description)
  • pobrać wydruk dokumentu wg domyślnego szablonu przypisanego do kontrahenta
Uwaga
W związku z wprowadzeniem możliwości ustawiania algorytmu naliczania od cen netto/brutto zmieniono nazwę pola ProductCurrencyNetPrice na ProductCurrencyPrice.
Wskazówka
Nowe wersje metod funkcjonują równolegle z dotyczasowymi.
W dotychczasowych wersjach metod w zakresie produktów można dodatkowo:
  • zapisać cenę sprzedaży produktu w kwotach brutto (ProductCurrencyPrice)
  • pobrać informacje o stanie magazynowym towaru (Quantity)
Udostępniono także filtrowanie danych we wszystkich obsługiwanych metodach GET zwracających dane w formie listy - przykłady:
  • produkty
    • wg nazwy (.../products/?$filter=Name eq {nazwa})
    • wg kodu (.../products/?$filter=ProductCode eq {kod_produktu})
  • kontrahenci
    • wg NIP (.../customers/nip/{nr_nip})
    • wg nazwy (.../customers/?$filter=Name eq {nazwa})
    • wg adresu e-mail (.../customers/?$filter=Mail eq {adres_email})
  • dokumenty
    • wg numeru faktury sprzedaży (.../invoices/number/{nr_dokumentu})
    • wg numeru faktury proforma (.../proformas/number/{nr_dokumentu})
Wskazówka
Dostępne jest także filtrowanie z użyciem kilku kryteriów - wspierane operatory logiczne: or, and, not. W filtrowaniu można wykorzystać następujące operatory do porównań: równość - eq nierówność - ne większe od - gt większe lub równe - ge mniejsze od - lt mniejsze lub równe - le
Przykład
https://app.erpxt.pl/api2/public/products/?$filter=Name eq 'Produkt' or ProductCode eq 'P/000001' https://app.erpxt.pl/api2/public/products/?$filter=SaleGrossPrice ge 199.99 and SaleGrossPrice le 300
 
17.12.2019 Udostępniono API w zakresie:
  • pobieranie, dodawanie, modyfikowanie i usuwanie produktów
  • pobieranie, dodawanie, modyfikowanie i usuwanie kontrahentów
  • pobieranie form zapłaty,
  • pobieranie rachunków bankowych,
  • pobieranie faktur sprzedaży i faktur proforma
  • dodawanie faktur sprzedaży i faktur proforma
  • usuwanie faktur sprzedaży i faktur proforma
  • pobieranie wydruku faktury sprzedaży i faktury proforma z możliwością wskazania szablonu
Szczegółowy opis powyższych funkcji znajduje się tutaj. Aby rozpocząć pracę z ERP XT API - dowiedz się więcej tutaj.

API - Rachunki bankowe

POBIERANIE RACHUNKÓW BANKOWYCH

[GET] https://app.erpxt.pl/api2/public/bankaccounts Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
AccountNumber Numer rachunku
BankName Nazwa banku
Symbol Symbol banku
ReportingPeriod Okres raportów 1 – Dzienny 2 – Tygodniowy 3 – Miesięczny 4 – Bezterminowy
Primary Czy rachunek jest jako "domyślny" - true (TAK) / false (NIE)
Id Id rachunku bankowego
Przykładowa odpowiedź JSON:
[
    {
        "AccountNumber": "77812510180448594079740300",
        "BankName": "Bank Polskiej Spółdzielczości S.A.",
        "Symbol": "BPSSA",
        "ReportingPeriod": 3,
        "Primary": true,
        "Id": 8843
    },
    {
        "AccountNumber": "PL 21 2250 0001 5277 7281 8088 8086",
        "BankName": "Svenska Handelsbanken AB S.A. Oddział w Polsce Centrala",
        "Symbol": "SHBPL",
        "ReportingPeriod": 3,
        "Primary": false,
        "Id": 8844
    }
]
Możliwe jest także pobranie danych dla określonego rachunku. [GET] https://app.erpxt.pl/api2/public/bankaccounts/XXX (gdzie XXX to Id rachunku bankowego w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/bankaccounts/8844 Przykładowa odpowiedź JSON:
{
    "AccountNumber": "PL 21 2250 0001 5277 7281 8088 8086",
    "BankName": "Svenska Handelsbanken AB S.A. Oddział w Polsce Centrala",
    "Symbol": "SHBPL",
    "ReportingPeriod": 3,
    "Primary": false,
    "Id": 8844
}
Wskazówka
Metoda pobierania rachunków bankowych pomija pozycje, które oznaczono jako "Rachunek VAT", ponieważ nie jest możliwe wskazanie ich na fakturze sprzedaży.
 

DODAWANIE NOWEGO RACHUNKU BANKOWEGO

[POST] https://app.erpxt.pl/api2/public/bankaccounts Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
AccountNumber Numer rachunku TAK
BankName Nazwa banku NIE
Symbol Symbol banku TAK
ReportingPeriod Okres raportów 1 – Dzienny 2 – Tygodniowy 3 – Miesięczny 4 – Bezterminowy TAK
Primary Czy rachunek jest jako "domyślny" - true (TAK) / false (NIE) NIE
 
Wskazówka
Rachunki bankowe dodawane są w walucie PLN.
Wskazówka
Zmiana domyślnego rachunku bankowego (parametr: Primary) w aplikacji na stronie www jest widoczna dopiero po ponownym zalogowaniu bądź odświeżeniu strony konfiguracji ERP XT (ctr+F5).
Przykładowe zapytanie JSON:
{
    "AccountNumber": "PL 21 2250 0001 5277 7281 8088 8086",
    "BankName": "Svenska Handelsbanken AB S.A. Oddział w Polsce Centrala",
    "Symbol": "SHBPL"",
    "ReportingPeriod": 3,
    "Primary": false
}
W odpowiedzi zostanie wysłane ID dodanego rachunku bankowego.  

EDYCJA RACHUNKU BANKOWEGO

[PUT] https://app.erpxt.pl/api2/public/bankaccounts Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
AccountNumber Numer rachunku TAK
BankName Nazwa banku NIE
Symbol Symbol banku TAK1
ReportingPeriod Okres raportów 1 – Dzienny 2 – Tygodniowy 3 – Miesięczny 4 – Bezterminowy TAK
Primary Czy rachunek jest jako "domyślny" - true (TAK) / false (NIE) NIE
ID Id rachunku bankowego w bazie danych TAK
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
1) Symbol banku nadawany jest podczas dodawania rachunku i nie można go edytować. Przykładowe zapytanie JSON (zmiana okresu raportu dla rachunku bankowego o Id=8844):
{
    "AccountNumber": "PL 21 2250 0001 5277 7281 8088 8086",
    "BankName": "Svenska Handelsbanken AB S.A. Oddział w Polsce Centrala",
    "Symbol": "SHBPL"",
    "ReportingPeriod": 4,
    "Primary": false
    "Id": 8844
}
Przykładowa odpowiedź JSON – status 204 No Content – operacja zakończona powodzeniem.  

USUWANIE RACHUNKU BANKOWEGO

Usuwanie rachunku bankowego: [DEL] https://app.erpxt.pl/api2/public/bankaccounts/XXX (gdzie XXX to Id rachunku bankowego w bazie danych)
Uwaga
Nie można usunąć domyślnego rachunku bankowego.
Uwaga
Usunięcie rachunku bankowego nie jest możliwe gdy jest powiązany z dokumentem, zapłatą, raportem lub został podany w konfiguracji jako rachunek płatności dla deklaracji.
Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/bankaccounts/8844 Przykładowa odpowiedź JSON – status 204 No Content – operacja zakończona powodzeniem.

API - Kontrahenci

POBIERANIE KONTRAHENTÓW

Pobieranie kontrahentów: [GET] https://app.erpxt.pl/api2/public/v1.2/customers Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
Name Nazwa kontrahenta
CountryCode Oznaczenie kodu kraju kontrahenta (prefix NIP) Możliwa jest pusta wartość, która powinna być stosowana dla kontrahenta krajowego niezarejestrowanego w VAT-UE
CustomerTaxNumber Identyfikator podatkowy NIP/PESEL - w zależności od pola CustomerType
CustomerCode Kod kontrahenta
Mail Adres e-mail kontrahenta
PhoneNumber
Nr telefonu kontrahenta
CustomerType Rodzaj kontrahenta (0 – osoba fizyczna / 1 – podmiot gospodarczy)
RepresentativeFirstName
Imię przedstawiciela
RepresentativeLastName
Nazwisko przedstawiciela
Address Sekcja z adresem kontrahenta
       $id Numer porządkowy w ramach odpowiedzi JSON
       Street Ulica
       BuildingNumber Numer budynku
       FlatNumber Lokal
       PostalCode Kod pocztowy
       City Poczta
       Id ID adresu w bazie danych
CustomerStatus Status kontrahenta: 0 - krajowy 1 - wewnątrzunijny 2 - pozaunijny 3 - wewnątrzunijny trójstronny 10 - procedura OSS
Id ID kontrahenta w bazie danych
Przykładowa odpowiedź JSON:
[
    {
        "Name": "COMARCH SPÓŁKA AKCYJNA",
        "CountryCode": "",
        "CustomerTaxNumber": "6770065406",
        "CustomerCode": "K/000369",
        "Mail": "",
        "PhoneNumber": "",
        "CustomerType": 1,
        "Address": {
            "Street": "Aleja Jana Pawła II",
            "BuildingNumber": "39 A",
            "FlatNumber": "",
            "PostalCode": "31-864",
            "City": "Kraków",
            "Id": 529657
        },
        "CustomerStatus": 0,
        "RepresentativeFirstName": "Jan",
        "RepresentativeLastName": "Kowalski",
        "Id": 529611
    },
    {
        "Name": "COMARCH HEALTHCARE SPÓŁKA AKCYJNA",
        "CountryCode": "",
        "CustomerTaxNumber": "6751382502",
        "CustomerCode": "K/000371",
        "Mail": "",
        "PhoneNumber": "",
        "CustomerType": 1,
        "Address": {
            "Street": "Aleja Jana Pawła II",
            "BuildingNumber": "39A",
            "FlatNumber": "",
            "PostalCode": "31-864",
            "City": "Kraków",
            "Id": 529660
        },
        "CustomerStatus": 0,
        "RepresentativeFirstName": "Jan",
        "RepresentativeLastName": "Kowalski",
        "Id": 529614
    }
]
Możliwe jest także pobranie karty określonego kontrahenta: [GET] https://app.erpxt.pl/api2/public/v1.2/customers/{id} oraz pobieranie danych o określonym NIP: [GET] https://app.erpxt.pl/api2/public/v1.2/customers/?nip={nip} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/customers/?nip=6770065406   Dostępne jest również filtrowanie listy kontrahentów:
  • wg nazwy: [GET] https://app.erpxt.pl/api2/public/v1.2/customers/?$filter=Name eq {nazwa}
  • wg adresu e-mail: [GET] https://app.erpxt.pl/api2/public/v1.2/customers/?$filter=Mail eq {adres_email}
Wskazówka
Filtrować można z użyciem kilku kryteriów wykorzystując wspierane operatory logiczne: or, and, not oraz operatory do porównań: eq (równość), ne (nierówność), gt (większe od), ge (większe lub równe), lt (mniejsze od), le (mniejsze lub równe)
Przykład
https://app.erpxt.pl/api2/public/v1.2/customers/?$filter=Name eq 'Comarch' https://app.erpxt.pl/api2/public/v1.2/customers/?$filter=Mail eq 'demo@comarch.pl'

DODAWANIE NOWEGO KONTRAHENTA

Dodawanie kontrahenta: [POST] https://app.erpxt.pl/api2/public/v1.2/customers Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa kontrahenta Tak
CountryCode Oznaczenie kraju kontrahenta W wybranych przypadkach, zależnie od rodzaju kontrahenta4
CustomerTaxNumber Identyfikator podatkowy NIP/PESEL Nie
CustomerCode Kod kontrahenta Nie1
Mail Adres e-mail kontrahenta Nie
PhoneNumber
Nr telefonu kontrahenta Nie
CustomerType Rodzaj kontrahenta (0 – osoba fizyczna / 1 – podmiot gospodarczy) Nie2
RepresentativeFirstName Imię przedstawiciela Nie
RepresentativeLastName Nazwisko przedstawiciela Nie
Address Sekcja z adresem kontrahenta
       Street Ulica Nie
       BuildingNumber Numer domu Nie
       FlatNumber Lokal Nie
       PostalCode Kod pocztowy Nie
       City Poczta Nie
CustomerStatus Status kontrahenta: 0 - krajowy 1 - wewnątrzunijny 2 - pozaunijny 3 - wewnątrzunijny trójstronny 10 - procedura OSS Nie3
1) W przypadku braku kodu zostanie on nadany poprzez serwer. 2) W przypadku braku rodzaju zostanie zastosowane ustawienie domyślne (podmiot gospodarczy). 3) W przypadku braku statusu zostanie on nadany wg kodu kraju, a w przypadku braku kodu kraju zostanie zastosowane ustawienie domyślne (kontrahent krajowy) 4) Kod kraju jest obowiązkowy dla kontrahentów wewnątrzunijnych i procedury OSS. Przykładowe zapytanie JSON:
{
    "Name": "COMARCH CLOUD SPÓŁKA AKCYJNA",
    "CustomerTaxNumber": "6751402274",
    "Mail": "erpxt@comarch.pl"
}
W odpowiedzi zostanie wysłane ID dodanego kontrahenta.

EDYCJA KONTRAHENTA

Edycja kontrahenta: [PUT] https://app.erpxt.pl/api2/public/v1.2/customers Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa kontrahenta Tak
CountryCode Oznaczenie kraju kontrahenta W wybranych przypadkach, zależnie od rodzaju kontrahenta.
CustomerTaxNumber Identyfikator podatkowy NIP/PESEL Nie
CustomerCode Kod kontrahenta Nie
Mail Adres e-mail kontrahenta Nie
PhoneNumber
Nr telefonu kontrahenta Nie
CustomerType Rodzaj kontrahenta (0 – osoba fizyczna / 1 – podmiot gospodarczy) Nie
RepresentativeFirstName Imię przedstawiciela Nie
RepresentativeLastName Nazwisko przedstawiciela Nie
Address Sekcja z adresem kontrahenta
       Street Ulica Nie
       BuildingNumber Numer domu Nie
       FlatNumber Lokal Nie
       PostalCode Kod pocztowy Nie
       City Poczta Nie
       Id Id adresu Nie
Id Id kontrahenta Tak
CustomerStatus Status kontrahenta: 0 - krajowy 1 - wewnątrzunijny 2 - pozaunijny 3 - wewnątrzunijny trójstronny 10 - procedura OSS Nie
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi: Przykładowe zapytanie JSON (dodanie adresu e-mail dla kontrahenta o Id=2):
{
    "Name": "COMARCH CLOUD SPÓŁKA AKCYJNA",
    "CustomerTaxNumber": "6751402274",
    "Mail": "erpxt2@comarch.pl",
    "Id": 2
}
Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.

USUWANIE KARTY KONTRAHENTA

Usuwanie kontrahenta: [DEL] https://app.erpxt.pl/api2/public/v1.2/customers/XXX (gdzie XXX to Id kontrahenta w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/customers/3 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.

API - Filtrowanie zasobów

API udostępnia możliwość filtrowania, sortowania i stronicowania zasobów. W tym celu należy wykorzystywać następująca słowa kluczowych:
  • filtrowanie - filter
  • sortowanie - orderby
  • stronicowanie - skip oraz top
Do filtrowania danych dostępne są do użycia następujące operatory porównań:
  • równość – eq
  • nierówność – ne
  • większe od – gt
  • większe lub równe – ge
  • mniejsze od – lt
  • mniejsze lub równe – le
Przykład
Lista kontrahentów z numerem NIP równym 6770065406:
[GET] https://app.erpxt.pl/api2/public/customers/?$filter=CustomerTaxNumber eq '6770065406'
Przykład
Lista ostatnich 50 faktur sprzedaży posortowanych malejąco po dacie wystawienia:
[GET] https://app.erpxt.pl/api2/public/invoices/?&$orderby=IssueDate desc, Id desc &$skip=0 &$top=50
Przykład
Lista proform, które nie zostały przekształcone do faktury sprzedaży, faktury zaliczkowej lub paragonu:
[GET] https://app.erpxt.pl/api2/public/proformas/?$filter=InvoiceDocIdNum eq null
Przykład
Lista faktur, które zostały wystawione po dniu 2023.01.20:
[GET] https://app.erpxt.pl/api2/public/invoices/?&$filter=IssueDate gt datetime'2023-01-20'
Filtrować można także z użyciem kilku kryteriów stosując wspierane operatory logiczne:
  • koniunkcja - and
  • alternatywa - or
  • zaprzeczenie - not
Przykład
Lista produktów z numerami Id zawartymi w przedziale od 100 do 1000
[GET] https://app.erpxt.pl/api2/public/products/?$filter=Id ge 100 and Id le 1000
  Do wyszukiwania można też zastosować mechanizm full-text search i odnajdywać frazy zawarte m.in. w opisie lub nazwie kontrahencie wybranego na dokumencie
Przykład
Lista faktur proforma zawierająca frazę przykładowy opis
[GET] https://app.erpxt.pl/api2/public/proformas/?$fts='przykładowy opis'

API - Obsługa procedury OSS

PROCEDURA OSS

W systemie ERP XT istnieje możliwość zastosowania procedury OSS w odniesieniu do transakcji handlowych zawieranych z kontrahentami z krajów UE. Więcej informacji na temat procedury OSS znajduje się tutaj: Jak obsłużyć pakiet VAT e-commerce w Handlu? Aby wystawić dokument w procedurze OSS należy:
  • wskazać na dokumencie kontrahenta ze statusem "Procedura OSS". Dodanie takiego kontrahenta jest możliwe także przez interfejs API – przy użyciu metody Kontrahenci w wersji 1.2
  • określić czy do danej transakcji będą stosowane mechanizmy procedury OSS. W związku z tym w API zostały dodane dwie nowe metody: Faktura sprzedaży i Faktura proforma w wersji 1.2, zawierające nowe pola związane z OSS.
  • podać kraj i stawkę VAT, wg której powinna być realizowana sprzedaż w procedurze OSS. Do tego celu można skorzystać z dodatkowych metod opisanych poniżej.
 

POBIERANIE KODÓW KRAJÓW UE

Pobieranie kodów krajów UE: [GET] https://app.erpxt.pl/api2/public/v1.2/vatrates/countries
"PL" - Polska,
"AT" - Austria,
"BE" - Belgia,
"BG" - Bułgaria,
"CY" - Cypr,
"HR" - Chorwacja,
"CZ" - Republika Czeska,
"DK" - Dania,
"EE" - Estonia,
"FI" - Finlandia,
"FR" - Francja,
"EL" - Grecja,
"ES" - Hiszpania,
"NL" - Holandia,
"IE" - Irlandia,
"LT" - Litwa,
"LV" - Łotwa,
"LU" - Luksemburg,
"MT" - Malta,
"DE" - Niemcy,
"PT" - Portugalia,
"RO" - Rumunia,
"SK" - Słowacja,
"SI" - Słowenia,
"SE" - Szwecja,
"HU" - Węgry,
"IT" - Włochy,
"XI" - Irlandia Północna
 

POBIERANIE ZAGRANICZNYCH STAWEK VAT

Pobieranie zagranicznych stawek VAT dla krajów UE: [GET] https://app.erpxt.pl/api2/public/v1.2/vatrates Opis struktury JSON zapytania:
Parametr Opis
RateId Id stawki VAT
Rate Wartość stawki VAT
Symbol Oznaczenie stawki VAT
CountryCode Kod kraju
 

API - Faktura zakupu

POBIERANIE FAKTUR ZAKUPU

Pobieranie faktur zakupu: [GET] https://app.erpxt.pl/api2/public/v1.4/purchaseinvoices Opis struktury JSON odpowiedzi:
Parametr Opis
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
SellingPartyId Id dostawcy na dokumencie
ReceivingPartyId Id nabywcy na dokumencie
PaymentTypeId
Id formy płatności - do pobrania z zasobu API Formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
SellingPartyBankAccountNumber
Numer rachunku bankowego dostawcy
SellingPartyBankAccountName
Nazwa banku dostawcy
BankAccountId
Id rachunku bankowego
BankAccountNumber
Numer rachunku bankowego
PurchaseDate Data zakupu
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
NetTotal
Wartość netto dla całego dokumentu
CurrencyNetTotal
Wartość netto w walucie obcej dla całego dokumentu
GrossTotal
Wartość brutto dla całego dokumentu
CurrencyGrossTotal
Wartość brutto w walucie obcej dla całego dokumentu
VatTotal
Wartość VAT dla całego dokumentu
CurrencyVatTotal
Wartość VAT w walucie obcej dla całego dokumentu
CurrencyCode
Symbol waluty dokumentu
CurrencyRateType
Typ kursu: 0 - Średni kurs NBP, 1 - kurs ręczny
CurrencyRateDate
Data kursu waluty
CurrencyConverter
Mianownik kursu walutowego
CurrencyRate
Licznik kursu walutowego
Items Pozycje dokumentu
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży, po rabacie, w walucie dokumentu: jeżeli InvoiceType = 0 - Cena zakupu netto jeżeli InvoiceType = 1 - Cena zakupu brutto
  ProductPrice Cena sprzedaży, po rabacie: jeżeli InvoiceType = 0 - Cena zakupu netto jeżeli InvoiceType = 1 - Cena zakupu brutto
       ProductName Nazwa produktu
       ProductDescription
Opis produktu
       UnitOfMeasurement
Jednostka miary
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
ReceiptDate Data wpływu
Number Numer wewnętrzny dokumentu
ReferenceNumber Numer obcy dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
{
    "SellingPartyId": 125819,
    "ReceivingPartyId": null,
    "PaymentTypeId": 4471,
    "PaymentType": 0,
    "PaymentDeadline": "2023-04-05T00:00:00+02:00",
    "PaymentStatus": 0,
    "BankAccountId": null,
    "BankAccountNumber": null,
    "SellingPartyBankAccountNumber": "",
    "SellingPartyBankAccountName": "",
    "PurchaseDate": "2023-04-05T00:00:00+02:00",
    "InvoiceType": 0,
    "NetTotal": 80.00,
    "CurrencyNetTotal": 80.00,
    "GrossTotal": 98.40,
    "CurrencyGrossTotal": 98.40,
    "VatTotal": 18.40,
    "CurrencyVatTotal": 18.40,
    "CurrencyCode": "PLN",
    "CurrencyRateType": 0,
    "CurrencyRateDate": "2023-04-04T00:00:00+02:00",
    "CurrencyConverter": 1.0,
    "CurrencyRate": 1.0,
    "ReceiptDate": "2023-04-05T00:00:00+02:00",
    "ReferenceNumber": "FA/1/2023",
    "Items": [
        {
            "ProductId": 129135,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 80.00,
            "ProductPrice": 80.00,
            "ProductName": "Mysz komputerowa",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 9,
            "Id": 375481
        }
    ],
    "Description": "",
    "IssueDate": "2023-04-05T00:00:00+02:00",
    "Number": "FZ/23/4/1",
    "Status": 0,
    "Id": 278239
}
  Możliwe jest także pobranie danych konkretnego dokumentu faktury zakupu: [GET] https://app.erpxt.pl/api2/public/v1.4/purchaseinvoices/XXX (gdzie XXX to Id dokumentu faktury zakupu w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/purchaseinvoices/2901092
Wskazówka
W ERP API obsługiwane jest tylko pobieranie faktur zakupu w waluce PLN i w walucie obcej. Nie są obsługiwane dokumenty anulowane. Korekty faktur zakupu obsługiwane są w innych metodach.

API - Faktura proforma

POBIERANIE FAKTUR PROFORMA

Pobieranie faktur proforma: [GET] https://app.erpxt.pl/api2/public/v1.4/proformas Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PurchasingPartyId
Id kontrahenta na dokumencie
ReceivingPartyId
Id odbiorcy na dokumencie
PaymentTypeId
Id formy płatności - do pobrania z zasobu API Formy płatności
BankAccountId
Id rachunku bankowego
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
OSSProcedureCountryCode
Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE tutaj
IsOSSProcedure
Oznaczenie procedury OSS (true / false)
InvoiceDocIdNum
Id powiązanej faktury sprzedaży, faktury zaliczkowej lub powiązanego paragonu
CurrencyCode
Symbol waluty dokumentu
CurrencyRateType
Typ kursu: 0 - Średni kurs NBP, 1 - kurs ręczny
CurrencyRateDate
Data kursu waluty
CurrencyConverter
Mianownik kursu walutowego
CurrencyRate
Licznik kursu walutowego
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży, po rabacie, w walucie dokumentu: jeżeli InvoiceType = 0 - Cena sprzedaży netto jeżeli InvoiceType = 1 - Cena sprzedaży brutto
 ProductPrice Cena sprzedaży, po rabacie: jeżeli InvoiceType = 0 - Cena sprzedaży netto jeżeli InvoiceType = 1 - Cena sprzedaży brutto
       ProductDescription
Opis produktu
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu: 0 – nieprzekształcony bezpośrednio do dokumentu sprzedażowego, 1 – przekształcony do faktury sprzedaży, faktury zaliczkowej lub paragonu
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
{
    "PurchasingPartyId": 125822,
    "PurchasingParty": {
        "Name": "COMARCH SPÓŁKA AKCYJNA",
        "NipPrefix": "",
        "Nip": "6770065406",
        "Country": "Polska",
        "City": "Kraków",
        "Street": "Aleja Jana Pawła II",
        "BuildingNumber": "39A",
        "FlatNumber": "4b",
        "BankName": "Bank Polska Kasa Opieki S.A. XI O. w Krakowie",
        "BankAccountNumber": "08 1240 4722 1111 0000 4851 1368",
        "CustomerType": 1
    },
    "ReceivingPartyId": null,
    "ReceivingParty": null,
    "PaymentTypeId": 4471,
    "PaymentType": 0,
    "PaymentDeadline": "2023-04-05T00:00:00+02:00",
    "BankAccountId": null,
    "BankAccountNumber": null,
    "InvoiceType": 0,
    "OSSProcedureCountryCode": "",
    "IsOSSProcedure": false,
    "InvoiceDocIdNum": null,
    "CurrencyCode": "PLN",
    "CurrencyRateType": 0,
    "CurrencyRateDate": "2023-04-04T00:00:00+02:00",
    "CurrencyConverter": 1.0,
    "CurrencyRate": 1.0,
    "Items": [
        {
            "ProductId": 130753,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductPrice": 100.00,
            "ProductName": "Mysz komputerowa przewodowa",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 9,
            "Id": 375496
        }
    ],
    "Description": "",
    "IssueDate": "2023-04-05T00:00:00+02:00",
    "Number": "PF/23/4/2",
    "Status": 0,
    "Id": 278254
}
Przykład
Lista faktur proforma, które zostały przekształcone do faktury sprzedaży, faktury zaliczkowej lub paragonu: [GET] https://app.erpxt.pl/api2/public/v1.4/proformas/?$filter=InvoiceDocIdNum ne null
  Możliwe jest także pobranie danych na temat określonego dokumentu faktury proforma: [GET] https://app.erpxt.pl/api2/public/v1.4/proformas/XXX (gdzie XXX to Id dokumentu proforma w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/proformas/2901092
Wskazówka
W API obsługiwane są faktury proforma w walucie PLN. W walucie obcej dostępne jest tylko pobieranie faktur. Nie są obsługiwane dokumenty anulowane.

DODAWANIE NOWEGO DOKUMENTU FAKTURY PROFORMA

Dodawanie faktury proforma: [POST] https://app.erpxt.pl/api2/public/v1.4/proformas
Wskazówka
Faktury proforma dodawane do Comarch ERP XT poprzez API zawsze będą miały status "Zapisane". Wszelkie dalsze przekształcenia należy wykonywać po zalogowaniu do aplikacji.
Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie1
OSSProcedureCountryCode
Kod kraju dla procedury VAT OSS Nie4
IsOSSProcedure
Oznaczenie procedury VAT OSS Nie
Items Pozycje dokumentu Nie2
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT Nie4
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie3
1) W przypadku braku oznaczenia algorytmu, domyślnie zostanie zastosowane obliczenie od netto. 2) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 3) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 4) Parametry należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS". Przykładowe zapytanie JSON:
{
    "PurchasingPartyId": 14458134,
    "PaymentTypeId": 10260089,
    "Items": [
         {
            "ProductId": 11521520,
            "Quantity": 10,
            "ProductCurrencyPrice": 100.00
        }
    ]
}
W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury proforma.

EDYCJA FAKTURY PROFORMA

Edycja faktury proforma: [PUT] https://app.erpxt.pl/api2/public/v1.4/proformas Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie
OSSProcedureCountryCode
Kod kraju dla procedury VAT OSS Nie3
IsOSSProcedure
Oznaczenie procedury VAT OSS Nie
Items Pozycje dokumentu Nie1
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT Nie3
       Id Id pozycji dokumentu w bazie danych Nie2
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami. 3) Parametry należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS".
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez XT API można edytować jednie faktury bez przekształceń (Status = 0).
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana ilości sztuk na proformie o Id=28964885):
{
    "PurchasingPartyId": 14458134,
    "PaymentTypeId": 10260089,
    "Items": [
        {
            "ProductId": 11521520,
            "Quantity": 20,
            "ProductCurrencyPrice": 120.00,
            "Id": 50081265
        }
    ],
    "Id": 28964885
}
Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.  

USUWANIE FAKTURY PROFORMA

Usuwanie faktury proforma: [DEL] https://app.erpxt.pl/api2/public/v1.4/proformas/XXX (gdzie XXX to Id dokumentu faktury proforma w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/proformas/2901094 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktury proforma jest dostępna tylko dla dokumentów bez przekształceń.
  Aby dowiedzieć się jak pobrać poprzez API wydruk faktury proforma: API – Wydruki.    

API - Korekty

POBIERANIE FAKTUR KORYGUJĄCYCH

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PurchasingPartyId
Id nabywcy na dokumencie
PurchasingParty
Dane nabywcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
ReceivingPartyId
Id odbiorcy na dokumencie
ReceivingParty
Dane odbiorcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
PaymentTypeId
Id formy płatności - do pobrania z zasobu API Formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
BankAccountId
Id rachunku bankowego
BankAccountNumber
Numer rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
OSSProcedureCountryCode Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE tutaj
IsOSSProcedure Oznaczenie procedury OSS (true / false)
CorrectedId Id dokumentu korygowanego
CorrectionReasonText Przyczyna korekty
CurrencyCode Symbol waluty dokumentu
CurrencyRateType Typ kursu: 0 - Średni kurs NBP, 1 - kurs ręczny
CurrencyRateDate Data kursu waluty
CurrencyConverter Mianownik kursu walutowego
CurrencyRate Licznik kursu walutowego
DocumentCreatedByTaxPayer Dokument utworzony przez: true - Płatnika VAT false - Podatnika zwolnionego z VAT
Items Pozycje dokumentu
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży, po rabacie, w walucie dokumentu: jeżeli InvoiceType = 0 - Cena sprzedaży netto jeżeli InvoiceType = 1 - Cena sprzedaży brutto
 ProductPrice Cena sprzedaży, po rabacie jeżeli InvoiceType = 0 - Cena sprzedaży netto jeżeli InvoiceType = 1 - Cena sprzedaży brutto
       ProductName Nazwa produktu
       ProductDescription
Opis produktu
       UnitOfMeasurement
Jednostka miary
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj
       CorrectedId
Id pozycji korygowanej w bazie danych (pozycji na dokumencie korygowanym)
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
{
    "PurchasingPartyId": 125822,
    "PurchasingParty": {
        "Name": "COMARCH SPÓŁKA AKCYJNA",
        "NipPrefix": "",
        "Nip": "6770065406",
        "Country": "Polska",
        "City": "Kraków",
        "Street": "Aleja Jana Pawła II",
        "BuildingNumber": "39A",
        "FlatNumber": "4b",
        "BankName": "Bank Polska Kasa Opieki S.A. XI O. w Krakowie",
        "BankAccountNumber": "08 1240 4722 1111 0000 4851 1368",
        "CustomerType": 1
    },
    "ReceivingPartyId": null,
    "ReceivingParty": null,
    "PaymentTypeId": 4471,
    "PaymentType": 0,
    "PaymentDeadline": "2023-04-05T00:00:00+02:00",
    "BankAccountId": null,
    "BankAccountNumber": null,
    "SalesDate": "2023-04-05T00:00:00+02:00",
    "InvoiceType": 0,
    "PaymentStatus": 0,
    "OSSProcedureCountryCode": "",
    "IsOSSProcedure": false,
    "CorrectedId": 278251,
    "CorrectionReasonText": "Zwrot",
    "CurrencyCode": "PLN",
    "CurrencyRateType": 0,
    "CurrencyRateDate": "2023-04-04T00:00:00+02:00",
    "CurrencyConverter": 1.0,
    "CurrencyRate": 1.0,
    "DocumentCreatedByTaxPayer": true,
    "Items": [
        {
            "ProductId": 130753,
            "Quantity": 0.0,
            "ProductCurrencyPrice": 100.00,
            "ProductPrice": 100.00,
            "ProductName": "Mysz komputerowa przewodowa",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 9,
            "CorrectedId": 375493,
            "Id": 375494
        }
    ],
    "Description": null,
    "IssueDate": "2023-04-05T00:00:00+02:00",
    "Number": "KOR/23/4/2",
    "Status": 1,
    "Id": 278252
}
Wskazówka
W API obsługiwane są korekty w walucie PLN. W walucie obcej dostępne jest tylko pobieranie korekt. Nie są obsługiwane dokumenty anulowane.

DODAWANIE NOWEGO DOKUMENTU FAKTURY KORYGUJĄCEJ

Dodawanie faktury korygującej: [POST] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices?documentId=XXX (gdzie XXX to Id dokumentu faktury korygowanej w bazie danych) W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury korygującej z wartościami identycznymi jak na fakturze korygowanej. W kolejnym kroku należy przy wykorzystaniu metody [PUT] nanieść odpowiednie modyfikacje wynikające z procesu korygowania dokumentu.

EDYCJA FAKTURY KORYGUJĄCEJ

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie) Nie
PaymentTypeId
Id formy płatności Tak
PaymentDeadline
Termin płatności Nie
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie
Items Pozycje dokumentu Nie, chyba że korekta dotyczy pozycji (korygowana jest ilość, cena netto stawka VAT lub opis) - wtedy należy podać wszystkie poniższe parametry
       ProductId Id produktu Nie, jw.
       Quantity Ilość Nie, jw.
       ProductCurrencyPrice Cena sprzedaży Nie, jw.
       ProductDescription
Opis produktu Nie, jw.
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj Nie, jw.
       Id Id pozycji dokumentu w bazie danych Nie, jw.
Description Opis dokumentu Nie
CorrectionReasonText Przyczyna korekty Nie
IsOSSProcedure Oznaczenie procedury OSS (true / false) Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez interfejs API można edytować jednie faktury zapisane do bufora.
  W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zwrot towaru, faktura korygująca o Id=23323962):
{
    "PaymentTypeId": 1509,
    "CorrectedId": 1686883,
    "CorrectionReasonText": "",
    "Items": [
        {
            "ProductId": 438092,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": "",
            "VatRateId": 9,
            "Id": 4534062
        }
    ],
    "Id": 23323962
}
Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.

ZATWIERDZANIE FAKTUR KORYGUJĄCYCH

Zatwierdzanie faktur korygujących: [PUT] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices/confirm W odpowiedzi zostanie wysłany status i JSON odpowiedzi. Przykładowe zapytanie JSON:
{
    "IdCollection": [
        1686874, 1686871
    ]
}
Przykładowa odpowiedź JSON:
[
    {
        "Confirmed": true,
        "ErrorMessage": "",
        "ErrorCode": "",
        "DocumentNumber": "KOR/23/12/1",
        "DocumentId": 1686871
    },
    {
        "Confirmed": true,
        "ErrorMessage": "",
        "ErrorCode": "",
        "DocumentNumber": "KOR/23/12/2",
        "DocumentId": 1686874
    }
]

USUWANIE FAKTURY KORYGUJĄCYCH

Usuwanie faktury korygującej: [DEL] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices/XXX (gdzie XXX to Id dokumentu faktury korygującej w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.4/correctiveinvoices/23324066 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktur korygujących jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać wydruk faktury korygującej poprzez API - kliknij tutaj.  

KOREKTY DO FAKTUR ZALICZKOWYCH

W przypadku dokumentów korygujących do faktur zaliczkowych należy skorzystać z analogicznych metod jak opisane powyżej dla faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices [POST] https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices?documentId=XXX [PUT] https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices [PUT] https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices/confirm [DEL] https://app.erpxt.pl/api2/public/v1.4/correctiveadvanceinvoices/XXX
Wskazówka
W przypadku faktur zaliczkowych dodatkowo zwracane jest pole dotyczące zaliczki: "CurrencyAdvance". Pole jest możliwe do edycji. W odróżnieniu od korekt do faktur sprzedaży, w przypadku korekt do faktur zaliczkowych nie można edytować ilości, ceny oraz stawki VAT produktów.

KOREKTY DO FAKTUR ZAKUPU

W przypadku dokumentów korygujących do faktur zakupu należy skorzystać z poniższych metod: [GET] https://app.erpxt.pl/api2/public/v1.4/correctivepurchaseinvoices [GET] https://app.erpxt.pl/api2/public/v1.4/correctivepurchaseinvoices/XXX (gdzie XXX to Id dokumentu)
Wskazówka
Możliwe jest tylko pobierania korekt do faktu zakupu w walucie PLN i w walucie obcej

API - Faktura zaliczkowa

POBIERANIE FAKTUR ZALICZKOWYCH

Pobieranie faktur zaliczkowych: [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices Opis struktury JSON odpowiedzi:
Parametr Opis
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
OSSProcedureCountryCode Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE: API – Obsługa procedury OSS
IsOSSProcedure Oznaczenie procedury OSS (true / false)
PurchasingPartyId
Id kontrahenta na dokumencie
ReceivingPartyId
Id odbiorcy na dokumencie
PaymentTypeId
Id formy płatności - do pobrania z zasobu API Formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
BankAccountId
Id rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
CurrencyCode
Symbol waluty dokumentu
CurrencyRateType
Typ kursu: 0 - Średni kurs NBP, 1 - kurs ręczny
CurrencyRateDate
Data kursu waluty
CurrencyConverter
Mianownik kursu walutowego
CurrencyRate
Licznik kursu walutowego
Items Pozycje dokumentu
CurrencyAdvance
Wartość zaliczki
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży, po rabacie, w walucie dokumentu: jeżeli InvoiceType = 0 - Cena sprzedaży netto jeżeli InvoiceType = 1 - Cena sprzedaży brutto
ProductPrice Cena sprzedaży, po rabacie jeżeli InvoiceType = 0 - Cena sprzedaży netto, jeżeli InvoiceType = 1 - Cena sprzedaży brutto
       ProductDescription
Opis produktu
UnitOfMeasurement
Jednostka miary
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT: API – Obsługa procedury OSS
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
{
    "NetTotal": 10.00,
    "CurrencyNetTotal": 10.00,
    "GrossTotal": 12.30,
    "CurrencyGrossTotal": 12.30,
    "VatTotal": 2.30,
    "CurrencyVatTotal": 2.30,
    "CurrencyCode": "PLN",
    "CurrencyRateType": 0,
    "CurrencyRateDate": "2023-04-04T00:00:00+02:00",
    "CurrencyConverter": 1.0,
    "CurrencyRate": 1.0,
    "PaymentStatus": 0,
    "OSSProcedureCountryCode": "",
    "IsOSSProcedure": false,
    "PurchasingPartyId": 125822,
    "PurchasingParty": {
        "Name": "COMARCH SPÓŁKA AKCYJNA",
        "NipPrefix": "",
        "Nip": "6770065406",
        "Country": "Polska",
        "City": "Kraków",
        "Street": "Aleja Jana Pawła II",
        "BuildingNumber": "39A",
        "FlatNumber": "4b",
        "BankName": "Bank Polska Kasa Opieki S.A. XI O. w Krakowie",
        "BankAccountNumber": "08 1240 4722 1111 0000 4851 1368",
        "CustomerType": 1
    },
    "ReceivingPartyId": null,
    "ReceivingParty": null,
    "PaymentTypeId": 4471,
    "PaymentType": 0,
    "PaymentDeadline": "2023-04-05T00:00:00+02:00",
    "BankAccountId": null,
    "BankAccountNumber": null,
    "SalesDate": "2023-04-05T00:00:00+02:00",
    "InvoiceType": 0,
    "Items": [
        {
            "CurrencyAdvance": 10.00,
            "ProductId": 130753,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductPrice": 100.00,
            "ProductName": "Mysz komputerowa przewodowa",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 9,
            "Id": 375500
        }
    ],
    "Description": "",
    "IssueDate": "2023-04-05T00:00:00+02:00",
    "Number": "FAZAL/2023/4/1",
    "Status": 1,
    "Id": 278258
}
Przykładowa odpowiedź JSON dla faktury w procedurze VAT OSS:
{
    "NetTotal": 50.00,
    "CurrencyNetTotal": 50.00,
    "GrossTotal": 59.50,
    "CurrencyGrossTotal": 59.50,
    "VatTotal": 9.50,
    "CurrencyVatTotal": 9.50,
    "CurrencyCode": "PLN",
    "CurrencyRateType": 0,
    "CurrencyRateDate": "2023-04-04T00:00:00+02:00",
    "CurrencyConverter": 1.0,
    "CurrencyRate": 1.0,
    "PaymentStatus": 0,
    "OSSProcedureCountryCode": "DE",
    "IsOSSProcedure": true,
    "PurchasingPartyId": 127870,
    "PurchasingParty": {
        "Name": "Musterfirma GmbH",
        "NipPrefix": "DE",
        "Nip": "78964867884",
        "Country": "",
        "City": "",
        "Street": "",
        "BuildingNumber": "",
        "FlatNumber": "",
        "BankName": "",
        "BankAccountNumber": "",
        "CustomerType": 1
    },
    "ReceivingPartyId": null,
    "ReceivingParty": null,
    "PaymentTypeId": 4471,
    "PaymentType": 0,
    "PaymentDeadline": "2023-04-05T00:00:00+02:00",
    "BankAccountId": null,
    "BankAccountNumber": null,
    "SalesDate": "2023-04-05T00:00:00+02:00",
    "InvoiceType": 0,
    "Items": [
        {
            "CurrencyAdvance": 50.00,
            "ProductId": 130753,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductPrice": 100.00,
            "ProductName": "Mysz komputerowa przewodowa",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 74,
            "Id": 375502
        }
    ],
    "Description": "",
    "IssueDate": "2023-04-05T00:00:00+02:00",
    "Number": "FAZAL/2023/4/2",
    "Status": 1,
    "Id": 278260
}
  Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury zaliczkowej: [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/XXX (gdzie XXX to id faktury zaliczkowej w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/2901096   Dostępna jest możliwość pobrania dokumentu o konkretnym numerze: [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/invoices?number={number} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices?number=FAZAL/2022/8  
Wskazówka
W API obsługiwane są faktury zaliczkowe w walucie PLN. W walucie obcej dostępne jest tylko pobieranie faktur zaliczkowych. Nie są obsługiwane dokumenty anulowane. Korekty są obsługiwane w innych metodach.

DODAWANIE NOWEGO DOKUMENTU FAKTURY ZALICZKOWEJ

Dodawanie faktury zaliczkowej: [POST] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie1
OSSProcedureCountryCode Kod kraju dla procedury OSS Nie6
IsOSSProcedure Oznaczenie procedury OSS (true / false) Nie
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie2
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie3
Items Pozycje dokumentu Nie4
CurrencyAdvance
Wartość zaliczki Nie7
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
VatRateId Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj, pole jest powiązane z procedurą OSS Nie6
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie5
1) Status zapłaty podczas dodawania faktury zaliczkowej może przyjmować jedynie wartość: 0 - niezapłacona lub wartość: 1 - zapłacona całkowicie. Status 2 - zapłacona częściowo jest możliwy do odnotowania jedynie z poziomu aplikacji Comarch ERP XT. W przypadku braku oznaczenia statusu płatności, domyślnie dokument zostanie oznaczony jako brak zapłaty (0). 2) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 3) W przypadku braku wartości w tym polu, zostanie zastosowany algorytm od netto. 4) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 5) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 6) Parametry należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS". 7) W przypadku braku uzupełnienia tego pola dokument zostanie wystawiony z zerową zaliczką   Przykładowe zapytanie JSON:
{
    "PurchasingPartyId": 529611,
    "PaymentTypeId": 1508,
    "Items": [
        {
            "ProductId": 2028,
            "Quantity": 1.0,
            "ProductCurrencyPrice": 81.30,
            "CurrencyAdvance": 10.00
        }
    ]
}
W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury zaliczkowej.  

DODAWANIE POWIĄZANEJ FAKTURY ZALICZKOWEJ

Dodawanie powiązanej faktury zaliczkowej: [POST] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices?advanceId={id} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices?advanceId=3006043 W odpowiedzi zostanie wysłane ID nowej powiązanej faktury zaliczkowej. Faktura będzie zapisana do bufora oraz wartość zaliczki będzie wynosić zero PLN. W przypadku podania w zapytaniu błędnego id, w odpowiedzi JSON, mogą pojawić się następujące komunikaty: ErrorCode 1 - kontrahent jest zanonimizowany ErrorCode 2 - dokument nie jest fakturą zaliczkową ErrorCode 3 - dokument posiada korektę w buforze ErrorCode 4 - dokument jest anulowany ErrorCode 5 - dokument jest w buforze ErrorCode 6 - dokument jest korektą faktury zaliczkowej ErrorCode 7 - dokument już został przekształcony do finalnej ErrorCode 8 - dokument nie jest możliwy do przekształcenia (wystawiony przed 2019 rokiem) ErrorCode 9 - dokument jest fakturą finalną Przykładowa odpowiedź JSON:
{
    "Message": "Dla tego dokumentu nie można wystawić kolejnej powiązanej faktury zaliczkowej.",
    "Code": "DocumentException",
    "Data": {
        "ErrorCode": "5"
    }
}

EDYCJA FAKTURY ZALICZKOWEJ

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie
OSSProcedureCountryCode Kod kraju dla procedury VAT OSS - do pobrania ze słownika kodów krajów UE tutaj Nie
IsOSSProcedure Oznaczenie procedury VAT OSS (true / false) Nie
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie2
Items Pozycje dokumentu Nie1
CurrencyAdvance
Wartość zaliczki Nie2
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj, pole jest powiązane z procedurą VAT OSS Nie
       Id Id pozycji dokumentu w bazie danych Nie3
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu 3) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez XT API można edytować jednie faktury zapisane do bufora.
Wskazówka
Dedykowany schemat numeracji dla faktur zaliczkowych można utworzyć w aplikacji. W przypadku jego braku dokumenty będą dodawane ze schematem faktur sprzedaży.
  W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana kwoty zaliczki na fakturze o Id=2994705):
{
    "PurchasingPartyId": 529611,
    "PaymentTypeId": 1508,
    "Items": [
        {
            "ProductId": 2028,
            "Quantity": 1.0,
            "ProductCurrencyPrice": 81.30,
            "CurrencyAdvance": 10.00
        }
    ],
    "Id": 2994705
}
Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.  

ZATWIERDZANIE FAKTUR ZALICZKOWYCH

Zatwierdzanie faktur zaliczkowych: [PUT] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/confirm W odpowiedzi zostanie wysłany status i JSON odpowiedzi.
Wskazówka
Metoda zatwierdza jedynie faktury zaliczkowe. Korekty do tych dokumentów należy zatwierdzić w aplikacji.
Przykładowe zapytanie JSON:
{
    "IdCollection": [
        1995472, 1995473
    ]
}
Przykładowa odpowiedź JSON:
[
    {
        "Confirmed": true,
        "ErrorMessage": "",
        "ErrorCode": "",
        "DocumentNumber": "FS/24/6/8",
        "DocumentId": 1995472
    },
    {
        "Confirmed": true,
        "ErrorMessage": "",
        "ErrorCode": "",
        "DocumentNumber": "FS/24/6/9",
        "DocumentId": 1995473
    }
]

USUWANIE FAKTURY ZALICZKOWEJ

Usuwanie faktury sprzedaży: [DEL] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/XXX (gdzie XXX to Id dokumentu faktury zaliczkowej w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.4/advanceInvoices/2901095 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktury zaliczkowej jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać poprzez API wydruk faktury proforma: API – Wydruki.    

API - Przekształcanie faktur zaliczkowych

PRZEKSZTAŁCANIE FAKTUR ZALICZKOWYCH

W programie Comarch ERP XT można wystawić m.in.:
  • jedną fakturę zaliczkową i przekształcić ją do jednej faktury finalnej
  • wiele powiązanych faktur zaliczkowych i przekształcić je do jednej faktury finalnej
  • wiele powiązanych faktur zaliczkowych i przekształcić je do wielu faktur finalnych
[POST] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/{id}/finalize?convertAll=false Metoda pozwala na przekształcenie tylko wskazanej faktury zaliczkowej (id) do faktury finalnej. Przykładowe zapytanie: [POST] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/2901096/finalize?convertAll=false [POST] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/{id}/finalize?convertAll=true Metoda pozwala na przekształcenie wskazanej faktury zaliczkowej (id) oraz wszystkich faktur z nią powiązanych do jednej faktury finalnej. Przykładowe zapytanie: [POST] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/2901096/finalize?convertAll=true W odpowiedzi przesyłana jest faktura finalna będąca efektem przekształcenia dokumentów. Przykładowa odpowiedź JSON:
{
    "PaymentStatus": 0,
    "OSSProcedureCountryCode": "",
    "IsOSSProcedure": false,
    "IsFinal": true,
    "PurchasingPartyId": 529611,
    "PurchasingParty": {
        "Name": "COMARCH SPÓŁKA AKCYJNA",
        "NipPrefix": "",
        "Nip": "6770065406",
        "Country": "",
        "City": "Kraków",
        "Street": "Aleja Jana Pawła II",
        "BuildingNumber": "39 A",
        "FlatNumber": "",
        "BankName": "",
        "BankAccountNumber": "",
        "CustomerType": 1
    },
    "ReceivingPartyId": null,
    "ReceivingParty": null,
    "PaymentTypeId": 1509,
    "PaymentType": 1,
    "BankAccountId": 113,
    "BankAccountNumber": "76906810134600238781879677",
    "SalesDate": "2024-06-05T00:00:00+02:00",
    "InvoiceType": 0,
    "NetTotal": 71.30,
    "GrossTotal": 87.70,
    "VatTotal": 16.40,
    "Items": [
        {
            "ProductId": 2028,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 81.30,
            "ProductName": "Produkt 1",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 9,
            "Id": 5548500
        }
    ],
    "Description": null,
    "IssueDate": "2024-06-05T00:00:00+02:00",
    "Number": "FS/24/6/4",
    "Status": 0,
    "Id": 1995428
}
  Dodatkowo użytkownik może wcześniej sprawdzić czy dany dokument kwalifikuje się do przekształcenia do faktury finalnej metodą weryfikującą: [GET] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/{id}/canFinalize?convertAll=true Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/2901096/canFinalize?convertAll=true W odpowiedzi zostanie wysłana informacja true albo false. W operacji przekształcania lub weryfikowania faktury zaliczkowej mogą pojawić się następujące komunikaty, które dotyczą ostatniego powiązanego dokumentu: ErrorCode 1 - kontrahent jest zanonimizowany ErrorCode 2 - dokument nie jest fakturą zaliczkową ErrorCode 3 - dokument posiada korektę w buforze ErrorCode 4 - dokument jest anulowany ErrorCode 5 - dokument jest w buforze ErrorCode 6 - dokument jest korektą faktury zaliczkowej ErrorCode 7 - dokument już został przekształcony do finalnej ErrorCode 8 - dokument nie jest możliwy do przekształcenia (wystawiony przed 2019 rokiem) ErrorCode 9 - dokument jest fakturą finalną Przykładowa odpowiedź JSON:
{
    "Message": "Tego dokumentu nie można przekształcić do faktury finalnej.",
    "Code": "DocumentException",
    "Data": {
        "ErrorCode": "5"
    }
}

API - Rejestr VAT Zakupu

POBIERANIE FAKTUR ZAKUPU Z REJESTRU VAT ZAKUPU

Pobieranie faktur z rejestru VAT zakupu: [GET] https://app.erpxt.pl/api2/public/v1.4/vatpurchasebooks Opis struktury JSON odpowiedzi:
Parametr Opis
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
CustomerId Id dostawcy na dokumencie
PaymentTypeId
Id formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
CustomerBankAccountNumber
Numer rachunku bankowego dostawcy
CustomerBankAccountName Nazwa banku dostawcy
BankAccountId
Id rachunku bankowego
BankAccountNumber
Numer rachunku bankowego
PurchaseDate Data zakupu
NetTotal
Wartość netto dla całego dokumentu
CurrencyNetTotal
Wartość netto w walucie obcej dla całego dokumentu
GrossTotal
Wartość brutto dla całego dokumentu
CurrencyGrossTotal
Wartość brutto w walucie obcej dla całego dokumentu
VatTotal
Wartość VAT dla całego dokumentu
CurrencyVatTotal
Wartość VAT w walucie obcej dla całego dokumentu
CurrencyCode
Symbol waluty dokumentu
CurrencyRateType
Typ kursu: 0 - Średni kurs NBP, 1 - kurs ręczny
CurrencyRateDate
Data kursu waluty
CurrencyConverter
Mianownik kursu walutowego
CurrencyRate
Licznik kursu walutowego
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
ReceiptDate Data wpływu
Number Numer obcy dokumentu
Correction Oznaczenie czy faktura korygująca
CorrectedDocumentNumber Numer korygowanej faktury
InternalDocument Oznaczenie czy dokument wewnętrzny
IncludedInJPKV7 Kwalifikacja dokumentu do deklaracji JPK_V7
VATDeclatationDate Rok i miesiąc, w którym faktura jest zakwalifikowana do JPK_V7
IncludedInVATUE Kwalifikacja dokumentu do deklaracji VAT-UE
VATUEDeclarationDate Rok i miesiąc, w którym faktura jest zakwalifikowana do deklaracji VAT-UE
Id Id dokumentu w bazie danych
JpkProceduresSymbols
Tablica kodów JPK_V7
Items Pozycje dokumentu
VatRateId Id stawki VAT – do pobrania ze słownika stawek VAT
ItemNetValue Kwota netto na pozycji
ItemNetValueCurrency Kwota netto na pozycji w walucie dokumentu
ItemVATValue Kwota VAT na pozycji
ItemVATValueCurrency Kwota VAT na pozycji w walucie dokumentu
ItemGrossValue Kwota brutto na pozycji
ItemGrossValueCurrency Kwota VAT na pozycji
FieldInJPKV7 Pole w pliku JPK_V7. Oznaczenie słownika pola JPK_V7 wg poniższego klucza: 0 - Nie uwzględniaj w pliku JPK_V7 21 - (P_40) Nabycie środków trwałych 22 - (P_42) Nabycie pozostałe 24 - (P_44) Korekta podatku naliczonego od nabycia środków trwałych 25 - (P_45) Korekta podatku naliczonego od pozostałych nabyć
FieldInVATUE Pole na deklaracji VAT-UE. Oznaczenie słownika pola VAT-UE wg poniższego klucza: 0 - Nie uwzględniaj w deklaracji 2 - D. Nabycie towarów
ItemType Rodzaj produktu: 0 - usługa, 1 - towar
VAT50deduction Czy odliczenie 50% VAT, 1 - tak, 0 - nie
PercentAsExpenses Ile procent w koszty
AccountNumber Numer konta księgowego
Id Id pozycji dokumentu w bazie danych
Przykładowa odpowiedź JSON:
{
        "PaymentStatus": 0,
        "CustomerId": 11972967,
        "PaymentTypeId": 10260089,
        "PaymentType": 0,
        "PaymentDeadline": "2020-09-02T00:00:00+02:00",
        "CustomerBankAccountNumber": "",
        "CustomerBankAccountName": "",
        "BankAccountId": null,
        "BankAccountNumber": null,
        "PurchaseDate": "2020-09-02T00:00:00+02:00",
        "ReceiptDate": "2020-09-02T00:00:00+02:00",
        "NetTotal": 100.00,
        "CurrencyNetTotal": 100.00,
        "GrossTotal": 123.00,
        "CurrencyGrossTotal": 123.00,
        "VatTotal": 23.00,
        "CurrencyVatTotal": 23.00,
        "CurrencyCode": "PLN",
        "CurrencyRateType": 0,
        "CurrencyRateDate": "2020-09-01T00:00:00+02:00",
        "CurrencyConverter": 1.0,
        "CurrencyRate": 1.0,
        "Correction": false,
        "InternalDocument": false,
        "CorrectedDocumentNumber": "",
        "IncludedInJPKV7": true,
        "VATDeclarationDate": "2020-09",
        "IncludedInVATUE": false,
        "VATUEDeclarationDate": "2020-09",	
        "JpkProceduresSymbols": [
        	"B_SPV",
        	"MR_T"
    	],
        "Items": [
            {
                "VatRateId": 9,
                "ItemNetValue": 100.00,
                "ItemNetValueCurrency": 100.00,
                "ItemVATValue": 23.00,
                "ItemVATValueCurrency": 23.00,
                "ItemGrossValue": 123.00,
                "ItemGrossValueCurrency": 123.00,
                "FieldInJPKV7": 22,
                "FieldInVATUE": 0,
                "ItemType": 0,
                "VAT50deduction": 0,
                "PercentAsExpenses": 100.0,
                "AccountNumber": "",
                "Id": 15758450
            }
        ],
        "Description": "Zakup towarów",
        "IssueDate": "2020-09-02T00:00:00+02:00",
        "Number": "1716",
        "Id": 14785511
    }
  Możliwe jest także pobranie danych konkretnego dokumentu faktury zakupu: [GET] https://app.erpxt.pl/api2/public/v1.4/vatpurchasebooks/XXX (gdzie XXX to Id dokumentu faktury zakupu w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/vatpurchasebooks/14785511

API - Faktura VAT marża

POBIERANIE FAKTUR VAT MARŻA

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.4/profitmargininvoices Opis struktury JSON odpowiedzi:
Parametr Opis
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
PurchasingPartyId
Id nabywcy na dokumencie
PurchasingParty
Dane nabywcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
ReceivingPartyId
Id odbiorcy na dokumencie
ReceivingParty
Dane odbiorcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
PaymentTypeId
Id formy płatności - do pobrania z zasobu API Formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
BankAccountId
Id rachunku bankowego
BankAccountNumber
Numer rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
ProfitMarginInvoiceProcedureType
Rodzaj procedury VAT marża wg poniższego klucza: 0 - Brak 1 - Procedura marży dla biur podróży 2 - Procedura marży - towary używane 3 - Procedura marży – dzieła sztuki 4 - Procedura marży – przedmioty kolekcjonerskie i antyki
ProfitMarginTotal
Wartość marży dla całego dokumentu
GrossTotal
Wartość brutto dla całego dokumentu
CurrencyGrossTotal
Wartość brutto dla całego dokumentu, w walucie dokumentu
CurrencyCode
Symbol waluty dokumentu
CurrencyRateType
Typ kursu: 0 - Średni kurs NBP, 1 - kurs ręczny
CurrencyRateDate
Data kursu waluty
CurrencyConverter
Mianownik kursu walutowego
CurrencyRate
Licznik kursu walutowego
Items Pozycje dokumentu
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży, po rabacie w walucie dokumentu, jeżeli InvoiceType = 0 - Cena sprzedaży netto w walucie dokumentu, jeżeli InvoiceType = 1 - Cena sprzedaży brutto w walucie dokumentu
  ProductPrice Cena sprzedaży, po rabacie jeżeli InvoiceType = 0 - Cena sprzedaży netto, jeżeli InvoiceType = 1 - Cena sprzedaży brutto
       ProductName Nazwa produktu
       ProductDescription
Opis produktu
       UnitOfMeasurement
Jednostka miary
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj
ProfitMarginVatRateId Id stawki VAT dla kwoty marży – do pobrania ze słownika stawek VAT
ProductProfitMarginValue Kwota marży dla produktu
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
{
    "PurchasingPartyId": 125822,
    "PurchasingParty": {
        "Name": "COMARCH SPÓŁKA AKCYJNA",
        "NipPrefix": "",
        "Nip": "6770065406",
        "Country": "Polska",
        "City": "Kraków",
        "Street": "Aleja Jana Pawła II",
        "BuildingNumber": "39A",
        "FlatNumber": "4b",
        "BankName": "Bank Polska Kasa Opieki S.A. XI O. w Krakowie",
        "BankAccountNumber": "08 1240 4722 1111 0000 4851 1368",
        "CustomerType": 1
    },
    "ReceivingPartyId": null,
    "ReceivingParty": null,
    "PaymentTypeId": 4471,
    "PaymentType": 0,
    "PaymentDeadline": "2023-04-05T00:00:00+02:00",
    "BankAccountId": null,
    "BankAccountNumber": null,
    "SalesDate": "2023-04-05T00:00:00+02:00",
    "InvoiceType": 1,
    "PaymentStatus": 0,
    "ProfitMarginInvoiceProcedureType": 1,
    "ProfitMarginTotal": 500.00,
    "GrossTotal": 6000.00,
    "CurrencyGrossTotal": 6000.00,
    "CurrencyCode": "PLN",
    "CurrencyRateType": 0,
    "CurrencyRateDate": "2023-04-04T00:00:00+02:00",
    "CurrencyConverter": 1.0,
    "CurrencyRate": 1.0,
    "Items": [
        {
            "ProductId": null,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 6000.00,
            "ProductPrice": 6000.00,
            "ProductName": "Wycieczka",
            "ProductDescription": "",
            "UnitOfMeasurement": "szt.",
            "VatRateId": 0,
            "ProductProfitMarginVatRateTypeId": 9,
            "ProductProfitMarginValue": 500.00,
            "Id": 375497
        }
    ],
    "Description": null,
    "IssueDate": "2023-04-05T00:00:00+02:00",
    "Number": "MAR/23/4/1",
    "Status": 1,
    "Id": 278255
}
  Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury VAT marża: [GET] https://app.erpxt.pl/api2/public/v1.4/profitmargininvoices/XXX (gdzie XXX to Id faktury VAT marża w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/profitmargininvoices/2901096
Wskazówka
W API obsługiwane jest pobieraniu faktury VAT marża w walucie PLN i w walucie obcej. Nie są obsługiwane dokumenty anulowane i korekty.
Wskazówka
W API nie jest obsługiwana dodawanie, edycja i usuwania faktur VAT marża
  Aby dowiedzieć się jak pobrać poprzez API wydruk faktury proforma: API – Wydruki  

API – Płatności

POBIERANIE PŁATNOŚCI

Pobieranie płatności: [GET] https://app.erpxt.pl/api2/public/v1.5/paymentdetails Opis struktury JSON odpowiedzi:
Parametr Opis
PaymentId Id płatności
PaymentType INCOME - faktura sprzedaży OUTCOME - faktura zakupu INCOME_TAX - zaliczki i deklaracje dotyczące podatku dochodowego TAX_OR_FEE - inne podatki i opłat (składki PPK) VAT - podatek VAT SOCIAL_INSURANCE – składki ZUS
DocumentNumber Numer dokumentu
CorrectedDocumentId Jeżeli płatność jest do korekty - Id dokumentu korygowanego
CorrectedDocumentType Jeżeli płatność jest do korekty - typ dokumentu korygowanego, przyjmuje wartości zgodne z opisem do pola DocumentType
CorrectionReason Jeżeli płatność jest do korekty - przyczyna korekty jeżeli uzupełniono na fakturze
CreationDate Data utworzenia płatności
UpdateDate Data ostatniej aktualizacji płatności
IssueDate Data płatności/dokumentu
DueDate Termin płatności
SenderTaxId NIP nadawcy płatności
SenderName Nazwa firmy nadawcy płatności
SenderAddress Adres firmy nadawcy płatności
      Street Ulica
      HouseNumber Numer domu
      ApartmentNumbe Numer lokalu
      ZipCode Kod pocztowy
      City Miasto
      Region Województwo
RecipientTaxId NIP odbiorcy płatności
RecipientName Nazwa firmy odbiorcy płatności
RecipientAddress Adres firmy odbiorcy płatności
      Street Ulica
      HouseNumber Numer domu
      ApartmentNumbe Numer lokalu
      ZipCode Kod pocztowy
      City Miasto
      Region Województwo
RecipientAccountNumber Numer rachunku bankowego odbiorcy płatności (w formacie IBAN czyli z prefiksem kraju)
SenderAccountNumber Numer rachunku bankowego nadawcy płatności (w formacie IBAN czyli z prefiksem kraju)
Amount Kwota płatności/dokumentu
VatAmount Kwota VAT z dokumentu
SplitPayment Czy zastosowano Metodę Podzielonej Płatności: true - tak, false - nie
Payable Czy podlega rozliczeniu: true - tak, status płatności Nie rozliczono lub Częściowo rozliczono false - nie, status płatności to Anulowany lub Całkowicie rozliczony
Currency Waluta płatności
Balance Kwota pozostająca do zapłaty
Title Tytuł płatności (opis do banku)
PaymentStatus Status płatności: 0 - nierozliczona 1 - częściowo rozliczona 2 - całkowicie rozliczona 4 - niemożliwa do rozliczenia np. płatności do dokumentu, który został anulowany 5 - anulowana
PaymentDirection Kierunek płatności: 0 - przychód (płatność przychodząca) 1 - rozchód (płatność wychodząca)
ExportStatus Status wysyłania płatności do banku: 0 - nie wysłana 1 - wysłana do banku/utworzono przelew 2 - przelew zrealizowany po stronie banku
CashAccounting Czy płatność została wystawiona przez podatnika rozliczającego się metodą kasową: true - tak na powiązanym z płatnością zapisie w rejestrze VAT wybrano kod JPK_V7: MK false - nie
DocumentType Typ dokumentu źródłowego: Invoice - faktura sprzedaży zwykła lub finalna AdvanceInvoice - faktura zaliczkowa PurchaseInvoice - faktura zakupu CorrectiveInvoice - korekta do faktury sprzedaży CorrectiveAdvanceInvoice - korekta do faktury sprzedaży zaliczkowej CorrectiveFiscalReceipt - korekta do paragonu CorrectivePurchaseInvoice - korekta do faktury zakupu FiscalReceipt - paragon Receipt - rachunek VatSaleBook - faktura sprzedaży dodana bezpośrednio w Rejestrze sprzedaży VAT VatPurchaseBook - faktura zakupu dodana bezpośrednio w Rejestrze zakupów VAT Vat7Declaration - deklaracja VAT/JPK_V7 Pit36Advance - zaliczka na PIT-36 Pit36LAdvance - zaliczka na PIT-36L Pit36Declaration - deklaracja PIT-36 Pit36LDeclaration - deklaracja PIT-36L ProfitMarginInvoice - faktura sprzedaży VAT marża CorrectiveProfitMarginInvoice - korekta faktury sprzedaży VAT marża OpeningBalanceItem - bilansu otwarcia BookEntryItem - zapis księgowegy Cit8Advance - zaliczka na CIT-8 Cit8Declaration - deklaracja CIT-8 PPKContributions - składka PPK ViudoDeclaration - deklaracja VIU-DO Pit28Advance - zaliczka na PIT-28 Pit28Declaration - deklaracja PIT-28 CostBook - dokument w Ewidencji Dodatkowej Kosztów RevenueBook - dokument w Ewidencji Dodatkowej Przychodów None - płatności zaimportowane z Optimy przez IWD
Przykładowa odpowiedź JSON:
{
    "PaymentId": "2692651",
    "PaymentType": "INCOME",
    "Amount": 400.00,
    "Payable": true,
    "VatAmount": 74.80,
    "DocumentId": "1996095",
    "DocumentNumber": "KOR/24/6/2",
    "DocumentType": "CorrectiveInvoice",
    "CorrectedDocumentId": "1996055",
    "CorrectedDocumentType": "Invoice",
    "CorrectionReason": "",
    "CreationDate": "2024-06-05T15:47:26",
    "UpdateDate": "2024-06-05T15:47:29",
    "IssueDate": "2024-06-05T00:00:00",
    "DueDate": "2024-06-05T00:00:00",
    "SenderTaxId": "6770065406",
    "SenderName": "COMARCH SPÓŁKA AKCYJNA",
    "SenderAddress": {
        "street": "Aleja Jana Pawła II",
        "zipCode": "31-864",
        "houseNumber": "39 A",
        "apartmentNumber": "",
        "city": "Kraków",
        "region": ""
    },
    "RecipientTaxId": "7571254424",
    "RecipientName": "Firma Demo",
    "RecipientAddress": {
        "street": "Testowa",
        "zipCode": "20-000",
        "houseNumber": "1a",
        "apartmentNumber": "2b",
        "city": "Lublin",
        "region": "lubelskie"
    },
    "RecipientAccountNumber": null,
    "SenderAccountNumber": null,
    "SplitPayment": false,
    "Currency": "PLN",
    "Balance": 380.00,
    "Title": [
        "Zapłata za KOR/24/6/2"
    ],
    "PaymentStatus": 2,
    "PaymentDirection": 0,
    "ExchangeRate": 1.0000,
    "ExportStatus": 0,
    "CashAccounting": false
}
Możliwe jest także pobranie szczegółów dla jednej płatności: [GET] https://app.erpxt.pl/api2/public/v1.5/paymentdetails/XXX (gdzie XXX to Id płatności w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.5/paymentdetails/2692651 Przykładowa odpowiedź JSON:
{
    "PaymentId": "2692651",
    "PaymentType": "INCOME",
    "Amount": 400.00,
    "Payable": true,
    "VatAmount": 74.80,
    "DocumentId": "1996095",
    "DocumentNumber": "KOR/24/6/2",
    "DocumentType": "CorrectiveInvoice",
    "CorrectedDocumentId": "1996055",
    "CorrectedDocumentType": "Invoice",
    "CorrectionReason": "",
    "CreationDate": "2024-06-05T15:47:26",
    "UpdateDate": "2024-06-05T15:47:29",
    "IssueDate": "2024-06-05T00:00:00",
    "DueDate": "2024-06-05T00:00:00",
    "SenderTaxId": "6770065406",
    "SenderName": "COMARCH SPÓŁKA AKCYJNA",
    "SenderAddress": {
        "street": "Aleja Jana Pawła II",
        "zipCode": "31-864",
        "houseNumber": "39 A",
        "apartmentNumber": "",
        "city": "Kraków",
        "region": ""
    },
    "RecipientTaxId": "7571254424",
    "RecipientName": "Firma Demo",
    "RecipientAddress": {
        "street": "Testowa",
        "zipCode": "20-000",
        "houseNumber": "1a",
        "apartmentNumber": "2b",
        "city": "Lublin",
        "region": "lubelskie"
    },
    "RecipientAccountNumber": null,
    "SenderAccountNumber": null,
    "SplitPayment": false,
    "Currency": "PLN",
    "Balance": 380.00,
    "Title": [
        "Zapłata za KOR/24/6/2"
    ],
    "PaymentStatus": 2,
    "PaymentDirection": 0,
    "ExchangeRate": 1.0000,
    "ExportStatus": 0,
    "CashAccounting": false
}
 

POBIERANIE STATUSU PŁATNOŚCI

Pobieranie statusu płatności: [GET] https://app.erpxt.pl/api2/public/v1.4/payments W zapytaniu należy podać Id płatności, które mają zostać pobrane W odpowiedzi zostanie wysłany status płatności.
Parametr Opis
PaymentId Id płatności
PaymentStatus 0 - nierozliczona 1 - częściowo rozliczona 2 - całkowicie rozliczona 4 - do dokumentu anulowanego 5 - anulowana
Amount Kwota płatności/dokumentu
Balance Kwota pozostająca do zapłaty w walucie płatności, dla płatności anulowanej: 0
Currency Waluta dokumentu/płatności
Przykładowe zapytanie JSON:
{
    "IdCollection": [
        2692559,
        2692567
    ]
}
Przykładowa odpowiedź JSON:
[
    {
        "PaymentId": 2692559,
        "Amount": 100.00,
        "Balance": 100.00,
        "Currency": "PLN",
        "PaymentStatus": 0
    },
    {
        "PaymentId": 2692567,
        "Amount": 50.00,
        "Balance": 0.0,
        "Currency": "PLN",
        "PaymentStatus": 2
    }
]
  Możliwe jest także pobranie statusu dla jednej płatności: [GET] https://app.erpxt.pl/api2/public/v1.4/payments/XXX (gdzie XXX to Id płatności w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/payments/2692651 Przykładowa odpowiedź JSON:
{
    "PaymentId": 2692651,
    "Amount": 400.00,
    "Balance": 380.00,
    "Currency": "PLN",
    "PaymentStatus": 1
}
 

AKTUALIZACJA STATUSU PŁATNOŚCI

Aktualizacja statusu płatności: [PUT] https://app.erpxt.pl/api2/public/v1.4/payments Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentIds Identyfikator płatności, które ma zostać rozliczone. Można podać więcej niż jedną płatność oddzielając Id przecinkami. Oznacza to, że dana wpłata będzie rozliczała więcej dokumentów. Kolejność rozliczania wg kolejności przesłanych Id płatności. Tak
Cancelled Czy płatność anulowana: true - tak, false - nie Tak
PaymentDate Data płatności Tak, jeżeli Cancelled jest false
AmountPaid Kwota zapłacona w walucie dokumentu, znak kwoty warunkuje kierunek płatności Tak, jeżeli Cancelled jest false
BankAccountNumber Rachunek bankowy: - dla wpłat - numer rachunku, na który przyszedł przelew, - dla wypłat - numer rachunku, z którego wyszedł przelew Tak, jeżeli Cancelled jest false
CurrencyCode Symbol waluty Nie
CurrencyRateType Typ kursu waluty Nie
CurrencyRateDate Data kursu Nie
CurrencyConverter Mianownik kursu waluty Nie
CurrencyRate Licznik kursu waluty Nie
CustomerBankAccountNumber Rachunek bankowy: - dla wpłat - numer rachunku, na który przyszedł przelew, - dla wypłat - numer rachunku, z którego wyszedł przelew Nie
CustomerTIN NIP kontrahenta Nie
Description Opis, tytuł płatności Nie
Przykładowe zapytanie JSON:
{
    "PaymentIds": [
        2692651,
        2691813
    ],
    "CustomerTIN" : "6770065406",
    "Cancelled" : false,
    "PaymentDate": "2024-01-15",
    "AmountPaid" : "450",
    "BankAccountNumber" : "76906810134600238781879677"
}
Przykładowa odpowiedź JSON:
[
    {
        "Updated": true,
        "Message": "Płatność została zaktualizowana.",
        "PaymentId": 2692651
    },
    {
        "Updated": true,
        "Message": "Płatność została zaktualizowana.",
        "PaymentId": 2691813
    }
]
W odpowiedzi JSON, mogą pojawić się następujące komunikaty błędów: ErrorCode 0 - Płatność jest już rozliczona i nie może zostać anulowana. ErrorCode 1 - Płatność jest już całkowicie rozliczona (jeżeli status całkowicie rozliczona) ErrorCode 2 - Płatność nie podlega rozliczeniu (jeżeli inny status) ErrorCode 3 - Kierunek płatności nie zgadza się z kierunkiem zapłaty ErrorCode 4 - Waluta płatności różna od waluty zapłaty ErrorCode 5 - W Comarch ERP XT nie ma rachunku o numerze .... Utwórz rachunek. ErrorCode 6 - Nie można rozliczać niezatwierdzonych płatności ErrorCode 7 - Płatność nie została rozliczona ErrorCode 8 - Waluta przypisana do rachunku bankowego nie zgadza się z walutą aktualizowanej płatności. Zobacz także: API - Historia zmian

API - archiwum

API - Faktura sprzedaży (wersja archiwalna 1.0)

POBIERANIE FAKTUR SPRZEDAŻY

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/invoices Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PaymentStatus Status płatności (0 - niezapłacona, 1 - zapłacona całkowicie, 2 - zapłacona częściowo)
PurchasingPartyId
Id kontrahenta na dokumencie
PaymentTypeId
Id formy płatności
BankAccountId
Id rachunku bankowego
SalesDate Data sprzedaży
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyNetPrice Cena netto sprzedaży
       ProductDescription
Opis produktu
       Id ID pozycji dokumentu w bazie danych
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 - dokument w buforze / 1 - dokument zatwierdzony na stałe)
Id ID dokumentu w bazie danych
Przykładowa odpowiedź JSON: Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury sprzedaży: [GET] https://app.erpxt.pl/api2/public/invoices/XXX (gdzie XXX to Id dokumentu faktury sprzedaży w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/invoices/11 Przykładowa odpowiedź JSON:
Wskazówka
W ERP API obsługiwane są faktury sprzedaży w buforze. Dodatkowo można pobrać dane i wydruki dla faktur zatwierdzonych na stałe. Nie są obsługiwane faktury zaliczkowe, faktury finalne, dokumenty anulowane oraz korekty.
Wskazówka
W ERP API obsługiwane są faktury w walucie PLN. Nie są obsługiwane faktury w walutach obcych.

DODAWANIE NOWEGO DOKUMENTU FAKTURY SPRZEDAŻY

Dodawanie faktury sprzedaży: [POST] https://app.erpxt.pl/api2/public/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus Status płatności (0 - niezapłacona, 1 - zapłacona całkowicie)1 Nie1
PurchasingPartyId Id kontrahenta na dokumencie Tak
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
SalesDate Data sprzedaży w formacie RRRR-MM-DD Nie2
Items Pozycje dokumentu Nie3
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyNetPrice
Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie2
1) Status zapłaty podczas dodawania faktury sprzedaży może przyjmować jedynie wartość: 0 - niezapłacona lub wartość: 1 - zapłacona całkowicie. Status 2 - zapłacona częściowo jest możliwy do odnotowania jedynie z poziomu aplikacji Comarch ERP XT. W przypadku braku oznaczenia statusu płatności, domyślnie dokument zostanie oznaczony jako brak zapłaty (0). 2) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 3) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. Przykładowe zapytanie JSON: W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury sprzedaży. Przykładowa odpowiedź:
Wskazówka
Podczas dodawania nowej faktury sprzedaży poprzez API, dokument będzie miał nadany numer zgodnie z domyślnym schematem numeracji, ustawionym w Comarch ERP XT.
Wskazówka
Faktury sprzedaży dodawane do Comarch ERP XT poprzez API zawsze będą miały status "Zapisane" (w buforze). Wszelkie dalsze operacje - np. zatwierdzenia i księgowania dokumentu - należy wykonywać po zalogowaniu do aplikacji.

EDYCJA FAKTURY SPRZEDAŻY

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus Status płatności (0 - niezapłacona, 1 - zapłacona całkowicie) Tak
PurchasingPartyId Id kontrahenta na dokumencie Tak
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
SalesDate Data sprzedaży w formacie RRRR-MM-DD Nie
Items Pozycje dokumentu Tak1
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyNetPrice
Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       Id
ID pozycji dokumentu w bazie danych Nie2
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez API można edytować jednie faktury zapisane do bufora.
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana formy płatności i ilości sztuk produktów): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
Przykład
Usuwanie pozycji z faktury sprzedaży poprzez edycję dokumentu: [PUT] https://app.erpxt.pl/api2/public/invoices Przykładowe zapytanie: Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
Uwaga
Opcja edycji faktury sprzedaży jest dostępna tylko dla dokumentów będących w buforze.

USUWANIE FAKTURY SPRZEDAŻY

Usuwanie faktury sprzedaży: [DEL] https://app.erpxt.pl/api2/public/invoices/XXX (gdzie XXX to Id dokumentu faktury sprzedaży w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/invoices/12 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
Uwaga
Opcja usuwania faktury sprzedaży jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać wydruk faktury sprzedaży poprzez API - kliknij tutaj.  

API - Kontrahenci (wersja archiwalna 1.0)

POBIERANIE KONTRAHENTÓW

Pobieranie kontrahentów: [GET] https://app.erpxt.pl/api2/public/customers Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
Name Nazwa kontrahenta
CustomerTaxNumber Identyfikator podatkowy NIP/PESEL - w zależności od pola CustomerType
CustomerCode Kod kontrahenta
Mail Adres e-mail kontrahenta
PhoneNumber
Nr telefonu kontrahenta
CustomerType Rodzaj kontrahenta (0 – osoba fizyczna / 1 – podmiot gospodarczy)
Address Sekcja z adresem kontrahenta
       $id Numer porządkowy w ramach odpowiedzi JSON
       Street Ulica
       BuildingNumber Numer budynku
       FlatNumber Lokal
       PostalCode Kod pocztowy
       City Poczta
       Id ID adresu w bazie danych
Id ID kontrahenta w bazie danych
Przykładowa odpowiedź JSON: Możliwe jest także pobranie karty określonego kontrahenta. [GET] https://app.erpxt.pl/api2/public/customers/XXX (gdzie XXX to Id kontrahenta w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/customers/1

Pobranie danych kontrahenta o określonym NIP. [GET] https://app.erpxt.pl/api2/public/customers/nip/XXX (gdzie XXX to numer NIP kontrahenta) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/customers/nip/6770065406

Dostępne jest również filtrowanie listy kontrahentów:
  • wg nazwy: [GET] https://app.erpxt.pl/api2/public/?$filter=Name eq {nazwa}
  • wg adresu e-mail: [GET] https://app.erpxt.pl/api2/public/customers/?$filter=Mail eq {adres_email}
Wskazówka
Filtrować można z użyciem kilku kryteriów wykorzystując wspierane operatory logiczne: or, and, not oraz operatory do porównań: eq (równość), ne (nierówność), gt (większe od), ge (większe lub równe), lt (mniejsze od), le (mniejsze lub równe)
Przykład
https://app.erpxt.pl/api2/public/customers/?$filter=Name eq 'Comarch' https://app.erpxt.pl/api2/public/customers/?$filter=Mail eq 'demo@comarch.pl'

DODAWANIE NOWEGO KONTRAHENTA

Dodawanie kontrahenta: [POST] https://app.erpxt.pl/api2/public/customers Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa kontrahenta Tak
CustomerTaxNumber Identyfikator podatkowy NIP/PESEL Nie
CustomerCode Kod kontrahenta Nie1
Mail Adres e-mail kontrahenta Nie
PhoneNumber
Nr telefonu kontrahenta Nie
CustomerType Rodzaj kontrahenta (0 – osoba fizyczna / 1 – podmiot gospodarczy) Nie2
Address Sekcja z adresem kontrahenta
       Street Ulica Nie
       BuildingNumber Numer domu Nie
       FlatNumber Lokal Nie
       PostalCode Kod pocztowy Nie
       City Poczta Nie
1) W przypadku braku kodu zostanie on nadany poprzez serwer. 2) W przypadku braku rodzaju zostanie zastosowane ustawienie domyślne (podmiot gospodarczy). Przykładowe zapytanie JSON: W odpowiedzi zostanie wysłane ID dodanego kontrahenta. Przykładowa odpowiedź:

EDYCJA KONTRAHENTA

Edycja kontrahenta: [PUT] https://app.erpxt.pl/api2/public/customers Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
Name Nazwa kontrahenta Tak
CustomerTaxNumber Identyfikator podatkowy NIP/PESEL Nie
CustomerCode Kod kontrahenta Nie
Mail Adres e-mail kontrahenta Nie
PhoneNumber
Nr telefonu kontrahenta Nie
CustomerType Rodzaj kontrahenta (0 – osoba fizyczna / 1 – podmiot gospodarczy) Nie
Address Sekcja z adresem kontrahenta
       Street Ulica Nie
       BuildingNumber Numer domu Nie
       FlatNumber Lokal Nie
       PostalCode Kod pocztowy Nie
       City Poczta Nie
       Id Id adresu Nie
Id Id kontrahenta Tak
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi: Przykładowe zapytanie JSON (dodanie adresu e-mail dla kontrahenta o Id=2): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:

USUWANIE KARTY KONTRAHENTA

Usuwanie kontrahenta: [DEL] https://app.erpxt.pl/api2/public/customers/XXX (gdzie XXX to Id kontrahenta w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/customers/3 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:

API - Faktura proforma (wersja archiwalna 1.0)

POBIERANIE FAKTUR PROFORMA

Pobieranie faktur proforma: [GET] https://app.erpxt.pl/api2/public/proformas Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PurchasingPartyId
Id kontrahenta na dokumencie
PaymentTypeId
Id formy płatności
BankAccountId
Id rachunku bankowego
InvoiceDocIdNum
Id powiązanej faktury sprzedaży, faktury zaliczkowej lub powiązanego paragonu
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyNetPrice Cena netto sprzedaży
       ProductDescription
Opis produktu
       Id ID pozycji dokumentu w bazie danych
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu: 0 – nieprzekształcony bezpośrednio do dokumentu sprzedażowego, 1 – przekształcony do faktury sprzedaży, faktury zaliczkowej lub paragonu
Id ID dokumentu w bazie danych
Przykładowa odpowiedź JSON:
Przykład
Lista faktur proforma, które zostały przekształcone do faktury sprzedaży, faktury zaliczkowej lub paragonu: [GET] https://app.erpxt.pl/api2/public/proformas/?$filter=InvoiceDocIdNum ne null
  Możliwe jest także pobranie danych na temat określonego dokumentu faktury proforma: [GET] https://app.erpxt.pl/api2/public/proformas/XXX (gdzie XXX to Id dokumentu proforma w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/proformas/12 Przykładowa odpowiedź JSON:

DODAWANIE NOWEGO DOKUMENTU FAKTURY PROFORMA

Dodawanie faktury proforma: [POST] https://app.erpxt.pl/api2/public/proformas
Wskazówka
Faktury proforma dodawane do Comarch ERP XT poprzez API zawsze będą miały status "Zapisane". Wszelkie dalsze przekształcenia należy wykonywać po zalogowaniu do aplikacji.
Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId Id kontrahenta na dokumencie Tak
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
Items Pozycje dokumentu Nie1
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyNetPrice
Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie2
1) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 2) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. Przykładowe zapytanie JSON: W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury proforma. Przykładowa odpowiedź:

EDYCJA FAKTURY PROFORMA

Edycja faktury proforma: [PUT] https://app.erpxt.pl/api2/public/proformas Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId Id kontrahenta na dokumencie Tak
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
Items Pozycje dokumentu Tak1
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyNetPrice
Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       Id
ID pozycji dokumentu w bazie danych Nie2
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez XT API można edytować jednie faktury bez przekształceń (Status = 0).
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana formy płatności na proformie o Id=13): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:  

USUWANIE FAKTURY PROFORMA

Usuwanie faktury proforma: [DEL] https://app.erpxt.pl/api2/public/proformas/XXX (gdzie XXX to Id dokumentu faktury proforma w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/proformas/14 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
Wskazówka
Opcja usuwania faktury proforma jest dostępna tylko dla dokumentów bez przekształceń.
  Aby dowiedzieć się jak pobrać wydruk faktury proforma poprzez API - kliknij tutaj.    

API - Faktura sprzedaży (wersja archiwalna 1.3)

Wskazówka
Poniższe metody dotyczą faktur sprzedaży i faktur finalnych
 

POBIERANIE FAKTUR SPRZEDAŻY

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.3/invoices Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
OSSProcedureCountryCode Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE tutaj
IsOSSProcedure Oznaczenie procedury OSS (true / false)
IsFinal
Oznaczenie typu faktury  (true / false)
PurchasingPartyId
Id nabywcy na dokumencie
PurchasingParty
Dane nabywcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
ReceivingPartyId
Id odbiorcy na dokumencie
ReceivingParty
Dane odbiorcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
PaymentTypeId
Id formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
BankAccountId
Id rachunku bankowego
BankAccountNumber
Numer rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
NetTotal
Wartość netto dla całego dokumentu
GrossTotal
Wartość brutto dla całego dokumentu
VatTotal
Wartość VAT dla całego dokumentu
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży
       ProductName Nazwa produktu
       ProductDescription
Opis produktu
       UnitOfMeasurement
Jednostka miary
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj, pole jest powiązane z procedurą OSS
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:   Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.3/invoices/XXX (gdzie XXX to Id faktury sprzedaży w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.3/invoices/2901096   Dostępna jest możliwość pobrania dokumentu o konkretnym numerze: [GET] https://app.erpxt.pl/api2/public/v1.3/invoices/invoices?number={number} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.3/invoices?number=FS/21/7/1
Wskazówka
W API obsługiwane są faktury sprzedaży w walucie PLN. Nie są obsługiwane faktury w walutach obcych, oraz dokumenty anulowane. Faktury zaliczkowe oraz korekty są obsługiwane w innych metodach.

DODAWANIE NOWEGO DOKUMENTU FAKTURY SPRZEDAŻY

Dodawanie faktury sprzedaży: [POST] https://app.erpxt.pl/api2/public/v1.3/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie. Status zapłaty podczas dodawania faktury sprzedaży może przyjmować jedynie wartość: 0 - niezapłacona lub wartość: 1 - zapłacona całkowicie. Status 2 - zapłacona częściowo jest możliwy do odnotowania jedynie z poziomu aplikacji Comarch ERP XT. W przypadku braku oznaczenia statusu płatności, domyślnie dokument zostanie oznaczony jako brak zapłaty (0).
OSSProcedureCountryCode Kod kraju dla procedury OSS Nie. Parametr należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS".
IsOSSProcedure Oznaczenie procedury OSS (true / false) Nie
PurchasingPartyId
Id nabywcy na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
PaymentDeadline
Termin płatności Nie
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie. W przypadku braku daty w parametrach, ustawiana będzie data bieżąca.
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie. W przypadku braku wartości w tym polu, zostanie zastosowany algorytm od netto.
Items Pozycje dokumentu Nie. Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. Wystawienie faktury z produktem bez karty towarowej jest dostępne jedynie z poziomu aplikacji Comarch ERP XT.
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT Nie. Parametr należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS".
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie. W przypadku braku daty w parametrach, ustawiana będzie data bieżąca.
  Przykładowe zapytanie JSON: W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury sprzedaży.

EDYCJA FAKTURY SPRZEDAŻY

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.3/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie
OSSProcedureCountryCode Kod kraju dla procedury VAT OSS - do pobrania ze słownika kodów krajów UE tutaj Nie
IsOSSProcedure Oznaczenie procedury VAT OSS (true / false) Nie
PurchasingPartyId
Id nabywcy na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
PaymentDeadline
Termin płatności Nie
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie. W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu. Dla faktur finalnych nie ma możliwości zmiany algorytmu.
Items Pozycje dokumentu Nie, jeśli edytowana faktura zawiera pozycje.
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj, pole jest powiązane z procedurą VAT OSS Nie
       Id Id pozycji dokumentu w bazie danych Nie. W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
 
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez API można edytować jednie faktury zapisane do bufora.
  W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana ilości sztuk i ceny na fakturze o Id=2901095): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.  

ZATWIERDZANIE FAKTUR SPRZEDAŻY

Zatwierdzanie faktur sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.3/invoices/confirm W odpowiedzi zostanie wysłany status i JSON odpowiedzi.
Wskazówka
Metoda zatwierdza jedynie faktury sprzedaży. Korekty do tych dokumentów należy zatwierdzić oddzielną metodą.
Przykładowe zapytanie JSON: Przykładowa odpowiedź JSON:

USUWANIE FAKTURY SPRZEDAŻY

Usuwanie faktury sprzedaży: [DEL] https://app.erpxt.pl/api2/public/v1.3/invoices/XXX (gdzie XXX to Id dokumentu faktury w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.3/invoices/2901095 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktur sprzedaży jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać wydruk faktury poprzez API - kliknij tutaj.  

API – Faktura sprzedaży (wersja archiwalna 1.1)

POBIERANIE FAKTUR SPRZEDAŻY

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.1/invoices Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PaymentStatus Status płatności (0 - niezapłacona, 1 - zapłacona całkowicie, 2 - zapłacona częściowo)
PurchasingPartyId
Id kontrahenta na dokumencie
ReceivingPartyId
Id odbiorcy na dokumencie
PaymentTypeId
Id formy płatności
BankAccountId
Id rachunku bankowego
SalesDate Data sprzedaży
InvoiceType
Algorytm naliczania (0 - od cen netto / 1 - od cen brutto)
Items Pozycje dokumentu
$id Numer porządkowy w ramach odpowiedzi JSON
ProductId Id produktu
Quantity Ilość
ProductCurrencyPrice Cena sprzedaży
      ProductDescription
Opis produktu
Id ID pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 - dokument w buforze / 1 - dokument zatwierdzony na stałe)
Id ID dokumentu w bazie danych
Przykładowa odpowiedź JSON:
[
    {
        "$id": "1",
        "PaymentStatus": 0,
        "PurchasingPartyId": 2558640,
        "ReceivingPartyId": 2558641,
        "PaymentTypeId": 2015207,
        "BankAccountId": null,
        "SalesDate": "2020-06-24T00:00:00+01:00",
        "InvoiceType": 1,
        "Items": [
            {
                "$id": "2",
                "ProductId": 2290304,
                "Quantity": 1.0000,
                "ProductCurrencyPrice": 169.99,
                "ProductDescription": "",
                "Id": 4463601
            }
        ],
        "Description": "Opis faktury",
        "IssueDate": "2020-06-24T00:00:00+01:00",
        "Number": "FS/20/6/1",
        "Status": 1,
        "Id": 2760795
    },
   {
        "$id": "2",
        "PaymentStatus": 0,
        "PurchasingPartyId": 2558645,
        "ReceivingPartyId": null,
        "PaymentTypeId": 2015208,
        "BankAccountId": null,
        "SalesDate": "2020-07-28T00:00:00+01:00",
        "InvoiceType": 1,
        "Items": [
            {
                "$id": "4",
                "ProductId": 2290519,
                "Quantity": 1.0000,
                "ProductCurrencyPrice": 599.99,
                "ProductDescription": "",
                "Id": 4464201
            }
        ],
        "Description": null,
        "IssueDate": "2020-07-28T00:00:00+01:00",
        "Number": "FS/20/7/25",
        "Status": 1,
        "Id": 2761381
    }
]
  Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.1/invoices/XXX (gdzie XXX to Id dokumentu faktury sprzedaży w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.1/invoices/2789863 Przykładowa odpowiedź JSON:
{
    "$id": "1",
    "PaymentStatus": 1,
    "PurchasingPartyId": 2567977,
    "ReceivingPartyId": null,
    "PaymentTypeId": 2015209,
    "BankAccountId": 2004805,
    "SalesDate": "2020-10-26T00:00:00+01:00",
    "InvoiceType": 0,
    "Items": [
        {
            "$id": "2",
            "ProductId": 2301251,
            "Quantity": 10.0000,
            "ProductCurrencyPrice": 112.00,
            "ProductDescription": "",
            "Id": 4494377
        },
        {
            "$id": "3",
            "ProductId": 2301251,
            "Quantity": 10.0000,
            "ProductCurrencyPrice": 112.00,
            "ProductDescription": "",
            "Id": 4494378
        }
    ],
    "Description": null,
    "IssueDate": "2020-10-26T00:00:00+01:00",
    "Number": "FS/20/10/8",
    "Status": 0,
    "Id": 2789863
}
  Dostępna jest możliwość pobrania dokumentu o konkretnym numerze: [GET] https://app.erpxt.pl/api2/public/v1.1/invoices/number/XXX (gdzie XXX to numer dokumentu) Przykładowe zapytanie: https://app.erpxt.pl/api2/public/v1.1/invoices/number/FS/2021/1/6
Przykładowa odpowiedź JSON:
{
    "$id": "1",
    "PaymentStatus": 1,
    "PurchasingPartyId": 2541836,
    "ReceivingPartyId": 2541748,
    "PaymentTypeId": 2016674,
    "BankAccountId": 2004259,
    "SalesDate": "2021-01-07T00:00:00+01:00",
    "InvoiceType": 1,
    "Items": [
        {
            "$id": "2",
            "ProductId": 2276109,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": "4526160",
            "Id": 4526160
        }
    ],
    "Description": "2814943",
    "IssueDate": "2021-01-07T12:50:43+01:00",
    "Number": "FS/2021/1/6",
    "Status": 0,
    "Id": 2814943
}
Wskazówka
W API obsługiwane są faktury sprzedaży w buforze. Dodatkowo można pobrać dane i wydruki dla faktur zatwierdzonych na stałe. Nie są obsługiwane faktury zaliczkowe, faktury finalne, dokumenty anulowane oraz korekty.
Wskazówka
W API obsługiwane są faktury w walucie PLN. Nie są obsługiwane faktury w walutach obcych.

DODAWANIE NOWEGO DOKUMENTU FAKTURY SPRZEDAŻY

Dodawanie faktury sprzedaży: [POST] https://app.erpxt.pl/api2/public/v1.1/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus Status płatności (0 - niezapłacona, 1 - zapłacona całkowicie)1 Nie1
PurchasingPartyId Id kontrahenta na dokumencie Tak
ReceivingPartyId Id odbiorcy na dokumencie Nie
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
SalesDate Data sprzedaży w formacie RRRR-MM-DD Nie2
InvoiceType Algorytm naliczania (0 - od cen netto / 1 - od cen brutto) Nie3
Items Pozycje dokumentu Nie4
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductNetPrice
Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie5
1) Status zapłaty podczas dodawania faktury sprzedaży może przyjmować jedynie wartość: 0 - niezapłacona lub wartość: 1 - zapłacona całkowicie. Status 2 - zapłacona częściowo jest możliwy do odnotowania jedynie z poziomu aplikacji Comarch ERP XT. W przypadku braku oznaczenia statusu płatności, domyślnie dokument zostanie oznaczony jako brak zapłaty (0). 2) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 3) W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu 4) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 5) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. Przykładowe zapytanie JSON:
{
    "PaymentStatus": 1,
    "PurchasingPartyId": 2567977,
    "ReceivingPartyId": 2541748,
    "PaymentTypeId": 2015209,
    "BankAccountId": 2004805,
    "InvoiceType": 1,
    "Items": [
        {
            "ProductId": 2301251,
            "Quantity": 10.0000,
            "ProductCurrencyPrice": 112.00,
            "ProductDescription": "Opis dokumentu",
            "Id": 4494377
        }
    ]
}
W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury sprzedaży. Przykładowa odpowiedź:
2814937
Wskazówka
Podczas dodawania nowej faktury sprzedaży poprzez API, dokument będzie miał nadany numer zgodnie z domyślnym schematem numeracji, ustawionym w Comarch ERP XT.
Wskazówka
Faktury sprzedaży dodawane do Comarch ERP XT poprzez API zawsze będą miały status "Zapisane" (w buforze). Wszelkie dalsze operacje - np. zatwierdzenia i księgowania dokumentu - należy wykonywać po zalogowaniu do aplikacji.

EDYCJA FAKTURY SPRZEDAŻY

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.1/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus Status płatności (0 - niezapłacona, 1 - zapłacona całkowicie) Tak
PurchasingPartyId Id kontrahenta na dokumencie Tak
ReceivingPartyId Id odbiorcy na dokumencie Nie
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
SalesDate Data sprzedaży w formacie RRRR-MM-DD Nie
InvoiceType Algorytm naliczania (0 - od cen netto / 1 - od cen brutto) Nie2
Items Pozycje dokumentu Tak1
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyNetPrice
Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       Id
ID pozycji dokumentu w bazie danych Nie3
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu 3) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez interfejs API można edytować jednie faktury zapisane do bufora.
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON:
{
    "PaymentStatus": 1,
    "PurchasingPartyId": 2567977,
    "ReceivingPartyId": 2541748,
    "PaymentTypeId": 2015209,
    "BankAccountId": 2004805,
    "InvoiceType": 1,
    "Items": [
        {
            "ProductId": 2301251,
            "Quantity": 10.0000,
            "ProductCurrencyPrice": 112.00,
            "ProductDescription": "Opis dokumentu",
            "Id": 4494377
        }
    ],
    "Description": null,
    "IssueDate": "2020-10-26T00:00:00+01:00",
    "Id": 2814943
}
Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
brak treści
Uwaga
Opcja edycji faktury sprzedaży jest dostępna tylko dla dokumentów będących w buforze.

USUWANIE FAKTURY SPRZEDAŻY

Usuwanie faktury sprzedaży: [DEL] https://app.erpxt.pl/api2/public/v1.1/invoices/XXX (gdzie XXX to Id dokumentu faktury sprzedaży w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.1/invoices/2814943 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
brak treści
Uwaga
Opcja usuwania faktury sprzedaży jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać wydruk faktury sprzedaży poprzez API - kliknij tutaj.

API - Faktura sprzedaży (wersja archiwalna 1.2)

Wskazówka
Poniższe metody dotyczą faktur sprzedaży i faktur finalnych
 

POBIERANIE FAKTUR SPRZEDAŻY

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.2/invoices Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
OSSProcedureCountryCode Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE tutaj
IsOSSProcedure Oznaczenie procedury OSS (true / false)
IsFinal
Oznaczenie typu faktury  (true / false)
PurchasingPartyId
Id kontrahenta na dokumencie
ReceivingPartyId
Id odbiorcy na dokumencie
PaymentTypeId
Id formy płatności
BankAccountId
Id rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży
       ProductDescription
Opis produktu
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj, pole jest powiązane z procedurą OSS
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON: Przykładowa odpowiedź JSON dla faktury w procedurze VAT OSS:   Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.2/invoices/XXX (gdzie XXX to Id faktury sprzedaży w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/invoices/2901096   Dostępna jest możliwość pobrania dokumentu o konkretnym numerze: [GET] https://app.erpxt.pl/api2/public/v1.1/invoices/invoices?number={number} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/invoices?number=FS/21/7/1
Wskazówka
W ERP API obsługiwane są faktury sprzedaży w walucie PLN. Nie są obsługiwane faktury w walutach obcych, anulowane oraz korekty.

DODAWANIE NOWEGO DOKUMENTU FAKTURY SPRZEDAŻY

Dodawanie faktury sprzedaży: [POST] https://app.erpxt.pl/api2/public/v1.2/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie1
OSSProcedureCountryCode Kod kraju dla procedury OSS Nie6
IsOSSProcedure Oznaczenie procedury OSS (true / false) Nie
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie2
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie3
Items Pozycje dokumentu Nie4
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT Nie6
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie5
1) Status zapłaty podczas dodawania faktury sprzedaży może przyjmować jedynie wartość: 0 - niezapłacona lub wartość: 1 - zapłacona całkowicie. Status 2 - zapłacona częściowo jest możliwy do odnotowania jedynie z poziomu aplikacji Comarch ERP XT. W przypadku braku oznaczenia statusu płatności, domyślnie dokument zostanie oznaczony jako brak zapłaty (0). 2) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 3) W przypadku braku wartości w tym polu, zostanie zastosowany algorytm od netto. 4) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 5) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 6) Parametry należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS".   Przykładowe zapytanie JSON: W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury sprzedaży.

EDYCJA FAKTURY SPRZEDAŻY

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.2/invoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie
OSSProcedureCountryCode Kod kraju dla procedury VAT OSS - do pobrania ze słownika kodów krajów UE tutaj Nie
IsOSSProcedure Oznaczenie procedury VAT OSS (true / false) Nie
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie2, 4
Items Pozycje dokumentu Nie1
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj, pole jest powiązane z procedurą VAT OSS Nie
       Id Id pozycji dokumentu w bazie danych Nie3
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu 3) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami. 4) Dla faktur finalnych nie ma możliwości zmiany algorytmu.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez API można edytować jednie faktury zapisane do bufora.
  W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana ilości sztuk i ceny na fakturze o Id=2901095): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.  

ZATWIERDZANIE FAKTUR SPRZEDAŻY

Zatwierdzanie faktur sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.2/invoices/confirm W odpowiedzi zostanie wysłany status i JSON odpowiedzi.
Wskazówka
Metoda zatwierdza jedynie faktury sprzedaży. Korekty do tych dokumentów należy zatwierdzić w aplikacji.
Przykładowe zapytanie JSON: Przykładowa odpowiedź JSON:

USUWANIE FAKTURY SPRZEDAŻY

Usuwanie faktury sprzedaży: [DEL] https://app.erpxt.pl/api2/public/v1.2/invoices/XXX (gdzie XXX to Id dokumentu faktury w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.2/invoices/2901095 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktur sprzedaży jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać wydruk faktury poprzez API - kliknij tutaj.  

API – Faktura proforma (wersja archiwalna 1.1)

POBIERANIE FAKTUR PROFORMA

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.1/proformas Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PurchasingPartyId
Id kontrahenta na dokumencie
ReceivingPartyId
Id odbiorcy na dokumencie
PaymentTypeId
Id formy płatności
BankAccountId
Id rachunku bankowego
InvoiceType
Algorytm naliczania (0 - od cen netto / 1 - od cen brutto)
InvoiceDocIdNum
Id powiązanej faktury sprzedaży, faktury zaliczkowej lub powiązanego paragonu
Items Pozycje dokumentu
$id Numer porządkowy w ramach odpowiedzi JSON
ProductId Id produktu
Quantity Ilość
ProductCurrencyPrice Cena sprzedaży
      ProductDescription
Opis produktu
Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu: 0 - nieprzekształcony bezpośrednio do dokumentu sprzedażowego, 1 - przekształcony do faktury sprzedaży, faktury zaliczkowej lub paragonu
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
[
    {
        "$id": "1",
        "PurchasingPartyId": 2541748,
        "ReceivingPartyId": 2541749,
        "PaymentTypeId": 2016674,
        "BankAccountId": null,
        "InvoiceType": 0,
        "Items": [
            {
                "$id": "2",
                "ProductId": 2276109,
                "Quantity": 6.0000,
                "ProductCurrencyPrice": 100.00,
                "ProductDescription": "",
                "Id": 4421127
            }
        ],
        "Description": null,
        "IssueDate": "2019-12-24T00:00:00+01:00",
        "Number": "PF/19/12/1",
        "Status": 0,
        "Id": 2721058
    },
    {
        "$id": "3",
        "PurchasingPartyId": 2541748,
        "ReceivingPartyId": null,
        "PaymentTypeId": 2016674,
        "BankAccountId": null,
        "InvoiceType": 0,
        "Items": [
            {
                "$id": "4",
                "ProductId": 2276109,
                "Quantity": 6.0000,
                "ProductCurrencyPrice": 100.00,
                "ProductDescription": "",
                "Id": 4421128
            }
        ],
        "Description": null,
        "IssueDate": "2019-12-24T00:00:00+01:00",
        "Number": "PF/19/12/2",
        "Status": 0,
        "Id": 2721059
    }
]
Przykład
Lista faktur proforma, które zostały przekształcone do faktury sprzedaży, faktury zaliczkowej lub paragonu: [GET] https://app.erpxt.pl/api2/public/v1.1/proformas/?$filter=InvoiceDocIdNum ne null
  Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury proforma: [GET] https://app.erpxt.pl/api2/public/v1.1/proformas/XXX (gdzie XXX to Id dokumentu faktury sprzedaży w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.1/proformas/2812310 Przykładowa odpowiedź JSON:
{
    "$id": "1",
    "PurchasingPartyId": 2541748,
    "ReceivingPartyId": null,
    "PaymentTypeId": 2016674,
    "BankAccountId": 2004259,
    "InvoiceType": 0,
    "Items": [
        {
            "$id": "2",
            "ProductId": 2276109,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": "",
            "Id": 4520499
        },
        {
            "$id": "3",
            "ProductId": 2276109,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": "",
            "Id": 4520500
        }
    ],
    "Description": null,
    "IssueDate": "2021-01-04T00:00:00+01:00",
    "Number": "PF/21/1/17",
    "Status": 0,
    "Id": 2812310
}
  Dostępna jest możliwość pobrania dokumentu o konkretnym numerze: [GET] https://app.erpxt.pl/api2/public/v1.1/proformas/number/XXX (gdzie XXX to numer dokumentu) Przykładowe zapytanie: https://app.erpxt.pl/api2/public/v1.1/proformas/number/PF/21/1/17
Przykładowa odpowiedź JSON
{
    "$id": "1",
    "PurchasingPartyId": 2541748,
    "ReceivingPartyId": null,
    "PaymentTypeId": 2016674,
    "BankAccountId": 2004259,
    "InvoiceType": 0,
    "Items": [
        {
            "$id": "2",
            "ProductId": 2276109,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": "",
            "Id": 4520499
        },
        {
            "$id": "3",
            "ProductId": 2276109,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": "",
            "Id": 4520500
        }
    ],
    "Description": null,
    "IssueDate": "2021-01-04T00:00:00+01:00",
    "Number": "PF/21/1/17",
    "Status": 0,
    "Id": 2812310
}
Wskazówka
W API obsługiwane są faktury w walucie PLN. Nie są obsługiwane faktury w walutach obcych.

DODAWANIE NOWEGO DOKUMENTU FAKTURY PROFORMA

Dodawanie faktury sprzedaży: [POST] https://app.erpxt.pl/api2/public/v1.1/proformas
Wskazówka
Faktury proforma dodawane do Comarch ERP XT poprzez API zawsze będą miały status „Zapisane”. Wszelkie dalsze przekształcenia należy wykonywać po zalogowaniu do aplikacji.
Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId Id kontrahenta na dokumencie Tak
ReceivingPartyId Id odbiorcy na dokumencie Nie
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
InvoiceType Algorytm naliczania (0 - od cen netto / 1 - od cen brutto) Nie1
Items Pozycje dokumentu Nie2
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie3
Description Opis dokumentu Nie
1) W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu 2) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 3) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. Przykładowe zapytanie JSON:
{
    "PurchasingPartyId": 2541748,
    "ReceivingPartyId": null,
    "PaymentTypeId": 2016674,
    "BankAccountId": 2004259,
    "InvoiceType": 0,
    "Items": [
        {
            "$id": "2",
            "ProductId": 2276109,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": ""
        }
    ],
    "Description": "Opis",
}
W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury proforma. Przykładowa odpowiedź:
2814939
Wskazówka
Podczas dodawania nowej faktury proforma poprzez API, dokument będzie miał nadany numer zgodnie z domyślnym schematem numeracji, ustawionym w Comarch ERP XT.

EDYCJA FAKTURY PROFORMA

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.1/proformas Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId Id kontrahenta na dokumencie Tak
ReceivingPartyId Id odbiorcy na dokumencie Nie
PaymentTypeId Id formy płatności Tak
BankAccountId Id rachunku bankowego Nie
InvoiceType Algorytm naliczania (0 - od cen netto / 1 - od cen brutto) Nie1
Items Pozycje dokumentu Tak2
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       Id
ID pozycji dokumentu w bazie danych Nie3
IssueDate Data wystawienia dokumentu w formacie RRRR-MM-DD Nie
Id Id dokumentu w bazie danych Tak
1) W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu 2) Jeśli edytowana faktura zawiera pozycje. 3) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez API można edytować jednie faktury bez przekształceń (Status = 0).
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON:
{
    "PurchasingPartyId": 2541748,
    "ReceivingPartyId": null,
    "PaymentTypeId": 2016674,
    "BankAccountId": 2004259,
    "InvoiceType": 0,
    "Items": [
        {
            "$id": "2",
            "ProductId": 2276109,
            "Quantity": 1.0000,
            "ProductCurrencyPrice": 100.00,
            "ProductDescription": "",
            "Id": 4520499
        }
    ],
    "Description": null,
    "Id": 2814939
}
  Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
brak treści
Uwaga
Opcja edycji faktury proforma jest dostępna tylko dla dokumentów bez przekształceń.

USUWANIE FAKTURY PROFORMA

Usuwanie faktur proforma: [DEL] https://app.erpxt.pl/api2/public/v1.1/proformas/XXX (gdzie XXX to Id dokumentu faktury sprzedaży w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.1/proformas/12 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem:
brak treści
  Usuwanie wielu faktur proforma: [DEL] https://app.erpxt.pl/api2/public/v1.1/proformas, która przyjmuje obiekt o polu IdCollection który zawiera tablice reprezentującą numeru Id dokumentów do usunięcia. Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.1/proformas Opis struktury JSON zapytania:
{
    "IdCollection": [
        19697349,
        19697317
    ]
}
Przykładowa odpowiedź JSON:
{
    "Statuses": [
        {
            "Id": 19697349
            "Success": true
        },
        {
            "Id": 19697317,
            "Success": false,
            "Error": {
            "Message": "Tego dokumentu nie można zmodyfikować lub usunąć.",
            "Code": "DocumentException"
            }
        }
    ]
}
Uwaga
Opcja usuwania faktury proforma jest dostępna tylko dla dokumentów bez przekształceń.
  Aby dowiedzieć się jak pobrać wydruk faktury proforma poprzez API – kliknij tutaj.

API - Faktura proforma (wersja archiwalna 1.2)

POBIERANIE FAKTUR PROFORMA

Pobieranie faktur proforma: [GET] https://app.erpxt.pl/api2/public/v1.2/proformas Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PurchasingPartyId
Id kontrahenta na dokumencie
ReceivingPartyId
Id odbiorcy na dokumencie
PaymentTypeId
Id formy płatności
BankAccountId
Id rachunku bankowego
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
OSSProcedureCountryCode
Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE tutaj
IsOSSProcedure
Oznaczenie procedury OSS (true / false)
InvoiceDocIdNum
Id powiązanej faktury sprzedaży, faktury zaliczkowej lub powiązanego paragonu
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena netto sprzedaży
       ProductDescription
Opis produktu
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj, pole jest powiązane z procedurą OSS
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu: 0 – nieprzekształcony bezpośrednio do dokumentu sprzedażowego, 1 – przekształcony do faktury sprzedaży, faktury zaliczkowej lub paragonu
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:
Przykład
Lista faktur proforma, które zostały przekształcone do faktury sprzedaży, faktury zaliczkowej lub paragonu: [GET] https://app.erpxt.pl/api2/public/proformas/?$filter=InvoiceDocIdNum ne null
  Możliwe jest także pobranie danych na temat określonego dokumentu faktury proforma: [GET] https://app.erpxt.pl/api2/public/v1.2/proformas/XXX (gdzie XXX to Id dokumentu proforma w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/proformas/2901092

DODAWANIE NOWEGO DOKUMENTU FAKTURY PROFORMA

Dodawanie faktury proforma: [POST] https://app.erpxt.pl/api2/public/v1.2/proformas
Wskazówka
Faktury proforma dodawane do Comarch ERP XT poprzez API zawsze będą miały status "Zapisane". Wszelkie dalsze przekształcenia należy wykonywać po zalogowaniu do aplikacji.
Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie1
OSSProcedureCountryCode
Kod kraju dla procedury VAT OSS Nie4
IsOSSProcedure
Oznaczenie procedury VAT OSS Nie
Items Pozycje dokumentu Nie2
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT Nie4
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie3
1) W przypadku braku oznaczenia algorytmu, domyślnie zostanie zastosowane obliczenie od netto. 2) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 3) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 4) Parametry należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS". Przykładowe zapytanie JSON: W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury proforma.

EDYCJA FAKTURY PROFORMA

Edycja faktury proforma: [PUT] https://app.erpxt.pl/api2/public/v1.2/proformas Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie
OSSProcedureCountryCode
Kod kraju dla procedury VAT OSS Nie3
IsOSSProcedure
Oznaczenie procedury VAT OSS Nie
Items Pozycje dokumentu Nie1
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena netto sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT Nie3
       Id Id pozycji dokumentu w bazie danych Nie2
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami. 3) Parametry należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS".
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez API można edytować jednie faktury bez przekształceń (Status = 0).
W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana ilości sztuk na proformie o Id=2901094): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.  

USUWANIE FAKTURY PROFORMA

Usuwanie faktury proforma: [DEL] https://app.erpxt.pl/api2/public/proformas/XXX (gdzie XXX to Id dokumentu faktury proforma w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/proformas/2901094 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktury proforma jest dostępna tylko dla dokumentów bez przekształceń.
  Aby dowiedzieć się jak pobrać wydruk faktury proforma poprzez API - kliknij tutaj.    

API - Faktura zaliczkowa (wersja archiwalna 1.2)

POBIERANIE FAKTUR ZALICZKOWYCH

Pobieranie faktur zaliczkowych: [GET] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
OSSProcedureCountryCode Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE tutaj
IsOSSProcedure Oznaczenie procedury OSS (true / false)
PurchasingPartyId
Id kontrahenta na dokumencie
ReceivingPartyId
Id odbiorcy na dokumencie
PaymentTypeId
Id formy płatności
BankAccountId
Id rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
CurrencyAdvance
Wartość zaliczki
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży
       ProductDescription
Opis produktu
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj, pole jest powiązane z procedurą OSS
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON: Przykładowa odpowiedź JSON dla faktury w procedurze VAT OSS:   Możliwe jest także pobranie danych dotyczących określonego dokumentu faktury zaliczkowej: [GET] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/XXX (gdzie XXX to id faktury zaliczkowej w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/2901096   Dostępna jest możliwość pobrania dokumentu o konkretnym numerze: [GET] https://app.erpxt.pl/api2/public/v1.1/advanceInvoices/invoices?number={number} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices?number=FAZAL/2022/8  
Wskazówka
W ERP API obsługiwane są faktury zaliczkowe w walucie PLN. Nie są obsługiwane faktury w walutach obcych, anulowane oraz korekty.

DODAWANIE NOWEGO DOKUMENTU FAKTURY ZALICZKOWEJ

Dodawanie faktury zaliczkowej: [POST] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie1
OSSProcedureCountryCode Kod kraju dla procedury OSS Nie6
IsOSSProcedure Oznaczenie procedury OSS (true / false) Nie
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie2
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie3
Items Pozycje dokumentu Nie4
CurrencyAdvance
Wartość zaliczki Nie7
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
VatRateId Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj, pole jest powiązane z procedurą OSS Nie6
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie5
1) Status zapłaty podczas dodawania faktury zaliczkowej może przyjmować jedynie wartość: 0 - niezapłacona lub wartość: 1 - zapłacona całkowicie. Status 2 - zapłacona częściowo jest możliwy do odnotowania jedynie z poziomu aplikacji Comarch ERP XT. W przypadku braku oznaczenia statusu płatności, domyślnie dokument zostanie oznaczony jako brak zapłaty (0). 2) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 3) W przypadku braku wartości w tym polu, zostanie zastosowany algorytm od netto. 4) Można wystawić dokument bez dodanych pozycji. Jeśli jednak Użytkownik zdecyduje się użyć sekcji "Items", wówczas należy wypełnić pola obowiązkowe. 5) W przypadku braku daty w parametrach, ustawiana będzie data bieżąca. 6) Parametry należy określić w przypadku wskazania kontrahenta o statusie "Procedura OSS". 7) W przypadku braku uzupełnienia tego pola dokument zostanie wystawiony z zerową zaliczką   Przykładowe zapytanie JSON: W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury zaliczkowej.  

DODAWANIE POWIĄZANEJ FAKTURY ZALICZKOWEJ

Dodawanie powiązanej faktury zaliczkowej: [POST] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices?advanceId={id} Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices?advanceId=3006043 W odpowiedzi zostanie wysłane ID nowej powiązanej faktury zaliczkowej. Faktura będzie zapisana do bufora oraz wartość zaliczki będzie wynosić zero PLN. W przypadku podania w zapytaniu błędnego id, w odpowiedzi JSON, mogą pojawić się następujące komunikaty: ErrorCode 1 - kontrahent jest zanonimizowany ErrorCode 2 - dokument nie jest fakturą zaliczkową ErrorCode 3 - dokument posiada korektę w buforze ErrorCode 4 - dokument jest anulowany ErrorCode 5 - dokument jest w buforze ErrorCode 6 - dokument jest korektą faktury zaliczkowej ErrorCode 7 - dokument już został przekształcony do finalnej ErrorCode 8 - dokument nie jest możliwy do przekształcenia (wystawiony przed 2019 rokiem) ErrorCode 9 - dokument jest fakturą finalną Przykładowa odpowiedź JSON:

EDYCJA FAKTURY ZALICZKOWEJ

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo) Nie
OSSProcedureCountryCode Kod kraju dla procedury VAT OSS - do pobrania ze słownika kodów krajów UE tutaj Nie
IsOSSProcedure Oznaczenie procedury VAT OSS (true / false) Nie
PurchasingPartyId
Id kontrahenta na dokumencie Tak
ReceivingPartyId
Id odbiorcy na dokumencie Nie
PaymentTypeId
Id formy płatności Tak
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto) Nie2
Items Pozycje dokumentu Nie1
CurrencyAdvance
Wartość zaliczki Nie2
       ProductId Id produktu Tak
       Quantity Ilość Tak
       ProductCurrencyPrice Cena sprzedaży Tak
       ProductDescription
Opis produktu Nie
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj, pole jest powiązane z procedurą VAT OSS Nie
       Id Id pozycji dokumentu w bazie danych Nie3
Description Opis dokumentu Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
1) Jeśli edytowana faktura zawiera pozycje. 2) W przypadku braku wartości w tym polu podstawiona będzie wartość domyślna dla dokumentu 3) W przypadku pominięcia numeru Id pozycji podczas operacji edycji, zostanie dodana kolejna pozycja do dokumentu ze wskazanymi parametrami.
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez API można edytować jednie faktury zapisane do bufora.
Wskazówka
Dedykowany schemat numeracji dla faktur zaliczkowych można utworzyć w aplikacji. W przypadku jego braku dokumenty będą dodawane ze schematem faktur sprzedaży.
  W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zmiana kwoty zaliczki na fakturze o Id=2994705): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.  

ZATWIERDZANIE FAKTUR ZALICZKOWYCH

Zatwierdzanie faktur zaliczkowych: [PUT] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/confirm W odpowiedzi zostanie wysłany status i JSON odpowiedzi.
Wskazówka
Metoda zatwierdza jedynie faktury zaliczkowe. Korekty do tych dokumentów należy zatwierdzić w aplikacji.
Przykładowe zapytanie JSON: Przykładowa odpowiedź JSON:

USUWANIE FAKTURY ZALICZKOWEJ

Usuwanie faktury sprzedaży: [DEL] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/XXX (gdzie XXX to Id dokumentu faktury zaliczkowej w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.2/advanceInvoices/2901095 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktury zaliczkowej jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać wydruk faktury zaliczkowej poprzez API - kliknij tutaj.    

API - Korekty (wersja archiwalna 1.3)

POBIERANIE FAKTUR KORYGUJĄCYCH

Pobieranie faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.3/correctiveinvoices Opis struktury JSON odpowiedzi:
Parametr Opis
$id Numer porządkowy w ramach odpowiedzi JSON
PurchasingPartyId
Id nabywcy na dokumencie
PurchasingParty
Dane nabywcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
ReceivingPartyId
Id odbiorcy na dokumencie
ReceivingParty
Dane odbiorcy na dokumencie (CustomerType: 0 - osoba fizyczna, 1 - podmiot gospodarczy)
PaymentTypeId
Id formy płatności
PaymentType
Typ płatności (0 - płatność gotówką, 1- płatność na konto, 2 - płatność kartą)
PaymentDeadline
Termin płatności
BankAccountId
Id rachunku bankowego
BankAccountNumber
Numer rachunku bankowego
SalesDate
Data sprzedaży
InvoiceType
Algorytm obliczania (0 - od netto / 1 - od brutto)
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie, 2 – zapłacona częściowo)
OSSProcedureCountryCode Kod kraju dla procedury OSS - do pobrania ze słownika kodów krajów UE tutaj
IsOSSProcedure Oznaczenie procedury OSS (true / false)
CorrectedId Id dokumentu korygowanego
CorrectionReasonText Przyczyna korekty
Items Pozycje dokumentu
       $id Numer porządkowy w ramach odpowiedzi JSON
       ProductId Id produktu
       Quantity Ilość
       ProductCurrencyPrice Cena sprzedaży
       ProductName Nazwa produktu
       ProductDescription
Opis produktu
       UnitOfMeasurement
Jednostka miary
       VatRateId
Id stawki VAT - do pobrania ze słownika unijnych stawek VAT tutaj, pole jest powiązane również z procedurą OSS
       CorrectedId
Id pozycji korygowanej w bazie danych (pozycji na dokumencie korygowanym)
       Id Id pozycji dokumentu w bazie danych
Description Opis dokumentu
IssueDate Data wystawienia dokumentu
Number Numer dokumentu
Status Status dokumentu (0 – dokument w buforze / 1 – dokument zatwierdzony na stałe)
Id Id dokumentu w bazie danych
Przykładowa odpowiedź JSON:

DODAWANIE NOWEGO DOKUMENTU FAKTURY KORYGUJĄCEJ

Dodawanie faktury korygującej: [POST] https://app.erpxt.pl/api2/public/v1.3/correctiveinvoices?documentId=XXX (gdzie XXX to Id dokumentu faktury korygowanej w bazie danych) W odpowiedzi zostanie wysłane ID dodanego dokumentu faktury korygującej z wartościami identycznymi jak na fakturze korygowanej. W kolejnym kroku należy przy wykorzystaniu metody [PUT] nanieść odpowiednie modyfikacje wynikające z procesu korygowania dokumentu.

EDYCJA FAKTURY KORYGUJĄCEJ

Edycja faktury sprzedaży: [PUT] https://app.erpxt.pl/api2/public/v1.3/correctiveinvoices Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentStatus
Status płatności (0 – niezapłacona, 1 – zapłacona całkowicie) Nie
PaymentTypeId
Id formy płatności Tak
PaymentDeadline
Termin płatności Nie
BankAccountId
Id rachunku bankowego Nie
SalesDate
Data sprzedaży Nie
Items Pozycje dokumentu Nie, chyba że korekta dotyczy pozycji (korygowana jest ilość, cena netto stawka VAT lub opis) - wtedy należy podać wszystkie poniższe parametry
       ProductId Id produktu Nie, jw.
       Quantity Ilość Nie, jw.
       ProductCurrencyPrice Cena sprzedaży Nie, jw.
       ProductDescription
Opis produktu Nie, jw.
       VatRateId
Id stawki VAT - do pobrania ze słownika stawek VAT tutaj Nie, jw.
       Id Id pozycji dokumentu w bazie danych Nie, jw.
Description Opis dokumentu Nie
CorrectionReasonText Przyczyna korekty Nie
IsOSSProcedure Oznaczenie procedury OSS (true / false) Nie
IssueDate Data wystawienia dokumentu Nie
Id Id dokumentu w bazie danych Tak
Uwaga
W przypadku pominięcia parametrów nieobowiązkowych, zostaną one nadpisane domyślnymi lub pustymi wartościami.
Uwaga
Poprzez interfejs API można edytować jednie faktury zapisane do bufora.
  W odpowiedzi zostanie wysłany status i ewentualnie JSON odpowiedzi. Przykładowe zapytanie JSON (zwrot towaru, faktura korygująca o Id=23323962): Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.

ZATWIERDZANIE FAKTUR KORYGUJĄCYCH

Zatwierdzanie faktur korygujących: [PUT] https://app.erpxt.pl/api2/public/v1.3/correctiveinvoices/confirm W odpowiedzi zostanie wysłany status i JSON odpowiedzi. Przykładowe zapytanie JSON: Przykładowa odpowiedź JSON:

USUWANIE FAKTURY KORYGUJĄCYCH

Usuwanie faktury korygującej: [DEL] https://app.erpxt.pl/api2/public/v1.3/correctiveinvoices/XXX (gdzie XXX to Id dokumentu faktury korygującej w bazie danych) Przykładowe zapytanie: [DEL] https://app.erpxt.pl/api2/public/v1.3/correctiveinvoices/23324066 Przykładowa odpowiedź JSON – status 204 No Content - operacja zakończona powodzeniem.
Wskazówka
Opcja usuwania faktur korygujących jest dostępna tylko dla dokumentów będących w buforze.
  Aby dowiedzieć się jak pobrać wydruk faktury korygującej poprzez API - kliknij tutaj.  

KOREKTY DO FAKTUR ZALICZKOWYCH

W przypadku dokumentów korygujących do faktur zaliczkowych należy skorzystać z analogicznych metod jak opisane powyżej dla faktur sprzedaży: [GET] https://app.erpxt.pl/api2/public/v1.3/correctiveadvanceinvoices [POST] https://app.erpxt.pl/api2/public/v1.3/correctiveadvanceinvoices?documentId=XXX [PUT] https://app.erpxt.pl/api2/public/v1.3/correctiveadvanceinvoices [PUT] https://app.erpxt.pl/api2/public/v1.3/correctiveadvanceinvoices/confirm [DEL] https://app.erpxt.pl/api2/public/v1.3/correctiveadvanceinvoices/XXX
Wskazówka
W przypadku faktur zaliczkowych dodatkowo zwracane jest pole dotyczące zaliczki: "CurrencyAdvance". Pole jest możliwe do edycji. W odróżnieniu od korekt do faktur sprzedaży, w przypadku korekt do faktur zaliczkowych nie można edytować ilości, ceny oraz stawki VAT produktów.
 

API - Płatności (wersja archiwalna 1.4)

POBIERANIE PŁATNOŚCI

Pobieranie płatności: [GET] https://app.erpxt.pl/api2/public/v1.4/paymentdetails Opis struktury JSON odpowiedzi:
Parametr Opis
PaymentId Id płatności
PaymentType INCOME - faktura sprzedaży OUTCOME - faktura zakupu INCOME_TAX - zaliczki i deklaracje dotyczące podatku dochodowego TAX_OR_FEE - inne podatki i opłat (składki PPK) VAT - podatek VAT SOCIAL_INSURANCE – składki ZUS
DocumentNumber Numer dokumentu
CorrectedDocumentId Jeżeli płatność jest do korekty - Id dokumentu korygowanego
CorrectedDocumentType Jeżeli płatność jest do korekty - typ dokumentu korygowanego, przyjmuje wartości zgodne z opisem do pola DocumentType
CorrectionReason Jeżeli płatność jest do korekty - przyczyna korekty jeżeli uzupełniono na fakturze
CreationDate Data utworzenia płatności
UpdateDate Data ostatniej aktualizacji płatności
IssueDate Data płatności/dokumentu
DueDate Termin płatności
SenderTaxId NIP nadawcy płatności
SenderName Nazwa firmy nadawcy płatności
SenderAddress Adres firmy nadawcy płatności
      Street Ulica
      HouseNumber Numer domu
      ApartmentNumbe Numer lokalu
      ZipCode Kod pocztowy
      City Miasto
      Region Województwo
RecipientTaxId NIP odbiorcy płatności
RecipientName Nazwa firmy odbiorcy płatności
RecipientAddress Adres firmy odbiorcy płatności
      Street Ulica
      HouseNumber Numer domu
      ApartmentNumbe Numer lokalu
      ZipCode Kod pocztowy
      City Miasto
      Region Województwo
RecipientAccountNumber Numer rachunku bankowego odbiorcy płatności (w formacie IBAN czyli z prefiksem kraju)
Amount Kwota płatności/dokumentu
VatAmount Kwota VAT z dokumentu
SplitPayment Czy zastosowano Metodę Podzielonej Płatności: true - tak, false - nie
Payable Czy podlega rozliczeniu: true - tak, status płatności Nie rozliczono lub Częściowo rozliczono false - nie, status płatności to Anulowany lub Całkowicie rozliczony
Currency Waluta płatności
Balance Kwota pozostająca do zapłaty
Title Tytuł płatności (opis do banku)
DocumentType Typ dokumentu źródłowego: Invoice - faktura sprzedaży zwykła lub finalna AdvanceInvoice - faktura zaliczkowa PurchaseInvoice - faktura zakupu CorrectiveInvoice - korekta do faktury sprzedaży CorrectiveAdvanceInvoice - korekta do faktury sprzedaży zaliczkowej CorrectiveFiscalReceipt - korekta do paragonu CorrectivePurchaseInvoice - korekta do faktury zakupu FiscalReceipt - paragon Receipt - rachunek VatSaleBook - faktura sprzedaży dodana bezpośrednio w Rejestrze sprzedaży VAT VatPurchaseBook - faktura zakupu dodana bezpośrednio w Rejestrze zakupów VAT Vat7Declaration - deklaracja VAT/JPK_V7 Pit36Advance - zaliczka na PIT-36 Pit36LAdvance - zaliczka na PIT-36L Pit36Declaration - deklaracja PIT-36 Pit36LDeclaration - deklaracja PIT-36L ProfitMarginInvoice - faktura sprzedaży VAT marża CorrectiveProfitMarginInvoice - korekta faktury sprzedaży VAT marża OpeningBalanceItem - bilansu otwarcia BookEntryItem - zapis księgowegy Cit8Advance - zaliczka na CIT-8 Cit8Declaration - deklaracja CIT-8 PPKContributions - składka PPK ViudoDeclaration - deklaracja VIU-DO Pit28Advance - zaliczka na PIT-28 Pit28Declaration - deklaracja PIT-28 CostBook - dokument w Ewidencji Dodatkowej Kosztów RevenueBook - dokument w Ewidencji Dodatkowej Przychodów None - płatności zaimportowane z Optimy przez IWD
Przykładowa odpowiedź JSON:
[
    {
        "PaymentId": "2692559",
        "PaymentType": "INCOME",
        "Amount": 100.00,
        "Payable": true,
        "VatAmount": 18.70,
        "DocumentId": "1996055",
        "DocumentNumber": "FS/24/6/10",
        "DocumentType": "Invoice",
        "CreationDate": "2024-06-05T15:34:27",
        "UpdateDate": "2024-06-05T15:34:29",
        "IssueDate": "2024-06-05T00:00:00",
        "DueDate": "2024-06-05T00:00:00",
        "SenderTaxId": "6770065406",
        "SenderName": "COMARCH SPÓŁKA AKCYJNA",
        "SenderAddress": {
            "street": "Aleja Jana Pawła II",
            "zipCode": "31-864",
            "houseNumber": "39 A",
            "apartmentNumber": "",
            "city": "Kraków",
            "region": ""
        },
        "RecipientTaxId": "7571254424",
        "RecipientName": "Firma Demo",
        "RecipientAddress": {
            "street": "Testowa",
            "zipCode": "20-000",
            "houseNumber": "1a",
            "apartmentNumber": "2b",
            "city": "Lublin",
            "region": "lubelskie"
        },
        "RecipientAccountNumber": null,
        "SplitPayment": false,
        "Currency": "PLN",
        "Balance": 100.00,
        "Title": [
            "Zapłata za FS/24/6/10"
        ],
        "ExchangeRate": 1.0000
    },
    {
        "PaymentId": "2692567",
        "PaymentType": "OUTCOME",
        "Amount": -50.00,
        "Payable": true,
        "VatAmount": -9.35,
        "DocumentId": "1996061",
        "DocumentNumber": "FS/24/2000",
        "DocumentType": "PurchaseInvoice",
        "CreationDate": "2024-06-05T15:35:51",
        "UpdateDate": "2024-06-05T15:35:53",
        "IssueDate": "2024-06-05T00:00:00",
        "DueDate": "2024-06-05T00:00:00",
        "SenderTaxId": "7571254424",
        "SenderName": "Firma Demo",
        "SenderAddress": {
            "street": "Testowa",
            "zipCode": "20-000",
            "houseNumber": "1a",
            "apartmentNumber": "2b",
            "city": "Lublin",
            "region": "lubelskie"
        },
        "RecipientTaxId": "6751382502",
        "RecipientName": "COMARCH HEALTHCARE SPÓŁKA AKCYJNA",
        "RecipientAddress": {
            "street": "Aleja Jana Pawła II",
            "zipCode": "31-864",
            "houseNumber": "39A",
            "apartmentNumber": "",
            "city": "Kraków",
            "region": ""
        },
        "RecipientAccountNumber": null,
        "SplitPayment": false,
        "Currency": "PLN",
        "Balance": 0.0,
        "Title": [
            "Zapłata za FS/24/2000"
        ],
        "ExchangeRate": 1.0000
    }
]
Możliwe jest także pobranie szczegółów dla jednej płatności: [GET] https://app.erpxt.pl/api2/public/v1.4/paymentdetails/XXX (gdzie XXX to Id płatności w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/paymentdetails/2692651 Przykładowa odpowiedź JSON:
{
    "PaymentId": "2692651",
    "PaymentType": "INCOME",
    "Amount": 400.00,
    "Payable": true,
    "VatAmount": 74.80,
    "DocumentId": "1996095",
    "DocumentNumber": "KOR/24/6/2",
    "DocumentType": "CorrectiveInvoice",
    "CorrectedDocumentId": "1996055",
    "CorrectedDocumentType": "Invoice",
    "CorrectionReason": "",
    "CreationDate": "2024-06-05T15:47:26",
    "UpdateDate": "2024-06-05T15:47:29",
    "IssueDate": "2024-06-05T00:00:00",
    "DueDate": "2024-06-05T00:00:00",
    "SenderTaxId": "6770065406",
    "SenderName": "COMARCH SPÓŁKA AKCYJNA",
    "SenderAddress": {
        "street": "Aleja Jana Pawła II",
        "zipCode": "31-864",
        "houseNumber": "39 A",
        "apartmentNumber": "",
        "city": "Kraków",
        "region": ""
    },
    "RecipientTaxId": "7571254424",
    "RecipientName": "Firma Demo",
    "RecipientAddress": {
        "street": "Testowa",
        "zipCode": "20-000",
        "houseNumber": "1a",
        "apartmentNumber": "2b",
        "city": "Lublin",
        "region": "lubelskie"
    },
    "RecipientAccountNumber": null,
    "SplitPayment": false,
    "Currency": "PLN",
    "Balance": 380.00,
    "Title": [
        "Zapłata za KOR/24/6/2"
    ],
    "ExchangeRate": 1.0000
}
 

POBIERANIE STATUSU PŁATNOŚCI

Pobieranie statusu płatności: [GET] https://app.erpxt.pl/api2/public/v1.4/payments W zapytaniu należy podać Id płatności, które mają zostać pobrane W odpowiedzi zostanie wysłany status płatności.
Parametr Opis
PaymentId Id płatności
PaymentStatus 0 - nierozliczona 1 - częściowo rozliczona 2 - całkowicie rozliczona 4 - do dokumentu anulowanego 5 - anulowana
Amount Kwota płatności/dokumentu
Balance Kwota pozostająca do zapłaty w walucie płatności, dla płatności anulowanej: 0
Currency Waluta dokumentu/płatności
Przykładowe zapytanie JSON:
{
    "IdCollection": [
        2692559,
        2692567
    ]
}
Przykładowa odpowiedź JSON:
[
    {
        "PaymentId": 2692559,
        "Amount": 100.00,
        "Balance": 100.00,
        "Currency": "PLN",
        "PaymentStatus": 0
    },
    {
        "PaymentId": 2692567,
        "Amount": 50.00,
        "Balance": 0.0,
        "Currency": "PLN",
        "PaymentStatus": 2
    }
]
  Możliwe jest także pobranie statusu dla jednej płatności: [GET] https://app.erpxt.pl/api2/public/v1.4/payments/XXX (gdzie XXX to Id płatności w bazie danych) Przykładowe zapytanie: [GET] https://app.erpxt.pl/api2/public/v1.4/payments/2692651 Przykładowa odpowiedź JSON:
{
    "PaymentId": 2692651,
    "Amount": 400.00,
    "Balance": 380.00,
    "Currency": "PLN",
    "PaymentStatus": 1
}
 

AKTUALIZACJA STATUSU PŁATNOŚCI

Aktualizacja statusu płatności: [PUT] https://app.erpxt.pl/api2/public/v1.4/payments Opis struktury JSON zapytania:
Parametr Opis Czy parametr obowiązkowy?
PaymentIds Identyfikator płatności, które ma zostać rozliczone. Można podać więcej niż jedną płatność oddzielając Id przecinkami. Oznacza to, że dana wpłata będzie rozliczała więcej dokumentów. Kolejność rozliczania wg kolejności przesłanych Id płatności. Tak
Cancelled Czy płatność anulowana: true - tak, false - nie Tak
PaymentDate Data płatności Tak, jeżeli Cancelled jest false
AmountPaid Kwota zapłacona w walucie dokumentu, znak kwoty warunkuje kierunek płatności Tak, jeżeli Cancelled jest false
BankAccountNumber Rachunek bankowy: - dla wpłat - numer rachunku, na który przyszedł przelew, - dla wypłat - numer rachunku, z którego wyszedł przelew Tak, jeżeli Cancelled jest false
CurrencyCode Symbol waluty Nie
CurrencyRateType Typ kursu waluty Nie
CurrencyRateDate Data kursu Nie
CurrencyConverter Mianownik kursu waluty Nie
CurrencyRate Licznik kursu waluty Nie
CustomerBankAccountNumber Rachunek bankowy: - dla wpłat - numer rachunku, na który przyszedł przelew, - dla wypłat - numer rachunku, z którego wyszedł przelew Nie
CustomerTIN NIP kontrahenta Nie
Description Opis, tytuł płatności Nie
Przykładowe zapytanie JSON:
{
    "PaymentIds": [
        2692651,
        2691813
    ],
    "CustomerTIN" : "6770065406",
    "Cancelled" : false,
    "PaymentDate": "2024-01-15",
    "AmountPaid" : "450",
    "BankAccountNumber" : "76906810134600238781879677"
}
Przykładowa odpowiedź JSON:
[
    {
        "Updated": true,
        "Message": "Płatność została zaktualizowana.",
        "PaymentId": 2692651
    },
    {
        "Updated": true,
        "Message": "Płatność została zaktualizowana.",
        "PaymentId": 2691813
    }
]
W odpowiedzi JSON, mogą pojawić się następujące komunikaty błędów: ErrorCode 0 - Płatność jest już rozliczona i nie może zostać anulowana. ErrorCode 1 - Płatność jest już całkowicie rozliczona (jeżeli status całkowicie rozliczona) ErrorCode 2 - Płatność nie podlega rozliczeniu (jeżeli inny status) ErrorCode 3 - Kierunek płatności nie zgadza się z kierunkiem zapłaty ErrorCode 4 - Waluta płatności różna od waluty zapłaty ErrorCode 5 - W Comarch ERP XT nie ma rachunku o numerze .... Utwórz rachunek. ErrorCode 6 - Nie można rozliczać niezatwierdzonych płatności ErrorCode 7 - Płatność nie została rozliczona ErrorCode 8 - Waluta przypisana do rachunku bankowego nie zgadza się z walutą aktualizowanej płatności. Zobacz także: API - Historia zmian