BEAst rekommendation för hantering av bilagor till elektroniska fakturor 2011-05-17 1(7)
Innehållsförteckning 1. INLEDNING... 3 2. BEAST:S REKOMMENDATION... 3 2.1 EDIFACT... 3 2.2 XML... 3 3. ALLMÄNT... 3 3.1 Elektroniska bilagor... 3 3.2 Hantering... 3 4. METODER FÖR ATT HANTERA BILAGOR... 3 4.1 Binära filer... 4 4.2 ObjectEnvelope... 4 4.3 SBDH... 5 5. LÄNKADE DOKUMENT... 6 6. PROTOKOLLSPECIFIKT... 6 6.1 AS2... 6 6.2 FTP/FTPS/SFTP... 6 7. FORMATSPECIFIKA REFERENSER... 6 8. EDIFACT... 6 9. XML... 7 2(7)
1. Inledning Detta dokument beskriver de möjligheter som BEAst rekommenderar för hantering av bilagor till fakturameddelanden. Syftet är att det ska bli enklare att implementera tekniken många till många med en gemensam rekommendation. 2. BEAst:s rekommendation Nedan följer en beskrivning av de möjligheter som finns i dag att överföra bilagor i fakturameddelande. Vi avråder från att använda exekverbara filtyper. Vi rekommenderar att man begränsar filstorleken till max 5 MB för bilagor. 2.1 EDIFACT För fakturor som använder EDIFACT som format rekommenderas någon av följande metoder kan användas beroende på kommunikationssätt: Metod 2. Faktura + ObjectEnvelope skickas separat. Metod 5. Faktura + ObjectEnvelope skickas tillsammans (AS2). 2.2 XML För XML rekommenderas följande metod: Metod 3. Faktura + ObjectEnvelope skickas paketerade i SBDH. 3. Allmänt 3.1 Elektroniska bilagor Det finns många olika sätt att transportera elektroniska bilagor. Vilket alternativ man väljer beror på olika faktorer; bland annat fakturaformat och övriga tekniska förutsättningar för respektive part. 3.2 Hantering Det finns olika sätt att implementera bilagor i BEAst fakturameddelanden. Nedan beskrivs de olika sätt hur sändning och mottagning av bilagor kan hanteras och hur dessa skall refereras till. 4. Metoder för att hantera bilagor Det finns en rad olika sätt att implementera hantering av fakturabilagor, varav BEAst rekommendation omfattar tre. Detta är en sammanfattning av de metoder som finns. I avsnitten nedan beskrivs de olika metoderna mer i detalj. 1. Faktura + Binär fil skickas separat (rekommenderas ej av BEAst) 2. Faktura + ObjectEnvelope skickas separat 3. Faktura + ObjectEnvelope skickas paketerade i SBDH 4. Faktura + Binär fil skickas tillsammans (AS2) (rekommenderas ej av BEAst) 5. Faktura + ObjectEnvelope skickas tillsammans (AS2) 3(7)
4.1 Binära filer Om bilagor skall sändas som binära filer vid sidan om, måste fakturan innehålla referenser till dessa bilagor och då användes filnamnet på binärfilen som bilageid. (bilageid måste anges som referens i fakturan). Se Formatspecifika referenser. I själva bilagefilen kan man också referera till fakturan genom dess filnamn. Detta ger en viss försäkran att bilagan hamnar rätt, men är inte något krav. För att man skall kunna göra en korrekt koppling måste filen döpas enligt ett speciellt mönster, varje del i mönstret måste avskiljas med ett underscore (_). PartId_FakturaNr[_Löpnr_Datum_Filreferns].suffix PartId Unik identifikation av fakturautställare(part), skall vara avtalat FakturaNr Skall vara det fakturanr som bilagan tillhör vid angivit datum LöpNr Frivillig uppgift, användes när flera bilagor tillhör samma faktura Datum Frivillig uppgift, Bör användas av fakturautställare där fakturanummret roterar. Avser fakturadatum, skall vara i formatet YYYYMMDD. Filreferens Frivillig uppgift, Suffix Måste var ett känt suffix Ex.: pdf, jpg, tiff, xml osv Det är upp till fakturautställaren att se till att filnamnen på bilagorna är unika vid avlämningen Detta skall också avtalas mellan fakturautställaren och fakturamottagaren 4.2 ObjectEnvelope Det går också att använda sig av paketering framtagen av SFTI. Se www.svefaktura.se När denna paketering användes, enkodas och förpackas alla bilagorna i ett xml dokument baserat på ObjectEnvelope schema, Detta paket sänds vid sidan om fakturan och kan vara i valfri format. Följande är krav för ObjectEnvelope: Element/@Attribut Kard. Användning ObjectEnvelope 1 DocumentReference 0..1 DocumentId 1 Fakturanummer IssueDate 0,,1 Fakturadatum IssuerID 0,,1 Unikt identifikation av fakturautställaren @ identificationschemeid 0,,1 Beskrivning av identifiering. GLN Organisationsnummer (SWT) DocumentType 0,,1 Anger fakturaformat NeB: INVOIC:D:03A:UN:NeB01 SMSI Byggfaktura: INVOIC:D:03A:UN:NeB01 NeB : urn:nordicebuilding:invoice:1.2.1 SMSI Byggfaktura: urn:nordicebuilding:smsibygginvoice:1.2.2 4(7)
CreationDateTime 1 När ObjectEnvelope skapas EncodedObject 0,,n ObjectID 1 Unik identifierare av denna bilaga. Kan användas som bilageid i detta paketeringssätt EncodedData 1 Element för lagring av bilagan BASE64 Kodad @format 1 Endast BASE64 @filnamn 1 Bilagans filnamn @mimecode 1 Innehåller bilagans contenttype 4.3 SBDH SBDH är ett annat sätt att paketera och har stöd för paketering samt adressering av både fakturan och tillhörande bilagor. Detta sätt kan användas för att transportera XML eller EDIFACT baserade fakturor med bilagor paketerade i ObjectEnvelope. Element/@Attribut Kard. Användning StandardBusinessDocument 1 StandardBusinessDocumentHeader 0..1 HeaderVersion 1 1.0 Sender 1,,n Ange en förekomst Identifier @Authority 1 0,,1 Receiver 1,,n Ange en förekomst 1 0,,1 Identifier @Authority Avsändarens partneridentifikation 1) Landkod+org.nr och @Authority= countrycode:organizationid 2) GLN och @Authority= http:/www.iso.int/schemas/eanucc/gln. 3) Avtala operatörsid och @Authority= operatorid 4) Ev. ytterligare kan avtalas Mottagarens partneridentifikation 1) Landkod+org.nr och @Authority= countrycode:organizationid 2) GLN och @Authority= http:/www.iso.int/schemas/eanucc/gln. 3) Avtala operatörsid och @Authority= operatorid 4) Ev. ytterligare kan avtalas Documentidentifikation 1 Standard 1 Anger fakturaformat NeB: INVOIC:D:03A:UN:NeB01 SMSI Byggfaktura: INVOIC:D:03A:UN:NeB01 NeB: urn:nordicebuilding:invoice: SMSI Byggfaktura: urn:nordicebuilding:smsibygginvoice TypeVersion 1 Version av standarden NeB: 1.2.1 SMSI Byggfaktura: 1.2.2 5(7)
NeB: 1.2.1 SMSI Byggfaktura: 1.2.2 InstanceIdentifier 1 Kuvertets identifierare = ex. Fakturanummer Type 1 Type av faktura NeB: NeB01 SMSI Byggfaktura: NeB01 NeB:Invoice SMSI Byggfaktura SMSIByggInvoice MultipleType 0,,1 Sättes till true om bilagor finns paketerade, annars false CreationDateAndTime 1 Datum och tid för skapandet av tekniska kuvertet <Any> 1,,n Här går fakturan och alla bilagor (paketerade i ObjectEnvelope) Vi rekommenderar att den första instansen bör vara fakturan, den efterföljande instansen bör vara ObjectEnvelope. 5. Länkade dokument Med färdiga dokument innebär det att fakturamottagaren kan via fakturautställarens hemsida eller portal hämta hem aktuella bilagor genom att ange den adress som erhållits i fakturadokumentet. Det är inte en metod som rekommenderas av BEAst. 6. Protokollspecifikt Vissa protokoll erbjuder ett grundstöd för utbyte av flera meddelanden där elektroniska fakturor kan skickas tillsammans med dess bilagor, andra protokoll kräver kuvertering. Nedan beskrivs vilka kombinationer som BEAst rekommenderar för varje protokoll. 6.1 AS2 Om AS2 skall användas för överföring av bilagor kan protokollet utnyttjas för att bunta ihop fakturan med dess bilagor. Med andra ord kan bilagorna komma som separerade meddelandedelar i samma anrop. Alternativt kan bilagorna paketeras. 6.2 FTP/FTPS/SFTP När FTP används för att leverera bilagor är det fritt fram att använda alla formaten. Observera att det är upp till fakturautställaren att se till att bilagorna (även fakturorna) har unika namn. 7. Formatspecifika referenser Nedan beskrivs hur referenser till bifogade bilagor hanteras i de aktuella formaten som hanteras av BEAst idag se också gällande implementationsguide för aktuellt meddelande. 8. EDIFACT 6(7)
Detta gäller Edifact-versionerna av Nordic ebuilding (NeB) och SMSI Byggfaktura (som är en förenkling av NeB-fakturan). Bilagereferenser hanteras under (se implementationsguide) Det skall förekomma en SG1/RFF per bilaga. BEAst meddelande stöder max 10 förekomster av SG1/RFF det inkluderar även annan användning av SG!/RFF. SG1/RFF Element C506/1153 = ATS Element C506/1154 = Bilageid an..70 9. XML Detta gäller XML-versionerna av Nordic ebuilding (NeB) och SMSI Byggfaktura (som är en förenkling av NeB-fakturan). Bilagereferenser hanteras under följande XPath: /Invoic/InvoicHeader/ReferenceToDocument/ExternelObjectReference Nedan illustreras hur en förekomst av ExternalObjectReference kan se ut. Element/@Attribut Kard. Användning Invoic 1 Fakturans root InvoiceHeader 1 Fakturans huvud ReferenceToDocument 0,,1 Fakturareferenser ExternelObjectReference 0,,5 Här lagras bilageid. När bilagorna är paketerade med ObjectEnvelope skall ldt prefixas med urn:neb:document:object: Exempel: <sddb:externelobjectreference> urn:neb:documents:object:271 </sddb:externalobjectreference> Det skall förekomma ett ID per bilaga. Se schemat gällande begränsningar av antal bilagor. 7(7)