Docs
8

Predaja datoteka

Predajte račune kao datoteke.

  • Još nije u sandboxu

Jednostavnim riječima

Predaja datoteka namijenjena je ERP sustavima koji mogu samo zapisivati datoteke: račune stavljaju u mapu, a usluga vraća rezultate kao datoteke u istoj mapi. Klijent tako ne mora izrađivati API vezu. Prati mapu na računalu na kojem radi usluga. Nije uključena u hostiranom sandboxu, a siguran prijenos datoteka i pohrana u oblaku nisu izrađeni.

ERP koji može samo zapisivati datoteke može predavati račune putem jedne mape. Usluga prati mapu i svaku datoteku obrađuje kao predaju: JSON datoteku kao POST /invoices, XML datoteku kao POST /invoices/xml. Rezultati se vraćaju kao datoteke u istoj mapi.

Još nije u sandboxunije u hostiranom sandboxu

Napomena

Još nije u sandboxu

Predaja datoteka prati lokalnu mapu. Nije uključena u hostiranom sandboxu. Nema SFTP-a ni objektne pohrane; bilo što od toga izradilo bi se samo ako bude potrebno za pilot.

Postavljanje

Mapa se određuje pri instalaciji usluge. Usluga je provjerava jednom u sekundi, a kad mapa nije postavljena, ne prati ništa. Datoteka prolazi isti prijem kao API poziv, pa se odbija iz istih razloga.

Imenovanje datoteke

DatotekaObrađuje se kao
INVOICE-REF.jsonPOST /invoices. Sadržaj je JSON tijelo tog poziva (pogledajte predaju JSON-a). Ako tijelo ima invoice_ref, on mora biti jednak nazivu datoteke bez .json.
INVOICE-REF.ROUTE.xmlPOST /invoices/xml. ROUTE je DE-XRECHNUNG, PEPPOL, FR-PA, PL-KSEF ili RO-EFACTURA. Sadržaj je datoteka računa (pogledajte predaju XML-a).
  • Referenca računa ima do 100 znakova i ne sadrži / ni \.
  • Datoteka veća od 5 MB odbija se.
  • Naziv koji počinje točkom, sadrži .. ili ne odgovara nijednom uzorku ostaje netaknut.
  • Idempotency-Key čine prva 32 znaka SHA-256 datoteke. Ponovno ubacivanje identične datoteke je ponavljanje, a ne drugi račun.

Što se vraća

Text
drop/
  DE-4711.json            you write this
  status/
    DE-4711-1.json        one file per status event
    DE-4712-error.json    the answer to a refused file
  done/
    DE-4711.json          an accepted file moves here
  failed/
    DE-4712.json          a refused file moves here

Prihvaćena datoteka premješta se u done/. Događaji računa zapisuju se u status/, jedna datoteka po događaju, s nazivom INVOICE-REF-<sequence>.json. Svaka je jedna stavka odgovora GET /invoices/{id}/events. Sadrže hash računa, a ne sadržaj računa.

status/DE-4711-1.json
{
  "occurred_at": "2026-10-02T17:17:55.857Z",
  "sequence": 1,
  "environment": "sandbox",
  "invoice_ref": "CAPTURE-JSON-1790961440",
  "document_sha256": "3b41395db498666777b74f9f5b9fae82871720304bc25bbb590e25b7b75ea1d4",
  "event_id": "evt_200c0def79ed702df81d702f",
  "country_route": "DE-XRECHNUNG",
  "invoice_number": "CAPTURE-JSON-1790961440",
  "status": "validated"
}
Jedan događaj iz zabilježenog odgovora, prikazan u više redaka; datoteka je jedan redak.

Događaji koji postoje u trenutku prihvaćanja datoteke zapisuju se odmah. Svaki sljedeći događaj zapisuje se čim stigne, sve dok račun ne dosegne završno stanje (accepted, delivered, rejected, validation_failed, dead_letter ili cancelled) ili dok ne prođe 30 dana.

Odbijena datoteka premješta se u failed/, a status/INVOICE-REF-error.json sadrži odgovor koji bi dao API. Za datoteku koja nije račun to je 422 u nastavku. Ispravite podatke i ponovno ubacite datoteku pod istim nazivom.

status/DE-4712-error.json
{
  "type": "https://eurinvoice.com/problems/validation-failed",
  "title": "The invoice did not pass the checks",
  "errors": [
    {
      "code": "EI-XML-TYPE",
      "fix_hint": "Send the invoice itself, in the format agreed for the route.",
      "who_fixes": "erp",
      "source": "XML-safety",
      "message": "The file is not an invoice in a format this route accepts. Please send the invoice in the agreed format."
    }
  ],
  "status": 422
}
Odgovor na datoteku `.xml` koja nije račun, iz zabilježenog poziva.

Čega ovdje nema

  • SFTP i objektna pohrana.
  • Način da se iz mape pročita ID inv_ prihvaćenog računa. Statusne datoteke sadrže invoice_ref i invoice_number.

Na ovoj stranici