## Office-oriented formatting specification for UBL Invoice example instance

Copyright © 2004 OASIS

$Date: 2004/10/22 15:12:26 $(UTC)

## 1. Invoice formatting specification

This formatting specification describes a rendering of an instance of the UBL Invoice document model according to a conceptual office-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:

- PDF printable format (A4 page size)

  - `OfficeInvoice.Example-a4.pdf`

- PDF printable format (US-letter page size)

  - `OfficeInvoice.Example-us.pdf`

### 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. Sales Order No.

Table 6. XPath information

XPath address
`/​in:Invoice/​cac:OrderReference/​cac:SellersID`

### 3.6. Buyer

Table 7. XPath information

XPath addresses
`/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:PartyName/​cbc:Name`
`/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:Address/​cbc:BuildingNumber`
`/​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/​cac:CountrySubentityCode`
`/​in:Invoice/​cac:BuyerParty/​cac:Party/​cac:Address/​cbc:PostalZone`

Note that only one of `cbc:CountrySubentity` and `cac:CountrySubentityCode` need be used, with preference to `cbc:CountrySubentity` if it exists.

### 3.7. Seller

Table 8. XPath information

XPath addresses
`/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:PartyName/​cbc:Name`
`/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:Address/​cbc:BuildingNumber`
`/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:Address/​cbc:StreetName`
`/​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/​cac:CountrySubentityCode`
`/​in:Invoice/​cac:SellerParty/​cac:Party/​cac:Address/​cbc:PostalZone`

Note that only one of `cbc:CountrySubentity` and `cac:CountrySubentityCode` need be used, with preference to `cbc:CountrySubentity` if it exists.

### 3.8. Billing Contact

Table 9. XPath information

XPath addresses
`/​in:Invoice/​cac:SellerParty/​cac:AccountsContact/​cbc:Name`
`/​in:Invoice/​cac:SellerParty/​cac:AccountsContact/​cbc:Telephone`

### 3.9. Delivery address

Table 10. XPath information

XPath addresses
`/​in:Invoice/​cac:Delivery/​cac:DeliveryAddress/​cbc:BuildingNumber`
`/​in:Invoice/​cac:Delivery/​cac:DeliveryAddress/​cbc:StreetName`
`/​in:Invoice/​cac:Delivery/​cac:DeliveryAddress/​cbc:BuildingName`
`/​in:Invoice/​cac:Delivery/​cac:DeliveryAddress/​cbc:CityName`
`/​in:Invoice/​cac:Delivery/​cac:DeliveryAddress/​cbc:CountrySubentity`
`/​in:Invoice/​cac:Delivery/​cac:DeliveryAddress/​cac:CountrySubentityCode`

Note that only one of `cbc:CountrySubentity` and `cac:CountrySubentityCode` need be used, with preference to `cbc:CountrySubentity` if it exists.

### 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 no.

Table 12. XPath information

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

### 4.2. Part number

Table 13. XPath information

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

### 4.3. Description

Table 14. XPath information

XPath address
`/​in:Invoice/​cac:InvoiceLine/​cac:Item/​cbc:Description`

### 4.4. Quantity U/M

Table 15. XPath information

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

### 4.5. Unit price

Table 16. 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.6. Extended Amount

Table 17. 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 18. XPath information

XPath address
`/​in:Invoice/​cac:TaxTotal/​cac:TaxSubTotal/​cac:TaxCategory/​cac:TaxScheme/​cac:TaxTypeCode`

### 5.3. Tax Rate

Table 19. XPath information

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

### 5.4. Tax Amount At Rate

Table 20. XPath information

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

### 5.5. Total Tax Amount

Table 21. XPath information

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

### 5.6. Total Taxable

Table 22. XPath information

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

### 5.7. Total Before Tax

Table 23. XPath information

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

### 5.8. Total Payable

Table 24. XPath information

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

### 5.9. Payment Terms

Table 25. XPath information

XPath address
`/​in:Invoice/​cac:PaymentTerms/​cbc:Note`