Faktúra Peppol BIS Billing 3.0 je XML dokument. Práve XML je faktúrou: obsahuje štruktúrované údaje, ktoré môže účtovný softvér overiť, zaúčtovať a automaticky spracovať. Niekedy však faktúra potrebuje aj podporné materiály, napríklad výkaz práce, dodací protokol alebo PDF čitateľné pre človeka. BIS 3.0 umožňuje poslať takýto materiál s faktúrou ako XML prílohu.
PDF môže faktúru sprehľadniť pre človeka, ale nenahrádza štruktúrovanú faktúru BIS 3. XML zostáva dokumentom, ktorý majú systémy používať na validáciu a automatické spracovanie.
Kam príloha patrí v BIS 3
Prílohy sa posielajú v cac:AdditionalDocumentReference/cac:Attachment. Táto skupina je nepovinná a môže sa opakovať. Kompletná štruktúra je v oficiálnej dokumentácii syntax UBL Invoice v Peppol BIS Billing 3.0.
Pri vloženom súbore je dôležitý element cbc:EmbeddedDocumentBinaryObject. Má dva povinné atribúty:
mimeCode, ktorý určuje typ súboru;filename, ktorý určuje názov súboru pre príjemcu.
Minimálne vložené PDF môže vyzerať takto:
| |
Hodnotou elementu nie je samotné PDF, ale jeho obsah prevedený do Base64.
Ktoré formáty sú podporované?
BIS Billing 3 nepovoľuje ľubovoľný MIME typ. Príjemca musí podporovať obmedzený zoznam odvodený od IANA. Oficiálny číselník typov médií príloh obsahuje:
| Kategória | MIME typ |
|---|---|
| Dokument | application/pdf |
| Obrázok | image/png |
| Obrázok | image/jpeg |
| Text | text/csv |
| Tabuľka | application/vnd.openxmlformats-officedocument.spreadsheetml.sheet |
| Tabuľka | application/vnd.oasis.opendocument.spreadsheet |
mimeCode musí byť jednou z týchto hodnôt a prípona súboru by s ním mala súhlasiť. ZIP súbor preto neoznačujte ako PDF a Excel neposielajte s mimeCode="application/pdf".
BIS podporuje aj externý odkaz cez cac:ExternalReference/cbc:URI. Vložená príloha je pre fakturačné podklady zvyčajne spoľahlivejšia: cestuje spolu s faktúrou a nezávisí od neskoršej dostupnosti URL, prihlásenia ani platnosti odkazu.
10 MiB versus 100 MiB
Tieto dve hodnoty sa často zamieňajú:
- 10 MiB je bežne kontrolovaný limit celej XML správy. Nejde o limit jednej prílohy. Kontrola sa zvyčajne týka XML faktúry spolu so všetkými vloženými prílohami a obsahom správy, ktorý prijíma Access Point. Niekoľko menších príloh tak môže limit prekročiť.
- 100 MiB je všeobecná kapacita transportu. Správa by mala vo všeobecnosti fungovať až do 100 MiB, ale konkrétny limit je politikou daného Access Pointu. Niektorý Access Point ju môže odmietnuť výrazne skôr.
Base64 zväčší každú vloženú binárnu hodnotu približne o tretinu. Pridá sa k tomu XML, MIME obálka a bezpečnostná réžia. Rozhodujúca preto nie je veľkosť súborov na disku, ale veľkosť výslednej správy. Implementácia by mala merať celú zakódovanú správu a ponechať rezervu pod limitom príslušného Access Pointu.
Pri väčších podkladoch použite menší relevantný export alebo externý odkaz dohodnutý s príjemcom. Z faktúry nerobte všeobecný archív súborov a pri veľkých správach si overte účinný limit prijímajúceho Access Pointu.
Ako sa súbor kóduje?
Bajty súboru sa zakódujú ako Base64 a vložia do cbc:EmbeddedDocumentBinaryObject. Base64 nie je šifrovanie ani bezpečnostná kontrola. Príjemca hodnotu dekóduje späť na bajty a Access Point aj cieľová aplikácia musia naďalej používať bežnú kontrolu škodlivého obsahu.
Pri vytváraní prílohy:
- načítajte pôvodné bajty bez prevodu cez textové kódovanie;
- zakódujte ich do Base64;
- nastavte správne
mimeCodeafilename; - v teste hodnotu znova dekódujte a porovnajte s originálom;
- zvalidujte celú BIS faktúru aj veľkosť výslednej správy.
Prečo prílohu posielať?
Štruktúrované XML je výborné na automatizáciu, ale neobsiahne každý dôkaz potrebný v obchodnom procese. Prílohou môže byť výkaz práce, dodací alebo preberací protokol, výpočet, fotografia, tabuľka alebo PDF reprezentácia pre človeka.
Príloha zvyšuje dohľadateľnosť: príjemca nemusí párovať súbor z e-mailu ani sťahovať odkaz, ktorý neskôr prestane fungovať. Príloha však má faktúru iba podporovať, nie jej odporovať. Sumy, daňové údaje a identifikácia strán sa majú brať zo štruktúrovaných údajov BIS.
Prečo môže Access Point pridať PDF?
Niektoré Access Pointy vytvoria z XML faktúry PDF a pridajú ho ako prílohu ako náhľad faktúry. Hodí sa to na manuálnu kontrolu, tlač alebo archiváciu, keď je popri strojovo čitateľnom XML potrebná aj vizuálna podoba.
PDF je pomocná reprezentácia, nie druhá autoritatívna faktúra. Má vzniknúť z validovaného XML, mať jasný názov a mimeCode="application/pdf". Nesmie potichu meniť sumy, DPH, platobné referencie ani strany. Príjemca má na účtovanie použiť XML a PDF iba ako náhľad alebo podklad.
Je vhodné jasne uviesť, či PDF dodal odosielateľ alebo ho vygeneroval Access Point. Vygenerované PDF zväčšuje správu a príjemca ho nemusí očakávať.
Praktický checklist
Pred odoslaním skontrolujte, že:
- XML faktúra je validná podľa Peppol BIS Billing 3.0;
- každá príloha používa povolený MIME typ a zmysluplný názov;
- obsah je zakódovaný v Base64 a možno ho bez zmeny dekódovať;
- celá výsledná správa sa zmestí pod limit kontrolovaný príslušným Access Pointom;
- viete, či Access Point generuje PDF a ako s ním zaobchádza.
Výsledkom je praktický kompromis: XML zostáva presné a automatizovateľné, zatiaľ čo podporné dokumenty cestujú spolu s transakciou.
Zdroje: Peppol BIS Billing 3.0, syntax UBL Invoice, číselník typov médií príloh a Peppol AS4 Profile.
