17 czerwca 2024
Zamówienia - rozszerzymy dane do faktury o numery fakturowe i dodamy informacje o płatniku VAT
27 czerwca rozszerzymy dane do faktury o numery fakturowe i dodamy informacje o płatniku VAT.
Jakich zasobów dotyczy zmiana?
Zmiana dotyczy:
Jak jest obecnie?
Uzupełniony przez kupującego numer podatkowy zwracamy w polu “invoice.address.company.taxId”:
…
"invoice":{
"required":true,
"address":{
"street":"Grunwaldzka 182",
"city":"Poznań",
"zipCode":"60-166",
"countryCode":"PL",
"company":{
"name":"Allegro",
"taxId":"5252674798"
},
…
i różni się w zależności od kraju adresu (“invoice.address.countryCode”):
- “PL” - poprawny (zwalidowany) NIP: "5252674798",
- Inne kraje: ciąg znaków, który nie jest dokładnie walidowany. Dopuszczamy tutaj znaki alfanumeryczne i średnik; Kupujący może więc wpisać tam jeden lub dwa numery do faktury.
Jakie zmiany wprowadzimy?
27 czerwca wprowadzimy numery fakturowe i informacje o płatniku VAT.
W sekcji “invoice.address.company” dodamy nową tablicę “ids”, w którym zwrócimy następujące pola:
“type” - typ identyfikatora podatkowego; możliwe wartości, które możemy zwrócić:
- PL_NIP,
- CZ_ICO,
- CZ_DIC,
- OTHER,
- “value” - wartość identyfikatora podatkowego.
W sekcji “invoice.address.company” dodamy nowy obiekt "vatPayerStatus" - status płatnika VAT, dla którego zwrócimy jedną z trzech możliwych wartości:
- ACTIVE – użytkownik podczas zakupu zadeklarował, że jest aktywnym podatnikiem VAT,
- NON_ACTIVE – użytkownik zadeklarował, że nie jest aktywnym podatnikiem VAT,
- NOT_APPLICABLE – nie dotyczy, np. jeśli użytkownik z Czech nie podał w procesie zakupowym numeru CZ_DIC - opcja deklaracji płatnika VAT nie jest wtedy dostępna.
Pole “invoice.address.company.taxId” oznaczymy jako Deprecated i w przyszłości je usuniemy.
Przykładowy response dla “countryCode”: “PL”:
…
{
"countryCode": "PL",
"company": {
"name": "Allegro",
"ids": [
{
"type": "PL_NIP" - typ identyfikatora podatkowego
"value": "6793094529" - wartość identyfikatora podatkowego.
}
],
"vatPayerStatus": "NOT_APPLICABLE", - możliwe statusy: “ACTIVE” - użytkownik
podczas zakupu zadeklarował, że jest
aktywnym podatnikiem VAT,
“NON_ACTIVE” - użytkownik zadeklarował, że
nie jest aktywnym podatnikiem VAT, “NOT
APPLICABLE” - nie dotyczy, np. jeśli użytkownik
z Czech nie podał w procesie zakupowym
numeru CZ_DIC - opcja deklaracji płatnika VAT
nie jest wtedy dostępna.
"taxId": "6793094529" - obecnie zwracany numer podatkowy -
w procesie zakupowym użytkownik może wprowadzić
więcej niż jeden.
Pole oznaczymy jako deprecated
i w przyszłości je usuniemy.
}
}
…
Przykładowy response dla “countryCode”: “CZ”:
…
{
"countryCode": "CZ",
"company": {
"name": "Firmex",
"ids": [
{
"type": "CZ_ICO"
"value": "02565269"
},
{ // opcjonalnie
"type": "CZ_DIC",
"value": "CZ02565269"
}
],
"vatPayerStatus": "ACTIVE"
"taxId": "IČO 02565269; DIČ CZ02565269"
}
}
…
Dlaczego wprowadzamy zmiany?
Chcemy rozszerzyć nasze API w kontekście obsługi numerów fakturowych dla pozostałych serwisów Allegro, np. allegro-cz, w którym regulacje podatkowe są dość specyficzne. Mamy tutaj bowiem dwa numery fakturowe:
- IČO – ID firmy,
- VAT DIČ – numer do rozliczeń podatkowych, dla płatników VAT.
Jednocześnie chcemy zoptymalizować obsługę numerów fakturowych i nie zwracać ich w jednym miejscu, dlatego rozdzielimy je odrębnych polach, w tablicy “invoice.address.company.ids[]”.