Joinery-oriented formatting specification for UBL Invoice example instance

$Date: 2004/09/05 15:14:03 $(UTC)


Table of Contents

1. Invoice formatting specification
1.1. Status
1.2. Example rendering
1.3. Layout order and information
1.4. Namespaces
2. Miscellaneous information
2.1. Document header information
3. Header information
3.1. Invoice number
3.2. Invoice Issue Date
3.3. Taxpoint Date
3.4. Purchase Order No.
3.5. Issue Date
3.6. Delivery Document
3.7. Buyer
3.8. Seller
3.9. Accounts Contact
3.10. Delivery Date
4. Line item information
4.1. Line
4.2. Item
4.3. [Source of column headings]
4.4. [Values of columns with headings as above]
4.5. Quantity U/M
4.6. Measure
4.7. Measured
4.8. Price each
4.9. Tax Category
4.10. Extended Amount
5. Summary information
5.1. Tax Regime
5.2. Tax Type
5.3. Delivery Charge
5.4. Discount
5.5. VAT Rate
5.6. VAT At Rate
5.7. VAT Total
5.8. Total Lines + Charges
5.9. Total Taxable
5.10. Total Before Tax
5.11. Total Due
5.12. Payment Terms
5.13. Payment Means

1.  Invoice formatting specification

This formatting specification describes a rendering of an instance of the UBL Invoice document model according to a conceptual joinery-oriented layout.

For a list of all formatting specifications and an overview of the documentation conventions, please visit the formatting specification home page.

1.1.  Status

This specification has no formal status at this time. It should not be considered a reference interpretation of UBL documents. Feedback is sought from users of stylesheets that implement this formatting specification regarding suggestions for change for consideration by the OASIS UBL committees for incorporation into these formatting specifications.

Presentational semantics may never be formalized or normative in the UBL project due to differing international requirements and conventions for the presentation of information found in business documents. This document contains only examples from a few of what will probably be many available UBL stylesheet libraries.

1.2.  Example rendering

The following is an example rendering that illustrates the position and decoration of the information items found in an instance of the document type:

1.3.  Layout order and information

Items in this formatting specification are ordered roughly from the laid out fields on the form in the order left-to-right, top to bottom.

Important: the rendering of a number of fields is very simplified, reflecting a Western European interpretation of a subset of fields (as in names and addresses). User requirements need to be better understood for the level of granularity in these stylesheets.

1.4.  Namespaces

The following namespaces are mapped to the prefixes in the expressions below:

  • cac = "urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-1.0"

    cbc = "urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-1.0"

    in = "urn:oasis:names:specification:ubl:schema:xsd:Invoice-1.0"

2.  Miscellaneous information

The following information is unrelated to the visible fields of the form.

2.1.  Document header information

Table 1. XPath information

XPath addresses
/​in:Invoice/​in:ID
/​in:Invoice/​cbc:IssueDate

This information shows up in the window-title bar of the HTML browser, and in the document title supported by some XSL-FO processors.

3. Header information

Header information is associated with the form as a whole, not to the individual items of goods.

3.1. Invoice number

Table 2. XPath information

XPath address
/​in:Invoice/​in:ID

3.2. Invoice Issue Date

Table 3. XPath information

XPath address
/​in:Invoice/​cbc:IssueDate

3.3.  Taxpoint Date

Table 4. XPath information

XPath address
/​in:Invoice/​in:TaxPointDate

3.4. Purchase Order No.

Table 5. XPath information

XPath address
/​in:Invoice/​cac:OrderReference/​cac:BuyersID

3.5. Issue Date

Table 6. XPath information

XPath address
/​in:Invoice/​cac:OrderReference/​cbc:IssueDate

3.6. Delivery Document

Table 7. XPath information

XPath address
/​in:Invoice/​in:DespatchDocumentReference/​cac:ID

3.7. Buyer

Table 8. XPath information

XPath addresses
/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:PartyName/​cbc:Name
/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:Address/​cbc:StreetName
/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:Address/​cbc:CityName
/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:Address/​cbc:CountrySubentity
/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:Address/​cbc:PostalZone

3.8. Seller

Table 9. XPath information

XPath addresses
/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:PartyName/​cbc:Name
/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:Address/​cbc:BuildingName
/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:Address/​cbc:CityName
/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:Address/​cbc:CountrySubentity
/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:Address/​cbc:PostalZone

3.9. Accounts Contact

Table 10. XPath information

XPath address
/​in:Invoice/​cac:SellerParty/​cac:AccountsContact/​cbc:Name

3.10. Delivery Date

Table 11. XPath information

XPath address
/​in:Invoice/​cac:Delivery/​cbc:ActualDeliveryDateTime

4. Line item information

Line item information is associated with the individual items of the goods in the order.

4.1. Line

Table 12. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine/​cac:ID

4.2.  Item

Table 13. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:SellersItemIdentification/​cac:ID

4.3. [Source of column headings]

Table 14. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:SellersItemIdentification/​cac:PhysicalAttribute/​cac:AttributeID

4.4. [Values of columns with headings as above]

Table 15. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:SellersItemIdentification/​cac:PhysicalAttribute/​cac:DescriptionCode

4.5. Quantity U/M

Table 16. XPath information

XPath addresses
/​in:Invoice/​cac:InvoiceLine/​cbc:InvoicedQuantity
/​in:Invoice/​cac:InvoiceLine/​cbc:InvoicedQuantity/​@quantityUnitCode

