[{"data":1,"prerenderedAt":995},["ShallowReactive",2],{"\u002Fblog\u002Fhow-to-map-your-erp-data-to-peppol-bis-billing-30":3},{"id":4,"title":5,"body":6,"description":986,"extension":987,"lastUpdatedAt":988,"meta":989,"navigation":990,"path":991,"publishedAt":988,"seo":992,"stem":993,"__hash__":994},"blog\u002Fblog\u002F0049.how-to-map-your-erp-data-to-peppol-bis-billing-30.md","How to map your ERP data to PEPPOL BIS Billing 3.0 fields",{"type":7,"value":8,"toc":977},"minimark",[9,13,16,21,161,172,195,199,202,343,346,394,398,401,486,497,501,504,564,591,595,598,630,694,697,726,730,737,824,863,867,873,908,942,959,973],[10,11,12],"p",{},"Moving from generating PDF invoices to generating PEPPOL-conformant XML means taking data your ERP already has and putting it into the right XML elements with the right formats and codes. This sounds straightforward until you run into the first Schematron error, discover that your tax totals do not add up the way the standard expects, or find that your customer identifiers are in the wrong format.",[10,14,15],{},"This guide maps the most common invoice fields from a typical ERP system to their PEPPOL BIS Billing 3.0 XML equivalents. It focuses on the fields that cause the most confusion in practice.",[17,18,20],"h2",{"id":19},"document-level-fields","Document-level fields",[22,23,24,43],"table",{},[25,26,27],"thead",{},[28,29,30,34,37,40],"tr",{},[31,32,33],"th",{},"ERP concept",[31,35,36],{},"PEPPOL BIS element",[31,38,39],{},"XPath",[31,41,42],{},"Notes",[44,45,46,64,83,106,130,146],"tbody",{},[28,47,48,52,55,61],{},[49,50,51],"td",{},"Invoice number",[49,53,54],{},"Invoice ID",[49,56,57],{},[58,59,60],"code",{},"cbc:ID",[49,62,63],{},"Free text, max 200 chars. Must be unique per biller.",[28,65,66,69,72,77],{},[49,67,68],{},"Invoice date",[49,70,71],{},"Issue date",[49,73,74],{},[58,75,76],{},"cbc:IssueDate",[49,78,79,80],{},"ISO 8601: ",[58,81,82],{},"YYYY-MM-DD",[28,84,85,88,91,96],{},[49,86,87],{},"Due date",[49,89,90],{},"Payment due date",[49,92,93],{},[58,94,95],{},"cbc:DueDate",[49,97,98,99,102,103],{},"In ",[58,100,101],{},"cac:PaymentTerms\u002Fcbc:Note"," or as ",[58,104,105],{},"cbc:PaymentDueDate",[28,107,108,111,114,119],{},[49,109,110],{},"Currency",[49,112,113],{},"Document currency",[49,115,116],{},[58,117,118],{},"cbc:DocumentCurrencyCode",[49,120,121,122,125,126,129],{},"ISO 4217 code: ",[58,123,124],{},"CHF",", ",[58,127,128],{},"EUR",", etc.",[28,131,132,135,138,143],{},[49,133,134],{},"PO reference",[49,136,137],{},"Order reference",[49,139,140],{},[58,141,142],{},"cac:OrderReference\u002Fcbc:ID",[49,144,145],{},"Optional but expected by many buyers",[28,147,148,151,153,158],{},[49,149,150],{},"Buyer reference",[49,152,150],{},[49,154,155],{},[58,156,157],{},"cbc:BuyerReference",[49,159,160],{},"Often a cost centre code or contract number. Mandatory when the buyer requires it.",[10,162,163,164,167,168,171],{},"The ",[58,165,166],{},"CustomizationID"," and ",[58,169,170],{},"ProfileID"," must also be set at the document level and cannot be left to whatever your ERP generates. For a Swiss SwissDIGIN invoice:",[173,174,179],"pre",{"className":175,"code":176,"language":177,"meta":178,"style":178},"language-xml shiki shiki-themes github-light github-dark","\u003Ccbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:fdc:swissdigin.ch:2018:invoicing:1.0\u003C\u002Fcbc:CustomizationID>\n\u003Ccbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:3.0\u003C\u002Fcbc:ProfileID>\n","xml","",[58,180,181,189],{"__ignoreMap":178},[182,183,186],"span",{"class":184,"line":185},"line",1,[182,187,188],{},"\u003Ccbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0#conformant#urn:fdc:swissdigin.ch:2018:invoicing:1.0\u003C\u002Fcbc:CustomizationID>\n",[182,190,192],{"class":184,"line":191},2,[182,193,194],{},"\u003Ccbc:ProfileID>urn:fdc:peppol.eu:2017:poacc:billing:3.0\u003C\u002Fcbc:ProfileID>\n",[17,196,198],{"id":197},"supplier-seller-fields","Supplier (seller) fields",[10,200,201],{},"Your ERP's company or legal entity settings feed the supplier block:",[173,203,205],{"className":175,"code":204,"language":177,"meta":178,"style":178},"\u003Ccac:AccountingSupplierParty>\n  \u003Ccac:Party>\n    \u003Ccac:PartyName>\n      \u003Ccbc:Name>Muster AG\u003C\u002Fcbc:Name>\n    \u003C\u002Fcac:PartyName>\n    \u003Ccac:PostalAddress>\n      \u003Ccbc:StreetName>Bahnhofstrasse 12\u003C\u002Fcbc:StreetName>\n      \u003Ccbc:CityName>Zürich\u003C\u002Fcbc:CityName>\n      \u003Ccbc:PostalZone>8001\u003C\u002Fcbc:PostalZone>\n      \u003Ccac:Country>\n        \u003Ccbc:IdentificationCode>CH\u003C\u002Fcbc:IdentificationCode>\n      \u003C\u002Fcac:Country>\n    \u003C\u002Fcac:PostalAddress>\n    \u003Ccac:PartyTaxScheme>\n      \u003Ccbc:CompanyID>CHE-116.281.710 MWST\u003C\u002Fcbc:CompanyID>\n      \u003Ccac:TaxScheme>\u003Ccbc:ID>VAT\u003C\u002Fcbc:ID>\u003C\u002Fcac:TaxScheme>\n    \u003C\u002Fcac:PartyTaxScheme>\n    \u003Ccac:PartyLegalEntity>\n      \u003Ccbc:RegistrationName>Muster AG\u003C\u002Fcbc:RegistrationName>\n      \u003Ccbc:CompanyID schemeID=\"CHE\">CHE-116.281.710\u003C\u002Fcbc:CompanyID>\n    \u003C\u002Fcac:PartyLegalEntity>\n  \u003C\u002Fcac:Party>\n\u003C\u002Fcac:AccountingSupplierParty>\n",[58,206,207,212,217,223,229,235,241,247,253,259,265,271,277,283,289,295,301,307,313,319,325,331,337],{"__ignoreMap":178},[182,208,209],{"class":184,"line":185},[182,210,211],{},"\u003Ccac:AccountingSupplierParty>\n",[182,213,214],{"class":184,"line":191},[182,215,216],{},"  \u003Ccac:Party>\n",[182,218,220],{"class":184,"line":219},3,[182,221,222],{},"    \u003Ccac:PartyName>\n",[182,224,226],{"class":184,"line":225},4,[182,227,228],{},"      \u003Ccbc:Name>Muster AG\u003C\u002Fcbc:Name>\n",[182,230,232],{"class":184,"line":231},5,[182,233,234],{},"    \u003C\u002Fcac:PartyName>\n",[182,236,238],{"class":184,"line":237},6,[182,239,240],{},"    \u003Ccac:PostalAddress>\n",[182,242,244],{"class":184,"line":243},7,[182,245,246],{},"      \u003Ccbc:StreetName>Bahnhofstrasse 12\u003C\u002Fcbc:StreetName>\n",[182,248,250],{"class":184,"line":249},8,[182,251,252],{},"      \u003Ccbc:CityName>Zürich\u003C\u002Fcbc:CityName>\n",[182,254,256],{"class":184,"line":255},9,[182,257,258],{},"      \u003Ccbc:PostalZone>8001\u003C\u002Fcbc:PostalZone>\n",[182,260,262],{"class":184,"line":261},10,[182,263,264],{},"      \u003Ccac:Country>\n",[182,266,268],{"class":184,"line":267},11,[182,269,270],{},"        \u003Ccbc:IdentificationCode>CH\u003C\u002Fcbc:IdentificationCode>\n",[182,272,274],{"class":184,"line":273},12,[182,275,276],{},"      \u003C\u002Fcac:Country>\n",[182,278,280],{"class":184,"line":279},13,[182,281,282],{},"    \u003C\u002Fcac:PostalAddress>\n",[182,284,286],{"class":184,"line":285},14,[182,287,288],{},"    \u003Ccac:PartyTaxScheme>\n",[182,290,292],{"class":184,"line":291},15,[182,293,294],{},"      \u003Ccbc:CompanyID>CHE-116.281.710 MWST\u003C\u002Fcbc:CompanyID>\n",[182,296,298],{"class":184,"line":297},16,[182,299,300],{},"      \u003Ccac:TaxScheme>\u003Ccbc:ID>VAT\u003C\u002Fcbc:ID>\u003C\u002Fcac:TaxScheme>\n",[182,302,304],{"class":184,"line":303},17,[182,305,306],{},"    \u003C\u002Fcac:PartyTaxScheme>\n",[182,308,310],{"class":184,"line":309},18,[182,311,312],{},"    \u003Ccac:PartyLegalEntity>\n",[182,314,316],{"class":184,"line":315},19,[182,317,318],{},"      \u003Ccbc:RegistrationName>Muster AG\u003C\u002Fcbc:RegistrationName>\n",[182,320,322],{"class":184,"line":321},20,[182,323,324],{},"      \u003Ccbc:CompanyID schemeID=\"CHE\">CHE-116.281.710\u003C\u002Fcbc:CompanyID>\n",[182,326,328],{"class":184,"line":327},21,[182,329,330],{},"    \u003C\u002Fcac:PartyLegalEntity>\n",[182,332,334],{"class":184,"line":333},22,[182,335,336],{},"  \u003C\u002Fcac:Party>\n",[182,338,340],{"class":184,"line":339},23,[182,341,342],{},"\u003C\u002Fcac:AccountingSupplierParty>\n",[10,344,345],{},"Key points:",[347,348,349,364,373,387],"ul",{},[350,351,352,355,356,359,360,363],"li",{},[58,353,354],{},"PartyTaxScheme\u002FCompanyID"," carries the UID with the ",[58,357,358],{},"MWST"," suffix (e.g. ",[58,361,362],{},"CHE-116.281.710 MWST",")",[350,365,366,369,370],{},[58,367,368],{},"PartyLegalEntity\u002FCompanyID"," carries the UID without the suffix, with ",[58,371,372],{},"schemeID=\"CHE\"",[350,374,375,376,379,380,383,384,363],{},"Country code is ISO 3166-1 alpha-2 (",[58,377,378],{},"CH"," not ",[58,381,382],{},"CHE"," or ",[58,385,386],{},"Switzerland",[350,388,389,390,393],{},"If you are not VAT-registered (below CHF 100,000 revenue), omit the ",[58,391,392],{},"PartyTaxScheme"," block entirely",[17,395,397],{"id":396},"customer-buyer-fields","Customer (buyer) fields",[10,399,400],{},"The buyer block mirrors the supplier block. The fields your ERP stores for a customer:",[22,402,403,413],{},[25,404,405],{},[28,406,407,409,411],{},[31,408,33],{},[31,410,36],{},[31,412,42],{},[44,414,415,428,441,457,470],{},[28,416,417,420,425],{},[49,418,419],{},"Customer name",[49,421,422],{},[58,423,424],{},"AccountingCustomerParty\u002FParty\u002FPartyName\u002FName",[49,426,427],{},"Legal name, not a trading name",[28,429,430,433,438],{},[49,431,432],{},"Billing address",[49,434,435],{},[58,436,437],{},"AccountingCustomerParty\u002FParty\u002FPostalAddress",[49,439,440],{},"Street, city, postal code, country",[28,442,443,446,451],{},[49,444,445],{},"Customer UID",[49,447,448],{},[58,449,450],{},"AccountingCustomerParty\u002FParty\u002FPartyLegalEntity\u002FCompanyID",[49,452,453,454,456],{},"With ",[58,455,372],{}," for Swiss customers",[28,458,459,462,467],{},[49,460,461],{},"Customer VAT number",[49,463,464],{},[58,465,466],{},"AccountingCustomerParty\u002FParty\u002FPartyTaxScheme\u002FCompanyID",[49,468,469],{},"For non-Swiss EU buyers: their VAT number",[28,471,472,475,480],{},[49,473,474],{},"PEPPOL participant ID",[49,476,477],{},[58,478,479],{},"AccountingCustomerParty\u002FParty\u002FEndpointID",[49,481,482,483],{},"Required for PEPPOL delivery. Format: ",[58,484,485],{},"0209:CHE1162817100",[10,487,488,489,492,493,496],{},"The endpoint ID (",[58,490,491],{},"EndpointID",") is what the PEPPOL network uses to route the invoice. For Swiss participants, the scheme is ",[58,494,495],{},"0209"," and the identifier is the UID digits without separators. Your access point provider handles the routing — you just need to include the correct endpoint ID so they know where to send it.",[17,498,500],{"id":499},"payment-details","Payment details",[10,502,503],{},"This is where Swiss invoices differ most from generic PEPPOL invoices:",[173,505,507],{"className":175,"code":506,"language":177,"meta":178,"style":178},"\u003Ccac:PaymentMeans>\n  \u003Ccbc:PaymentMeansCode>58\u003C\u002Fcbc:PaymentMeansCode>\n  \u003Ccbc:PaymentID>210000000003139471430009017\u003C\u002Fcbc:PaymentID>\n  \u003Ccac:PayeeFinancialAccount>\n    \u003Ccbc:ID>CH4431999123000889012\u003C\u002Fcbc:ID>\n    \u003Ccbc:Name>Muster AG\u003C\u002Fcbc:Name>\n    \u003Ccac:FinancialInstitutionBranch>\n      \u003Ccbc:ID>RAIFCH22\u003C\u002Fcbc:ID>\n    \u003C\u002Fcac:FinancialInstitutionBranch>\n  \u003C\u002Fcac:PayeeFinancialAccount>\n\u003C\u002Fcac:PaymentMeans>\n",[58,508,509,514,519,524,529,534,539,544,549,554,559],{"__ignoreMap":178},[182,510,511],{"class":184,"line":185},[182,512,513],{},"\u003Ccac:PaymentMeans>\n",[182,515,516],{"class":184,"line":191},[182,517,518],{},"  \u003Ccbc:PaymentMeansCode>58\u003C\u002Fcbc:PaymentMeansCode>\n",[182,520,521],{"class":184,"line":219},[182,522,523],{},"  \u003Ccbc:PaymentID>210000000003139471430009017\u003C\u002Fcbc:PaymentID>\n",[182,525,526],{"class":184,"line":225},[182,527,528],{},"  \u003Ccac:PayeeFinancialAccount>\n",[182,530,531],{"class":184,"line":231},[182,532,533],{},"    \u003Ccbc:ID>CH4431999123000889012\u003C\u002Fcbc:ID>\n",[182,535,536],{"class":184,"line":237},[182,537,538],{},"    \u003Ccbc:Name>Muster AG\u003C\u002Fcbc:Name>\n",[182,540,541],{"class":184,"line":243},[182,542,543],{},"    \u003Ccac:FinancialInstitutionBranch>\n",[182,545,546],{"class":184,"line":249},[182,547,548],{},"      \u003Ccbc:ID>RAIFCH22\u003C\u002Fcbc:ID>\n",[182,550,551],{"class":184,"line":255},[182,552,553],{},"    \u003C\u002Fcac:FinancialInstitutionBranch>\n",[182,555,556],{"class":184,"line":261},[182,557,558],{},"  \u003C\u002Fcac:PayeeFinancialAccount>\n",[182,560,561],{"class":184,"line":267},[182,562,563],{},"\u003C\u002Fcac:PaymentMeans>\n",[347,565,566,572,578,584],{},[350,567,568,571],{},[58,569,570],{},"PaymentMeansCode 58"," = SEPA credit transfer (used for Swiss IBAN-based transfers too)",[350,573,574,577],{},[58,575,576],{},"PaymentID"," = the 27-digit QR reference from your QR-bill. Use the SCOR reference here if you use ISO 11649 creditor references instead.",[350,579,580,583],{},[58,581,582],{},"PayeeFinancialAccount\u002FID"," = QR-IBAN (without spaces). Use standard IBAN if you do not use QR references.",[350,585,586,587,590],{},"BIC in ",[58,588,589],{},"FinancialInstitutionBranch\u002FID"," is optional but recommended",[17,592,594],{"id":593},"tax-totals","Tax totals",[10,596,597],{},"Tax is where most mapping projects produce their first Schematron errors. The PEPPOL BIS tax model requires:",[599,600,601,608,615],"ol",{},[350,602,603,604,607],{},"One or more ",[58,605,606],{},"TaxSubtotal"," blocks — one per distinct VAT rate",[350,609,610,611,614],{},"A ",[58,612,613],{},"TaxTotal"," that sums all subtotals",[350,616,617,618,621,622,625,626,629],{},"Each subtotal carries a ",[58,619,620],{},"TaxableAmount",", a ",[58,623,624],{},"TaxAmount",", and a ",[58,627,628],{},"TaxCategory"," block",[173,631,633],{"className":175,"code":632,"language":177,"meta":178,"style":178},"\u003Ccac:TaxTotal>\n  \u003Ccbc:TaxAmount currencyID=\"CHF\">81.00\u003C\u002Fcbc:TaxAmount>\n  \u003Ccac:TaxSubtotal>\n    \u003Ccbc:TaxableAmount currencyID=\"CHF\">1000.00\u003C\u002Fcbc:TaxableAmount>\n    \u003Ccbc:TaxAmount currencyID=\"CHF\">81.00\u003C\u002Fcbc:TaxAmount>\n    \u003Ccac:TaxCategory>\n      \u003Ccbc:ID>S\u003C\u002Fcbc:ID>\n      \u003Ccbc:Percent>8.1\u003C\u002Fcbc:Percent>\n      \u003Ccac:TaxScheme>\u003Ccbc:ID>VAT\u003C\u002Fcbc:ID>\u003C\u002Fcac:TaxScheme>\n    \u003C\u002Fcac:TaxCategory>\n  \u003C\u002Fcac:TaxSubtotal>\n\u003C\u002Fcac:TaxTotal>\n",[58,634,635,640,645,650,655,660,665,670,675,679,684,689],{"__ignoreMap":178},[182,636,637],{"class":184,"line":185},[182,638,639],{},"\u003Ccac:TaxTotal>\n",[182,641,642],{"class":184,"line":191},[182,643,644],{},"  \u003Ccbc:TaxAmount currencyID=\"CHF\">81.00\u003C\u002Fcbc:TaxAmount>\n",[182,646,647],{"class":184,"line":219},[182,648,649],{},"  \u003Ccac:TaxSubtotal>\n",[182,651,652],{"class":184,"line":225},[182,653,654],{},"    \u003Ccbc:TaxableAmount currencyID=\"CHF\">1000.00\u003C\u002Fcbc:TaxableAmount>\n",[182,656,657],{"class":184,"line":231},[182,658,659],{},"    \u003Ccbc:TaxAmount currencyID=\"CHF\">81.00\u003C\u002Fcbc:TaxAmount>\n",[182,661,662],{"class":184,"line":237},[182,663,664],{},"    \u003Ccac:TaxCategory>\n",[182,666,667],{"class":184,"line":243},[182,668,669],{},"      \u003Ccbc:ID>S\u003C\u002Fcbc:ID>\n",[182,671,672],{"class":184,"line":249},[182,673,674],{},"      \u003Ccbc:Percent>8.1\u003C\u002Fcbc:Percent>\n",[182,676,677],{"class":184,"line":255},[182,678,300],{},[182,680,681],{"class":184,"line":261},[182,682,683],{},"    \u003C\u002Fcac:TaxCategory>\n",[182,685,686],{"class":184,"line":267},[182,687,688],{},"  \u003C\u002Fcac:TaxSubtotal>\n",[182,690,691],{"class":184,"line":273},[182,692,693],{},"\u003C\u002Fcac:TaxTotal>\n",[10,695,696],{},"Common mistakes:",[347,698,699,709,715],{},[350,700,701,702,704,705,708],{},"Calculating ",[58,703,624],{}," by multiplying ",[58,706,707],{},"TaxableAmount × Percent \u002F 100"," at the subtotal level and rounding each one independently, then summing. Rounding errors accumulate. Calculate line-level tax, sum without rounding, then round once at the subtotal level.",[350,710,711,712,714],{},"Including a ",[58,713,606],{}," per invoice line rather than per distinct tax rate. You must consolidate: all lines at 8.1% share one subtotal.",[350,716,717,718,721,722,725],{},"Setting ",[58,719,720],{},"TaxCategory\u002FID"," to the rate value instead of the category code. The category code for standard-rate Swiss VAT is always ",[58,723,724],{},"S"," regardless of whether the rate is 8.1%, 2.6%, or 3.8%.",[17,727,729],{"id":728},"line-items","Line items",[10,731,732,733,736],{},"Each invoice line maps to a ",[58,734,735],{},"cac:InvoiceLine",":",[173,738,740],{"className":175,"code":739,"language":177,"meta":178,"style":178},"\u003Ccac:InvoiceLine>\n  \u003Ccbc:ID>1\u003C\u002Fcbc:ID>\n  \u003Ccbc:InvoicedQuantity unitCode=\"HUR\">10\u003C\u002Fcbc:InvoicedQuantity>\n  \u003Ccbc:LineExtensionAmount currencyID=\"CHF\">500.00\u003C\u002Fcbc:LineExtensionAmount>\n  \u003Ccac:Item>\n    \u003Ccbc:Description>Software development services\u003C\u002Fcbc:Description>\n    \u003Ccbc:Name>Development\u003C\u002Fcbc:Name>\n    \u003Ccac:ClassifiedTaxCategory>\n      \u003Ccbc:ID>S\u003C\u002Fcbc:ID>\n      \u003Ccbc:Percent>8.1\u003C\u002Fcbc:Percent>\n      \u003Ccac:TaxScheme>\u003Ccbc:ID>VAT\u003C\u002Fcbc:ID>\u003C\u002Fcac:TaxScheme>\n    \u003C\u002Fcac:ClassifiedTaxCategory>\n  \u003C\u002Fcac:Item>\n  \u003Ccac:Price>\n    \u003Ccbc:PriceAmount currencyID=\"CHF\">50.00\u003C\u002Fcbc:PriceAmount>\n  \u003C\u002Fcac:Price>\n\u003C\u002Fcac:InvoiceLine>\n",[58,741,742,747,752,757,762,767,772,777,782,786,790,794,799,804,809,814,819],{"__ignoreMap":178},[182,743,744],{"class":184,"line":185},[182,745,746],{},"\u003Ccac:InvoiceLine>\n",[182,748,749],{"class":184,"line":191},[182,750,751],{},"  \u003Ccbc:ID>1\u003C\u002Fcbc:ID>\n",[182,753,754],{"class":184,"line":219},[182,755,756],{},"  \u003Ccbc:InvoicedQuantity unitCode=\"HUR\">10\u003C\u002Fcbc:InvoicedQuantity>\n",[182,758,759],{"class":184,"line":225},[182,760,761],{},"  \u003Ccbc:LineExtensionAmount currencyID=\"CHF\">500.00\u003C\u002Fcbc:LineExtensionAmount>\n",[182,763,764],{"class":184,"line":231},[182,765,766],{},"  \u003Ccac:Item>\n",[182,768,769],{"class":184,"line":237},[182,770,771],{},"    \u003Ccbc:Description>Software development services\u003C\u002Fcbc:Description>\n",[182,773,774],{"class":184,"line":243},[182,775,776],{},"    \u003Ccbc:Name>Development\u003C\u002Fcbc:Name>\n",[182,778,779],{"class":184,"line":249},[182,780,781],{},"    \u003Ccac:ClassifiedTaxCategory>\n",[182,783,784],{"class":184,"line":255},[182,785,669],{},[182,787,788],{"class":184,"line":261},[182,789,674],{},[182,791,792],{"class":184,"line":267},[182,793,300],{},[182,795,796],{"class":184,"line":273},[182,797,798],{},"    \u003C\u002Fcac:ClassifiedTaxCategory>\n",[182,800,801],{"class":184,"line":279},[182,802,803],{},"  \u003C\u002Fcac:Item>\n",[182,805,806],{"class":184,"line":285},[182,807,808],{},"  \u003Ccac:Price>\n",[182,810,811],{"class":184,"line":291},[182,812,813],{},"    \u003Ccbc:PriceAmount currencyID=\"CHF\">50.00\u003C\u002Fcbc:PriceAmount>\n",[182,815,816],{"class":184,"line":297},[182,817,818],{},"  \u003C\u002Fcac:Price>\n",[182,820,821],{"class":184,"line":303},[182,822,823],{},"\u003C\u002Fcac:InvoiceLine>\n",[347,825,826,852,858],{},[350,827,828,831,832,835,836,839,840,843,844,847,848,851],{},[58,829,830],{},"InvoicedQuantity"," requires a ",[58,833,834],{},"unitCode"," — use UN\u002FECE Recommendation 20 codes (",[58,837,838],{},"HUR"," for hours, ",[58,841,842],{},"C62"," for pieces, ",[58,845,846],{},"KGM"," for kilograms, ",[58,849,850],{},"DAY"," for days)",[350,853,854,857],{},[58,855,856],{},"LineExtensionAmount"," = quantity × price, before VAT. This is what feeds the tax calculation.",[350,859,860,861],{},"Tax category at line level must match what is in the header ",[58,862,606],{},[17,864,866],{"id":865},"document-totals","Document totals",[10,868,163,869,872],{},[58,870,871],{},"LegalMonetaryTotal"," block summarises the invoice:",[173,874,876],{"className":175,"code":875,"language":177,"meta":178,"style":178},"\u003Ccac:LegalMonetaryTotal>\n  \u003Ccbc:LineExtensionAmount currencyID=\"CHF\">1000.00\u003C\u002Fcbc:LineExtensionAmount>\n  \u003Ccbc:TaxExclusiveAmount currencyID=\"CHF\">1000.00\u003C\u002Fcbc:TaxExclusiveAmount>\n  \u003Ccbc:TaxInclusiveAmount currencyID=\"CHF\">1081.00\u003C\u002Fcbc:TaxInclusiveAmount>\n  \u003Ccbc:PayableAmount currencyID=\"CHF\">1081.00\u003C\u002Fcbc:PayableAmount>\n\u003C\u002Fcac:LegalMonetaryTotal>\n",[58,877,878,883,888,893,898,903],{"__ignoreMap":178},[182,879,880],{"class":184,"line":185},[182,881,882],{},"\u003Ccac:LegalMonetaryTotal>\n",[182,884,885],{"class":184,"line":191},[182,886,887],{},"  \u003Ccbc:LineExtensionAmount currencyID=\"CHF\">1000.00\u003C\u002Fcbc:LineExtensionAmount>\n",[182,889,890],{"class":184,"line":219},[182,891,892],{},"  \u003Ccbc:TaxExclusiveAmount currencyID=\"CHF\">1000.00\u003C\u002Fcbc:TaxExclusiveAmount>\n",[182,894,895],{"class":184,"line":225},[182,896,897],{},"  \u003Ccbc:TaxInclusiveAmount currencyID=\"CHF\">1081.00\u003C\u002Fcbc:TaxInclusiveAmount>\n",[182,899,900],{"class":184,"line":231},[182,901,902],{},"  \u003Ccbc:PayableAmount currencyID=\"CHF\">1081.00\u003C\u002Fcbc:PayableAmount>\n",[182,904,905],{"class":184,"line":237},[182,906,907],{},"\u003C\u002Fcac:LegalMonetaryTotal>\n",[347,909,910,918,924,933],{},[350,911,912,914,915,917],{},[58,913,856],{}," = sum of all line ",[58,916,856],{}," values",[350,919,920,923],{},[58,921,922],{},"TaxExclusiveAmount"," = net total after header-level allowances\u002Fcharges, before VAT",[350,925,926,929,930,932],{},[58,927,928],{},"TaxInclusiveAmount"," = ",[58,931,922],{}," + total VAT",[350,934,935,938,939,941],{},[58,936,937],{},"PayableAmount"," = what the buyer owes (may differ from ",[58,940,928],{}," if a prepayment has been made)",[10,943,944,945,947,948,950,951,954,955,958],{},"The Schematron checks that these figures are internally consistent. If ",[58,946,856],{}," does not equal the sum of your line amounts, or ",[58,949,928],{}," does not equal ",[58,952,953],{},"TaxExclusiveAmount + TaxTotal\u002FTaxAmount",", you will get a ",[58,956,957],{},"BR-CO-1x"," error.",[10,960,961,962,967,968,972],{},"For a full walkthrough of the XML structure including allowances and charges, see the ",[963,964,966],"a",{"href":965},"\u002Fblog\u002Fpeppol-bis-billing-30-a-line-by-line-walkthrough","PEPPOL BIS Billing 3.0 line-by-line walkthrough",". For the Swiss-specific extensions on top of this mapping, see the post on ",[963,969,971],{"href":970},"\u002Fblog\u002Fhow-swissdigin-extends-peppol-bis-billing-30-for-switzerland","how SwissDIGIN extends PEPPOL BIS Billing 3.0",".",[974,975,976],"style",{},"html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":178,"searchDepth":191,"depth":191,"links":978},[979,980,981,982,983,984,985],{"id":19,"depth":191,"text":20},{"id":197,"depth":191,"text":198},{"id":396,"depth":191,"text":397},{"id":499,"depth":191,"text":500},{"id":593,"depth":191,"text":594},{"id":728,"depth":191,"text":729},{"id":865,"depth":191,"text":866},"A mapping guide from common ERP master data fields to their corresponding PEPPOL BIS Billing 3.0 XML elements.","md","2026-10-31",{},true,"\u002Fblog\u002Fhow-to-map-your-erp-data-to-peppol-bis-billing-30",{"title":5,"description":986},"blog\u002F0049.how-to-map-your-erp-data-to-peppol-bis-billing-30","-UM7ucCj8C5gWUzxu7NVQUEqSkPsYWhyqYcxo_DqAIk",1777105008019]