Most of the people knows that Germany is going to implement E-Invoicing in all sectors which aliens with global trends of digital transformation and it is spreading to all over countries in the world.
What is E-Invoicing
Invoice should be sent electronically to respective buyers in different sectors and it should
be in same standardized format which can support both sender and receiver parties.
Benefits of E-Invoicing
Cost Savings
Increased efficiency
Improved Accuracy
Increased transparancy
Easy Compliance
Faster Processing Times
Better Supplier Relationships
Here is the list of E-Invoicng formats which are using in different countries in different formats
- **PEPPOL (Pan-European Public Procurement Online)**: Used in many European countries.
- **UBL (Universal Business Language)**: Used in various countries and industries.
- **Facturae**: Spain.
- **FatturaPA**: Italy.
- **Factura XML**: Mexico.
- **e-Invoice (GST)**: India.
- **ZUGFeRD**: Germany.
In future, E-Invoice formats are different for each country and it is not easy process
invoices when doing business / buying things from different countries. Sellers will have
knowledge on the E-invoicing format which is following in their country and they feel
difficult to understand the other countries E-Invoicing formats and generate E-Invoice
in format of country from where they have received the order. Due to globalization any company
can receive orders from any where in the world and compnaies should be in position to ship the
goods / provide service and they should be in postion to create E-Invoice send to respective
customers in format which acceptable in their countries
By Analyzing multiple E-Invoicing formats which are formally allowed in different countries
and come up with common E-Invoice standard which can support any country followed / accepted E-invoice
format. So that it can work like EDI integration working between two business houses. But
it doesn't require complex EDI integration setup & maintainance and not required to buy any EDI
software applications and corresponding licenses.
To build this common invoice standard we can use some open source inhouse application which can support receive invoices or generate invoices in standard format and converted into country specific E-Invoice formats and vice versa. It will have API functionality. Mainly this service can utilized by the any size of business customer and doesn't require much investment in this application.
Here I am providing some sort of soultion in high level with example of processing
of ZUGFeRD (Germany) e-invoice format
Here is the ### Unified Format (common format) of E-Invoice
```json
{
"invoice": {
"invoiceNumber": "string",
"invoiceDate": "string",
"supplier": {
"name": "string",
"address": "string",
"taxIdentifier": "string",
"country": "string"
},
"buyer": {
"name": "string",
"address": "string",
"taxIdentifier": "string",
"country": "string"
},
"lineItems": [
{
"description": "string",
"quantity": "number",
"unitPrice": "number",
"totalAmount": "number",
"taxes": [
{
"type": "string",
"rate": "number",
"amount": "number"
}
]
}
],
"totalAmount": "number",
"totalTaxes": "number",
"digitalSignature": "string",
"extensions": {
"countrySpecificField1": "string",
"countrySpecificField2": "string"
}
}
}
```
Here is the ### ZUGFeRD Sample Invoice (Simplified XML)
```xml
Here is the mapping between Unified E-Invoice Format and ZUGFeRD (Germany) E-Invoice format
| ZUGFeRD Field | |Unified Format Field | |
---|---|
|| `<ram:ID>` | |`invoice.invoiceNumber` | |
|| `<ram:IssueDateTime><udt:DateTimeString>` | |`invoice.invoiceDate` | |
|| `<ram:SellerTradeParty><ram:Name>` | |`invoice.supplier.name` | |
|| `<ram:SellerTradeParty><ram:PostalTradeAddress><ram:LineOne>, <ram:CityName>, <ram:PostcodeCode>, <ram:CountryID>` | |`invoice.supplier.address` | |
|| `<ram:SellerTradeParty><ram:SpecifiedTaxRegistration><ram:ID>` | |`invoice.supplier.taxIdentifier` | |
|| `<ram:SellerTradeParty><ram:PostalTradeAddress><ram:CountryID>` | |`invoice.supplier.country` | |
|| `<ram:BuyerTradeParty><ram:Name>` | |`invoice.buyer.name` | |
|| `<ram:BuyerTradeParty><ram:PostalTradeAddress><ram:LineOne>, <ram:CityName>, <ram:PostcodeCode>, <ram:CountryID>` | |`invoice.buyer.address` | |
|| `<ram:BuyerTradeParty><ram:SpecifiedTaxRegistration><ram:ID>` | |`invoice.buyer.taxIdentifier` | |
|| `<ram:BuyerTradeParty><ram:PostalTradeAddress><ram:CountryID>` | |`invoice.buyer.country` | |
|| `<ram:IncludedSupplyChainTradeLineItem><ram:SpecifiedTradeProduct><ram:Name>` | |`invoice.lineItems[n].description` | |
|| `<ram:IncludedSupplyChainTradeLineItem><ram:SpecifiedLineTradeDelivery><ram:BilledQuantity>` | |`invoice.lineItems[n].quantity` | |
|| `<ram:IncludedSupplyChainTradeLineItem><ram:SpecifiedLineTradeAgreement><ram:GrossPriceProductTradePrice><ram:ChargeAmount>` | |`invoice.lineItems[n].unitPrice` | |
|| `<ram:IncludedSupplyChainTradeLineItem><ram:SpecifiedLineTradeSettlement><ram:SpecifiedTradeSettlementLineMonetarySummation><ram:LineTotalAmount>` | |`invoice.lineItems[n].totalAmount` | |
|| `<ram:IncludedSupplyChainTradeLineItem><ram:SpecifiedLineTradeSettlement><ram:ApplicableTradeTax><ram:TypeCode>` | |`invoice.lineItems[n].taxes[m].type` | |
|| `<ram:IncludedSupplyChainTradeLineItem><ram:SpecifiedLineTradeSettlement><ram:ApplicableTradeTax><ram:RateApplicablePercent>` | |`invoice.lineItems[n].taxes[m].rate` | |
|| `<ram:IncludedSupplyChainTradeLineItem><ram:SpecifiedLineTradeSettlement><ram:ApplicableTradeTax><ram:CalculatedAmount>` | |`invoice.lineItems[n].taxes[m].amount` | |
|| `<ram:SpecifiedTradeSettlementMonetarySummation><ram:GrandTotalAmount>` | |`invoice.totalAmount` | |
|| `<ram:SpecifiedTradeSettlementMonetarySummation><ram:TaxTotalAmount>` | |`invoice.totalTaxes` | |
Here is the output of E-Invoice in Unified Format from ZUGFeRD format
```json
{
"invoice": {
"invoiceNumber": "INV001",
"invoiceDate": "2023-07-19",
"supplier": {
"name": "Supplier Name",
"address": "123 Supplier St, Supplier City, 12345",
"taxIdentifier": "DE123456789",
"country": "DE"
},
"buyer": {
"name": "Buyer Name",
"address": "456 Buyer Ave, Buyer City, 67890",
"taxIdentifier": "DE987654321",
"country": "DE"
},
"lineItems": [
{
"description": "Product Description",
"quantity": 10,
"unitPrice": 10.00,
"totalAmount": 100.00,
"tax
es": [
{
"type": "VAT",
"rate": 10,
"amount": 10.00
}
]
}
],
"totalAmount": 110.00,
"totalTaxes": 10.00,
"digitalSignature": "",
"extensions": {}
}
}
```
Above mentioned output document will be pushed / send to the buyers in elctronic form.
No comments:
Post a Comment