[IMP] l10n_dk_oioubl: allow import

The aim of this commit is to allow import of OIOUBL einvoice.

Documentation source: https://oioubl.info/classes/en/index.html

The test xml files are those provided in the OIOUBL documentation.
The testing xml files are those provided by the Danish administration
with the documentation.
You can download the documentation here: https://oioubl.info/documents/en/allpdf.zip
The xml are in the folder "Eksempelfiler".

closes odoo/odoo#137758

Task-id: 3420748
X-original-commit: b6a060b60e6755af4e6029eb7b23d417a3c4a774
Signed-off-by: Laurent Smet (las) <las@odoo.com>
Signed-off-by: Brice Bartoletti (bib) <bib@odoo.com>
This commit is contained in:
Brice bib Bartoletti
2023-10-06 07:12:12 +00:00
parent b818c83e9c
commit a5f01f9d7a
6 changed files with 948 additions and 7 deletions
@@ -0,0 +1,12 @@
from odoo import api, models
class AccountMove(models.Model):
_inherit = 'account.move'
@api.model
def _get_ubl_cii_builder_from_xml_tree(self, tree):
customization_id = tree.find('{*}CustomizationID')
if customization_id is not None and 'OIOUBL-2' in customization_id.text:
return self.env['account.edi.xml.oioubl_201']
return super()._get_ubl_cii_builder_from_xml_tree(tree)
@@ -0,0 +1,198 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns:sdt="urn:oasis:names:specification:ubl:schema:xsd:SpecializedDatatypes-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ext="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:qdt="urn:oasis:names:specification:ubl:schema:xsd:QualifiedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:ccts="urn:un:unece:uncefact:documentation:2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 UBL-Invoice-2.0.xsd">
<!--
******************************************************************************************************************
OIOUBL Instance Documentation
title= ADVORD_01_01_00_Invoice_v2p1.xml
replaces= ADVORD_01_01_00_Invoice_v2p1.xml
publisher= "IT og Telestyrelsen"
Creator= "Finn Christensen"
created= 2006-09-08
modified= 2007-03-26
issued= 2007-03-26
conformsTo= OIOUBL_ScenarioPackage_ADVORD
description= "This document is produced as part of the OIOUBL Advanced Ordering procurement scenario package"
rights= "It can be used following the Common Creative Licence"
all terms derived from http://dublincore.org/documents/dcmi-terms/
For more information, see www.oioubl.dk or email oioubl@itst.dk
******************************************************************************************************************
-->
<!-- The following TestInstance process instruction is for customization usage. It indicates that the instance is for testing purposes -->
<?TestInstance ResponseTo="smtp:test@company.dk"
description= "apply your comment here"
?>
<cbc:UBLVersionID>2.0</cbc:UBLVersionID>
<cbc:CustomizationID>OIOUBL-2.01</cbc:CustomizationID>
<cbc:ProfileID schemeAgencyID="320" schemeID="urn:oioubl:id:profileid-1.1">Procurement-OrdSel-BilSim-1.0</cbc:ProfileID>
<cbc:ID>A00095678</cbc:ID>
<cbc:CopyIndicator>false</cbc:CopyIndicator>
<cbc:UUID>6E09886B-DC6E-439F-82D1-7CCAC7F4E3B3</cbc:UUID>
<cbc:IssueDate>2006-04-10</cbc:IssueDate>
<cbc:InvoiceTypeCode listAgencyID="320" listID="urn:oioubl:codelist:invoicetypecode-1.1">380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>DKK</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>5250124502</cbc:AccountingCost>
<cac:OrderReference>
<cbc:ID>5002701</cbc:ID>
<cbc:IssueDate>2006-04-01</cbc:IssueDate>
</cac:OrderReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="DK:CVR">DK16356706</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="DK:CVR">DK16356706</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Krea Toys</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Leverandørvej</cbc:StreetName>
<cbc:BuildingNumber>11</cbc:BuildingNumber>
<cbc:CityName>Dyssegård</cbc:CityName>
<cbc:PostalZone>2870</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK16356706</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Krea Toys</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356706</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>9876</cbc:ID>
<cbc:Name>Hugo Jensen</cbc:Name>
<cbc:Telephone>26532147</cbc:Telephone>
<cbc:ElectronicMail>Hugo@kt.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeAgencyID="9" schemeID="GLN">5798000416604</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GLN">5798000417777</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Myretuen</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Fredericiavej</cbc:StreetName>
<cbc:BuildingNumber>10</cbc:BuildingNumber>
<cbc:CityName>Helsingør</cbc:CityName>
<cbc:PostalZone>3000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK16356709</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Myretuen</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356709</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>1413</cbc:ID>
<cbc:Name>Lise Hansen</cbc:Name>
<cbc:Telephone>2653214</cbc:Telephone>
<cbc:ElectronicMail>Lise@mt.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:Delivery>
<cbc:ActualDeliveryDate>2006-04-15</cbc:ActualDeliveryDate>
</cac:Delivery>
<cac:PaymentMeans>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansCode>42</cbc:PaymentMeansCode>
<cbc:PaymentDueDate>2006-04-25</cbc:PaymentDueDate>
<cbc:PaymentChannelCode listAgencyID="320" listID="urn:oioubl:codelist:paymentchannelcode-1.1">DK:BANK</cbc:PaymentChannelCode>
<cac:PayeeFinancialAccount>
<cbc:ID>0005704966</cbc:ID>
<cbc:PaymentNote>A00095678</cbc:PaymentNote>
<cac:FinancialInstitutionBranch>
<cbc:ID>9544</cbc:ID>
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentTerms>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansID>1</cbc:PaymentMeansID>
<cbc:Amount currencyID="DKK">6250.00</cbc:Amount>
</cac:PaymentTerms>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">5000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="DKK">5000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="DKK">1250.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="DKK">6250.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="DKK">6250.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DKK">5000.00</cbc:LineExtensionAmount>
<cac:OrderLineReference>
<cbc:LineID>1</cbc:LineID>
</cac:OrderLineReference>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">5000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:Item>
<cbc:Description>Fine toy</cbc:Description>
<cbc:Name>Fine toy</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GTIN">5712345780121</cbc:ID>
</cac:SellersItemIdentification>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DKK">5000.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
<cbc:OrderableUnitFactorRate>1</cbc:OrderableUnitFactorRate>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
@@ -0,0 +1,200 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2" xmlns:sdt="urn:oasis:names:specification:ubl:schema:xsd:SpecializedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 UBL-Invoice-2.0.xsd">
<!--
******************************************************************************************************************
OIOUBL Instance Documentation
title= ADVORD_02_02_00_Invoice_v2p1.xml
replaces= ADVORD_02_02_00_Invoice_v2p1.xml
publisher= "IT og Telestyrelsen"
Creator= "Finn Christensen"
created= 2006-09-08
modified= 2007-03-26
issued= 2007-03-26
conformsTo= OIOUBL_ScenarioPackage_ADVORD
description= "This document is produced as part of the OIOUBL Advanced Ordering procurement scenario package"
rights= "It can be used following the Common Creative Licence"
all terms derived from http://dublincore.org/documents/dcmi-terms/
For more information, see www.oioubl.dk or email oioubl@itst.dk
******************************************************************************************************************
-->
<!-- The following TestInstance process instruction is for customization usage. It indicates that the instance is for testing purposes -->
<?TestInstance
ResponseTo="smtp:test@company.dk"
description= "apply your comment here"
?>
<cbc:UBLVersionID>2.0</cbc:UBLVersionID>
<cbc:CustomizationID>OIOUBL-2.01</cbc:CustomizationID>
<cbc:ProfileID schemeAgencyID="320" schemeID="urn:oioubl:id:profileid-1.1">Procurement-OrdSel-BilSim-1.0</cbc:ProfileID>
<cbc:ID>A00095680</cbc:ID>
<cbc:CopyIndicator>false</cbc:CopyIndicator>
<cbc:UUID>6E09886B-DC6E-439F-82D1-7CCAC7F4E3B4</cbc:UUID>
<cbc:IssueDate>2006-04-10</cbc:IssueDate>
<cbc:InvoiceTypeCode listAgencyID="320" listID="urn:oioubl:codelist:invoicetypecode-1.1">380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>DKK</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>5250124502</cbc:AccountingCost>
<cac:OrderReference>
<cbc:ID>5002701</cbc:ID>
<cbc:UUID>6E09886B-DC6E-43EE-82D1-7CCAC7F4E3B1</cbc:UUID>
<cbc:IssueDate>2006-04-01</cbc:IssueDate>
</cac:OrderReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="DK:CVR">DK16356706</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="DK:CVR">DK16356706</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Super Soft A/S</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Leverandørvej</cbc:StreetName>
<cbc:BuildingNumber>11</cbc:BuildingNumber>
<cbc:CityName>Dyssegård</cbc:CityName>
<cbc:PostalZone>2870</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK16356706</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Super Soft A/S</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356706</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>5567</cbc:ID>
<cbc:Name>Hugo Jensen</cbc:Name>
<cbc:Telephone>26532147</cbc:Telephone>
<cbc:ElectronicMail>Hugo@ss.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeAgencyID="9" schemeID="GLN">5798000416604</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GLN">5798000417777</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Myretuen</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Fredericiavej</cbc:StreetName>
<cbc:BuildingNumber>10</cbc:BuildingNumber>
<cbc:CityName>Helsingør</cbc:CityName>
<cbc:PostalZone>3000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK16356709</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Myretuen</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356709</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>1413</cbc:ID>
<cbc:Name>Lise Hansen</cbc:Name>
<cbc:Telephone>2653214</cbc:Telephone>
<cbc:ElectronicMail>Lise@mt.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:Delivery>
<cbc:ActualDeliveryDate>2006-04-15</cbc:ActualDeliveryDate>
</cac:Delivery>
<cac:PaymentMeans>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansCode>42</cbc:PaymentMeansCode>
<cbc:PaymentDueDate>2006-04-25</cbc:PaymentDueDate>
<cbc:PaymentChannelCode listAgencyID="320" listID="urn:oioubl:codelist:paymentchannelcode-1.1">DK:BANK</cbc:PaymentChannelCode>
<cac:PayeeFinancialAccount>
<cbc:ID>0005704966</cbc:ID>
<cbc:PaymentNote>A00095680</cbc:PaymentNote>
<cac:FinancialInstitutionBranch>
<cbc:ID>9544</cbc:ID>
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentTerms>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansID>1</cbc:PaymentMeansID>
<cbc:Amount currencyID="DKK">5000.00</cbc:Amount>
</cac:PaymentTerms>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1000.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">4000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">1000.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="DKK">4000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="DKK">1000.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="DKK">5000.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="DKK">5000.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">800.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DKK">4000.00</cbc:LineExtensionAmount>
<cac:OrderLineReference>
<cbc:LineID>1</cbc:LineID>
</cac:OrderLineReference>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1000.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">4000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">1000.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:Item>
<cbc:Description>Superble</cbc:Description>
<cbc:Name>Superble</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GTIN">5712345780121</cbc:ID>
</cac:SellersItemIdentification>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DKK">5.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
<cbc:OrderableUnitFactorRate>1</cbc:OrderableUnitFactorRate>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
@@ -0,0 +1,200 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2" xmlns:sdt="urn:oasis:names:specification:ubl:schema:xsd:SpecializedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 UBL-Invoice-2.0.xsd">
<!--
******************************************************************************************************************
OIOUBL Instance Documentation
title= ADVORD_03_03_00_Invoice_v2p1.xml
replaces= ADVORD_03_03_00_Invoice_v2p1.xml
publisher= "IT og Telestyrelsen"
Creator= "Finn Christensen"
created= 2006-09-08
modified= 2007-03-26
issued= 2007-03-26
conformsTo= OIOUBL_ScenarioPackage_ADVORD
description= "This document is produced as part of the OIOUBL Advanced Ordering procurement scenario package"
rights= "It can be used following the Common Creative Licence"
all terms derived from http://dublincore.org/documents/dcmi-terms/
For more information, see www.oioubl.dk or email oioubl@itst.dk
******************************************************************************************************************
-->
<!-- The following TestInstance process instruction is for customization usage. It indicates that the instance is for testing purposes -->
<?TestInstance
ResponseTo="smtp:test@company.dk"
description= "apply your comment here"
?>
<cbc:UBLVersionID>2.0</cbc:UBLVersionID>
<cbc:CustomizationID>OIOUBL-2.01</cbc:CustomizationID>
<cbc:ProfileID schemeAgencyID="320" schemeID="urn:oioubl:id:profileid-1.1">Procurement-OrdAdvR-BilSim-1.0</cbc:ProfileID>
<cbc:ID>A00095678</cbc:ID>
<cbc:CopyIndicator>false</cbc:CopyIndicator>
<cbc:UUID>6E09886B-DC6E-439F-82D1-7CCAC7F4E3B3</cbc:UUID>
<cbc:IssueDate>2006-04-10</cbc:IssueDate>
<cbc:InvoiceTypeCode listAgencyID="320" listID="urn:oioubl:codelist:invoicetypecode-1.1">380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>DKK</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>5250124502</cbc:AccountingCost>
<cac:OrderReference>
<cbc:ID>5002701</cbc:ID>
<cbc:UUID>6E09886B-DC6E-439F-82D1-7CCAC7F4E3B1</cbc:UUID>
<cbc:IssueDate>2006-04-01</cbc:IssueDate>
</cac:OrderReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="DK:CVR">DK16356706</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="DK:CVR">DK16356706</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>PricewaterhouseCoopers</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Strandvejen</cbc:StreetName>
<cbc:BuildingNumber>44</cbc:BuildingNumber>
<cbc:CityName>Hellerup</cbc:CityName>
<cbc:PostalZone>2900</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK16356706</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>PricewaterhouseCoopers</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356706</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>8149</cbc:ID>
<cbc:Name>Peter Skovborg</cbc:Name>
<cbc:Telephone>26532147</cbc:Telephone>
<cbc:ElectronicMail>Peter@pwc.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeAgencyID="9" schemeID="GLN">5798000416604</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GLN">5798000416642</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>IT- og Telestyrelsen</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Holsteinsgade</cbc:StreetName>
<cbc:BuildingNumber>300</cbc:BuildingNumber>
<cbc:CityName>København Ø</cbc:CityName>
<cbc:PostalZone>2100</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK16356709</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>IT- og Telestyrelsen</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356709</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>90015</cbc:ID>
<cbc:Name>Lasse Jensen</cbc:Name>
<cbc:Telephone>2653214</cbc:Telephone>
<cbc:ElectronicMail>Lasse@itst.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:Delivery>
<cbc:ActualDeliveryDate>2006-04-15</cbc:ActualDeliveryDate>
</cac:Delivery>
<cac:PaymentMeans>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansCode>42</cbc:PaymentMeansCode>
<cbc:PaymentDueDate>2006-04-25</cbc:PaymentDueDate>
<cbc:PaymentChannelCode listAgencyID="320" listID="urn:oioubl:codelist:paymentchannelcode-1.1">DK:BANK</cbc:PaymentChannelCode>
<cac:PayeeFinancialAccount>
<cbc:ID>0005704966</cbc:ID>
<cbc:PaymentNote>A00095678</cbc:PaymentNote>
<cac:FinancialInstitutionBranch>
<cbc:ID>9544</cbc:ID>
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentTerms>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansID>1</cbc:PaymentMeansID>
<cbc:Amount currencyID="DKK">6250.00</cbc:Amount>
</cac:PaymentTerms>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">5000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="DKK">5000.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="DKK">1250.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="DKK">6250.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="DKK">6250.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DKK">5000.00</cbc:LineExtensionAmount>
<cac:OrderLineReference>
<cbc:LineID>1</cbc:LineID>
</cac:OrderLineReference>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">5000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:Item>
<cbc:Description>Konsulentrapport</cbc:Description>
<cbc:Name>Konsulentrapport</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID schemeID="n/a">n/a</cbc:ID>
</cac:SellersItemIdentification>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DKK">5000.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
<cbc:OrderableUnitFactorRate>1</cbc:OrderableUnitFactorRate>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
@@ -0,0 +1,228 @@
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:ccts="urn:oasis:names:specification:ubl:schema:xsd:CoreComponentParameters-2" xmlns:sdt="urn:oasis:names:specification:ubl:schema:xsd:SpecializedDatatypes-2" xmlns:udt="urn:un:unece:uncefact:data:specification:UnqualifiedDataTypesSchemaModule:2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2 UBL-Invoice-2.0.xsd">
<!--
******************************************************************************************************************
OIOUBL Instance Documentation
title= BASPRO_01_01_00_Invoice_v2p1.xml
replaces= BASPRO_01_01_00_Invoice_v2p1.xml
publisher= "IT og Telestyrelsen"
Creator= "Finn Christensen"
created= 2006-09-08
modified= 2007-03-26
issued= 2007-03-26
conformsTo= OIOUBL_ScenarioPackage_BASPRO
description= "This document is produced as part of the OIOUBL Basic procurement scenario package"
rights= "It can be used following the Common Creative Licence"
all terms derived from http://dublincore.org/documents/dcmi-terms/
For more information, see www.oioubl.dk or email oioubl@itst.dk
******************************************************************************************************************
-->
<!-- The following TestInstance process instruction is for customization usage. It indicates that the instance is for testing purposes -->
<?TestInstance
ResponseTo="smtp:test@company.dk"
description= "apply your comment here"
?>
<cbc:UBLVersionID>2.0</cbc:UBLVersionID>
<cbc:CustomizationID>OIOUBL-2.01</cbc:CustomizationID>
<cbc:ProfileID schemeAgencyID="320" schemeID="urn:oioubl:id:profileid-1.1">Procurement-OrdSimR-BilSim-1.0</cbc:ProfileID>
<cbc:ID>A00095678</cbc:ID>
<cbc:CopyIndicator>false</cbc:CopyIndicator>
<cbc:UUID>9756b4d0-8815-1029-857a-e388fe63f399</cbc:UUID>
<cbc:IssueDate>2005-11-20</cbc:IssueDate>
<cbc:InvoiceTypeCode listAgencyID="320" listID="urn:oioubl:codelist:invoicetypecode-1.1">380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>DKK</cbc:DocumentCurrencyCode>
<cbc:AccountingCost>5250124502</cbc:AccountingCost>
<cac:OrderReference>
<cbc:ID>5002701</cbc:ID>
<cbc:UUID>9756b468-8815-1029-857a-e388fe63f399</cbc:UUID>
<cbc:IssueDate>2005-11-01</cbc:IssueDate>
</cac:OrderReference>
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="DK:CVR">DK16356706</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeID="DK:CVR">DK16356706</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Tavleverandøren</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Leverandørvej</cbc:StreetName>
<cbc:BuildingNumber>11</cbc:BuildingNumber>
<cbc:CityName>Dyssegård</cbc:CityName>
<cbc:PostalZone>2870</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<cbc:CompanyID schemeID="DK:SE">DK16356706</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Tavleleverandøren</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356706</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>23456</cbc:ID>
<cbc:Name>Hugo Jensen</cbc:Name>
<cbc:Telephone>15812337</cbc:Telephone>
<cbc:ElectronicMail>Hugo@tavl.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cbc:EndpointID schemeAgencyID="9" schemeID="GLN">5798000416604</cbc:EndpointID>
<cac:PartyIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GLN">5798000416604</cbc:ID>
</cac:PartyIdentification>
<cac:PartyName>
<cbc:Name>Den Lille Skole</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:AddressFormatCode listAgencyID="320" listID="urn:oioubl:codelist:addressformatcode-1.1">StructuredDK</cbc:AddressFormatCode>
<cbc:StreetName>Fredericiavej</cbc:StreetName>
<cbc:BuildingNumber>10</cbc:BuildingNumber>
<cbc:CityName>Helsingør</cbc:CityName>
<cbc:PostalZone>3000</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DK</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Den Lille Skole</cbc:RegistrationName>
<cbc:CompanyID schemeID="DK:CVR">DK16356709</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:ID>7778</cbc:ID>
<cbc:Name>Hans Hansen</cbc:Name>
<cbc:Telephone>26532147</cbc:Telephone>
<cbc:ElectronicMail>Hans@dls.dk</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<cac:Delivery>
<cbc:ActualDeliveryDate>2005-11-15</cbc:ActualDeliveryDate>
</cac:Delivery>
<cac:PaymentMeans>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansCode>42</cbc:PaymentMeansCode>
<cbc:PaymentDueDate>2005-11-25</cbc:PaymentDueDate>
<cbc:PaymentChannelCode listAgencyID="320" listID="urn:oioubl:codelist:paymentchannelcode-1.1">DK:BANK</cbc:PaymentChannelCode>
<cac:PayeeFinancialAccount>
<cbc:ID>1234567890</cbc:ID>
<cbc:PaymentNote>A00095678</cbc:PaymentNote>
<cac:FinancialInstitutionBranch>
<cbc:ID>1234</cbc:ID>
</cac:FinancialInstitutionBranch>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentTerms>
<cbc:ID>1</cbc:ID>
<cbc:PaymentMeansID>1</cbc:PaymentMeansID>
<cbc:Amount currencyID="DKK">6312.50</cbc:Amount>
</cac:PaymentTerms>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1262.50</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">5050.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID ="DKK">1262.50</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID ="DKK">5050.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID ="DKK">1262.50</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID ="DKK">6312.50</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID ="DKK">6312.50</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">1.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DKK">5000.00</cbc:LineExtensionAmount>
<cac:OrderLineReference>
<cbc:LineID>1</cbc:LineID>
</cac:OrderLineReference>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">5000.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">1250.00</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:Item>
<cbc:Description>Hejsetavle</cbc:Description>
<cbc:Name>Hejsetavle</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GTIN">5712345780121</cbc:ID>
</cac:SellersItemIdentification>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DKK">5000.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
<cbc:OrderableUnitFactorRate>1</cbc:OrderableUnitFactorRate>
</cac:Price>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>2</cbc:ID>
<cbc:InvoicedQuantity unitCode="EA">2.00</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="DKK">50.00</cbc:LineExtensionAmount>
<cac:OrderLineReference>
<cbc:LineID>2</cbc:LineID>
</cac:OrderLineReference>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="DKK">12.50</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="DKK">50.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="DKK">12.50</cbc:TaxAmount>
<cac:TaxCategory>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxcategoryid-1.1">StandardRated</cbc:ID>
<cbc:Percent>25</cbc:Percent>
<cac:TaxScheme>
<cbc:ID schemeAgencyID="320" schemeID="urn:oioubl:id:taxschemeid-1.1">63</cbc:ID>
<cbc:Name>Moms</cbc:Name>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:Item>
<cbc:Description>Beslag</cbc:Description>
<cbc:Name>Beslag</cbc:Name>
<cac:SellersItemIdentification>
<cbc:ID schemeAgencyID="9" schemeID="GTIN">5712345780111</cbc:ID>
</cac:SellersItemIdentification>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="DKK">25.00</cbc:PriceAmount>
<cbc:BaseQuantity unitCode="EA">1</cbc:BaseQuantity>
<cbc:OrderableUnitFactorRate>1</cbc:OrderableUnitFactorRate>
</cac:Price>
</cac:InvoiceLine>
</Invoice>
@@ -1,10 +1,12 @@
from freezegun import freeze_time
from odoo import Command
from odoo import Command, fields
from odoo.addons.l10n_account_edi_ubl_cii_tests.tests.common import TestUBLCommon
from odoo.addons.account.tests.test_account_move_send import TestAccountMoveSendCommon
from odoo.exceptions import UserError
from odoo.modules.module import get_resource_path
from odoo.tests import tagged
from odoo.tools import file_open
@tagged('post_install_l10n', 'post_install', '-at_install')
@@ -60,10 +62,11 @@ class TestUBLDK(TestUBLCommon, TestAccountMoveSendCommon):
'company_registry': '123 568 941 00056',
'ubl_cii_format': 'oioubl_201',
})
cls.dk_local_tax_1 = cls.env["account.chart.template"].ref('tax120')
cls.dk_local_tax_2 = cls.env["account.chart.template"].ref('tax110')
cls.dk_foreign_tax_1 = cls.env["account.chart.template"].ref('tax210')
cls.dk_foreign_tax_2 = cls.env["account.chart.template"].ref('tax220')
cls.dk_local_sale_tax_1 = cls.env["account.chart.template"].ref('tax120')
cls.dk_local_sale_tax_2 = cls.env["account.chart.template"].ref('tax110')
cls.dk_foreign_sale_tax_1 = cls.env["account.chart.template"].ref('tax210')
cls.dk_foreign_sale_tax_2 = cls.env["account.chart.template"].ref('tax220')
cls.dk_local_purchase_tax_goods = cls.env["account.chart.template"].ref('tax400')
def create_post_and_send_invoice(self, partner=None, move_type='out_invoice'):
if not partner:
@@ -71,10 +74,10 @@ class TestUBLDK(TestUBLCommon, TestAccountMoveSendCommon):
if partner == self.partner_a:
# local dk taxes
tax_1, tax_2 = self.dk_local_tax_1, self.dk_local_tax_2
tax_1, tax_2 = self.dk_local_sale_tax_1, self.dk_local_sale_tax_2
else:
# dk taxes for foreigners
tax_1, tax_2 = self.dk_foreign_tax_1, self.dk_foreign_tax_2
tax_1, tax_2 = self.dk_foreign_sale_tax_1, self.dk_foreign_sale_tax_2
invoice = self.env["account.move"].create({
'move_type': move_type,
@@ -104,6 +107,10 @@ class TestUBLDK(TestUBLCommon, TestAccountMoveSendCommon):
invoice._generate_pdf_and_send_invoice(self.move_template, from_cron=False, allow_fallback_pdf=False)
return invoice
#########
# EXPORT
#########
@freeze_time('2017-01-01')
def test_export_invoice_two_line_partner_dk(self):
invoice = self.create_post_and_send_invoice()
@@ -166,3 +173,99 @@ class TestUBLDK(TestUBLCommon, TestAccountMoveSendCommon):
self.partner_c.company_registry = False
with self.assertRaisesRegex(UserError, "The company registry is required for french partner:"):
self.create_post_and_send_invoice(partner=self.partner_c)
#########
# IMPORT
#########
def import_bill_xml_file_in_purchase_journal(self, file_path):
full_file_path = get_resource_path(self.test_module, 'tests/test_files', file_path)
self.assertTrue(full_file_path, f'File not found: {file_path}')
with file_open(full_file_path, 'rb') as file:
xml_attachment = self.env['ir.attachment'].create({
'mimetype': 'application/xml',
'name': 'test_invoice.xml',
'raw': file.read(),
})
purchase_journal = self.company_data["default_journal_purchase"]
invoice = purchase_journal._create_document_from_attachment(xml_attachment.id)
return invoice
@freeze_time('2017-01-01')
def test_oioubl_import_exemple_file_1(self):
file_name = 'external/ADVORD_01_01_00_Invoice_v2p1.xml'
bill = self.import_bill_xml_file_in_purchase_journal(file_name)
self.assertRecordValues(bill, ({
'ref': 'A00095678',
'invoice_date': fields.Date.from_string('2006-04-10'),
'amount_total': 6_250.00,
},))
self.assertRecordValues(bill.invoice_line_ids, ({
'name': 'Fine toy',
'quantity': 1,
'price_unit': 5_000.00,
'price_subtotal': 5_000.00,
'price_total': 6_250.00,
'tax_ids': self.dk_local_purchase_tax_goods.ids,
},))
@freeze_time('2017-01-01')
def test_oioubl_import_exemple_file_2(self):
file_name = 'external/ADVORD_02_02_00_Invoice_v2p1.xml'
bill = self.import_bill_xml_file_in_purchase_journal(file_name)
self.assertRecordValues(bill, ({
'ref': 'A00095680',
'invoice_date': fields.Date.from_string('2006-04-10'),
'amount_total': 5_000.00,
},))
self.assertRecordValues(bill.invoice_line_ids, ({
'name': 'Superble',
'quantity': 800,
'price_unit': 5.00,
'price_subtotal': 4_000.00,
'price_total': 5_000.00,
'tax_ids': self.dk_local_purchase_tax_goods.ids,
},))
@freeze_time('2017-01-01')
def test_oioubl_import_exemple_file_3(self):
file_name = 'external/ADVORD_03_03_00_Invoice_v2p1.xml'
bill = self.import_bill_xml_file_in_purchase_journal(file_name)
self.assertRecordValues(bill, ({
'ref': 'A00095678',
'invoice_date': fields.Date.from_string('2006-04-10'),
'amount_total': 6_250.00,
},))
self.assertRecordValues(bill.invoice_line_ids, ({
'name': 'Konsulentrapport',
'quantity': 1,
'price_unit': 5_000.00,
'price_subtotal': 5_000.00,
'price_total': 6_250.00,
'tax_ids': self.dk_local_purchase_tax_goods.ids,
},))
@freeze_time('2017-01-01')
def test_oioubl_import_exemple_file_4(self):
file_name = 'external/BASPRO_01_01_00_Invoice_v2p1.xml'
bill = self.import_bill_xml_file_in_purchase_journal(file_name)
self.assertRecordValues(bill, ({
'ref': 'A00095678',
'invoice_date': fields.Date.from_string('2005-11-20'),
'amount_total': 6_312.50,
},))
self.assertRecordValues(bill.invoice_line_ids, ({
'name': 'Hejsetavle',
'quantity': 1,
'price_unit': 5_000.00,
'price_subtotal': 5_000.00,
'price_total': 6_250.00,
'tax_ids': self.dk_local_purchase_tax_goods.ids,
}, {
'name': 'Beslag',
'quantity': 2,
'price_unit': 25.00,
'price_subtotal': 50.00,
'price_total': 62.50,
'tax_ids': self.dk_local_purchase_tax_goods.ids,
}))