4.6. Measure

Table 17. XPath information

XPath addresses
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:SellersItemIdentification/​cac:MeasurementDimension/​cbc:Measure
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:SellersItemIdentification/​cac:MeasurementDimension/​cbc:Measure/​@measureUnitCode

4.7. Measured

Table 18. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:SellersItemIdentification/​cac:MeasurementDimension/​cac:AttributeID

4.8. Price each

Table 19. XPath information

XPath addresses
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:BasePrice/​cbc:PriceAmount/​@amountCurrencyID
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:BasePrice/​cbc:PriceAmount

4.9.  Tax Category

Table 20. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:TaxCategory/​cac:ID

4.10. Extended Amount

Table 21. XPath information

XPath addresses
/​in:Invoice/​cac:InvoiceLine/​cbc:LineExtensionAmount/​@amountCurrencyID
/​in:Invoice/​cac:InvoiceLine/​cbc:LineExtensionAmount

5. Summary information

Summary information is associated with the form as a whole, not to the individual items of goods.

5.1.  Tax Regime

This field is not filled in at this time.

5.2.  Tax Type

Table 22. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cac:TaxCategory/​cac:TaxScheme/​cac:TaxTypeCode

5.3.  Delivery Charge

Table 23. XPath information

XPath address
/​in:Invoice/​cac:InvoiceLine[cac:Item/​cac:SellersItemIdentification/​cac:ID='Delivery']/​cac:Item/​cac:BasePrice/​cbc:PriceAmount/​@amountCurrencyID

5.4. Discount

Table 24. XPath information

XPath addresses
/​in:Invoice/​cac:AllowanceCharge/​cbc:MultiplierFactorNumeric
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode/​@name
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode/​@codeListAgencyID
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode/​@codeListSchemeURI
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode/​@codeListAgencyName
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode/​@codeListName
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode/​@codeListURI
/​in:Invoice/​cac:AllowanceCharge/​cac:ReasonCode/​@codeListVersionID
/​in:Invoice/​cac:AllowanceCharge/​cbc:ChargeIndicator

5.5.  VAT Rate

Table 25. XPath information

XPath address
/​in:Invoice/​cac:TaxTotal/​cac:TaxSubTotal/​cac:TaxCategory/​cbc:Percent

5.6.  VAT At Rate

Table 26. XPath information

XPath addresses
/​in:Invoice/​cac:TaxTotal/​cac:TaxSubTotal/​cbc:TaxAmount/​@amountCurrencyID
/​in:Invoice/​cac:TaxTotal/​cac:TaxSubTotal/​cbc:TaxAmount

5.7. VAT Total

Table 27. XPath information

XPath addresses
/​in:Invoice/​cac:TaxTotal/​cbc:TotalTaxAmount/​@amountCurrencyID
/​in:Invoice/​cac:TaxTotal/​cbc:TotalTaxAmount

5.8. Total Lines + Charges

Table 28. XPath information

XPath addresses
/​in:Invoice/​cac:LegalTotal/​cbc:LineExtensionTotalAmount/​@amountCurrencyID
/​in:Invoice/​cac:LegalTotal/​cbc:LineExtensionTotalAmount

5.9. Total Taxable

Table 29. XPath information

XPath addresses
/​in:Invoice/​cac:TaxTotal/​cac:TaxSubTotal/​cbc:TaxableAmount/​@amountCurrencyID
/​in:Invoice/​cac:TaxTotal/​cac:TaxSubTotal/​cbc:TaxableAmount

5.10. Total Before Tax

Table 30. XPath information

XPath addresses
/​in:Invoice/​cac:LegalTotal/​cbc:TaxExclusiveTotalAmount/​@amountCurrencyID
/​in:Invoice/​cac:LegalTotal/​cbc:TaxExclusiveTotalAmount

5.11. Total Due

Table 31. XPath information

XPath addresses
/​in:Invoice/​cac:LegalTotal/​cbc:TaxInclusiveTotalAmount/​@amountCurrencyID
/​in:Invoice/​cac:LegalTotal/​cbc:TaxInclusiveTotalAmount

5.12.  Payment Terms

Table 32. XPath information

XPath addresses
/​in:Invoice/​cac:PaymentTerms/​cbc:Note
/​in:Invoice/​cac:PaymentTerms/​cbc:SettlementDiscountPercent
/​in:Invoice/​cac:PaymentTerms/​cac:SettlementPeriod/​cbc:StartDateTime
/​in:Invoice/​cac:PaymentTerms/​cac:SettlementPeriod/​cbc:DurationMeasure
/​in:Invoice/​cac:PaymentTerms/​cac:SettlementPeriod/​cbc:DurationMeasure/​@measureUnitCode

5.13.  Payment Means

Table 33. XPath information

XPath addresses
/​in:Invoice/​cac:PaymentMeans/​cac:PayeeFinancialAccount/​cac:ID
/​in:Invoice/​cac:PaymentMeans/​cac:PayeeFinancialAccount/​cbc:Name
/​in:Invoice/​cac:PaymentMeans/​cac:PayeeFinancialAccount/​cac:AccountTypeCode
/​in:Invoice/​cac:PaymentMeans/​cac:PayeeFinancialAccount/​cac:FinancialInstitutionBranch/​cac:ID
/​in:Invoice/​cac:PaymentMeans/​cac:PayeeFinancialAccount/​cac:FinancialInstitutionBranch/​cac:FinancialInstitution/​cac:ID