/ubl:Invoice
Invoice
Download sample files| Context ID | INV0001 |
| Cardinality | 1..1 |
| Usage | - |
Description
VRBL is a general datamodel for an invoice based on UBL2.4 and Peppol PINT, that can be used as base for specializations that are used in various jurisdictions.
The Malaysia MyInvois System uses an invoice format based on the Universal Business Language (UBL 2.1). There are several deviations from the standard UBL.
Child elements
| Cardinality | Usage | Description | Element |
|---|---|---|---|
| 0..1 | M | Extensions Group | cec:UBLExtensions |
| 0..1 | M |
Specification Identifier
Identifies a user-defined customization of UBL for a specific use. |
cbc:CustomizationID |
| 0..1 | M |
Business Process Type
Identifies a user-defined profile of the customization of UBL being used. |
cbc:ProfileID |
| 1..1 | M |
Invoice Number
An identifier for this document, assigned by the sender. |
cbc:ID |
| 1..1 | M |
Invoice Issue Date
The date, assigned by the sender, on which this document was issued. |
cbc:IssueDate |
| 0..1 | M |
Invoice Issue Time
The time, assigned by the sender, at which this document was issued. |
cbc:IssueTime |
| 0..1 | M |
Invoice Type Code
A code signifying the type of the Invoice. |
cbc:InvoiceTypeCode |
| 0..1 | M |
Document Currency Code
A code signifying the default currency for this document. |
cbc:DocumentCurrencyCode |
| 0..1 | O |
Tax Accounting Currency
A code signifying the currency used for tax amounts in the Invoice. |
cbc:TaxCurrencyCode |
| 0..1 | O |
Buyer Reference
A reference provided by the buyer used for internal routing of the document. |
cbc:BuyerReference |
| 0..n | O |
Invoicing Period
A period to which the Invoice applies. |
cac:InvoicePeriod |
| 0..1 | O |
Order Reference
A reference to the Order with which this Invoice is associated. |
cac:OrderReference |
| 0..n | O* |
Preceding Invoice Reference
A reference to a billing document associated with this document. |
cac:BillingReference |
| 0..n | O* |
Additional Document Reference Group
A reference to an additional document associated with this document. |
cac:AdditionalDocumentReference |
| 0..n | O |
Additional Document Reference
A reference to an additional document associated with this document. |
cac:AdditionalDocumentReference[not(cac:Attachment)] |
| 1..1 | M |
Seller
The accounting supplier party. |
cac:AccountingSupplierParty |
| 0..1 | M |
Buyer
The accounting customer party. |
cac:AccountingCustomerParty |
| 0..n | O |
Delivery Information
A delivery associated with this document. |
cac:Delivery |
| 0..1 | O |
Delivery Terms Group
A set of delivery terms associated with this document. |
cac:DeliveryTerms |
| 0..n | O |
Payment Instructions
Expected means of payment. |
cac:PaymentMeans |
| 0..n | O* |
Payment Terms
A set of payment terms associated with this document. |
cac:PaymentTerms |
| 0..n | O* |
Paid Amounts
A prepaid payment. |
cac:PrepaidPayment |
| 0..n | O |
Allowance Charge Group
A discount or charge that applies to a price component. |
cac:AllowanceCharge |
| 0..n | O* |
Document Level Allowances
A discount or charge that applies to a price component. |
cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false'] |
| 0..n | O* |
Document Level Charges
A discount or charge that applies to a price component. |
cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'true'] |
| 0..1 | O |
Tax Exchange Rate
The exchange rate between the document currency and the tax currency. |
cac:TaxExchangeRate |
| 0..n | M |
Tax Total
The total amount of a specific type of tax. |
cac:TaxTotal[cbc:TaxAmount/@currencyID = ../cbc:DocumentCurrencyCode] |
| 0..n | O |
Tax Total in Tax Accounting Currency
The total amount of a specific type of tax. |
cac:TaxTotal[cbc:TaxAmount/@currencyID = ../cbc:TaxCurrencyCode] |
| 1..1 | M |
Document Totals
The total amount payable on the Invoice, including Allowances, Charges, and Taxes. |
cac:LegalMonetaryTotal |
| 1..n | M+ |
Invoice Line
A line describing an invoice item. |
cac:InvoiceLine |
Details
vrbl-invoice-my-1p0
The government of Malaysia, by means of the intermediary of its tax authority, the IRBM (Inland Revenue Board of Malaysia) is currently implementing an e-invoicing mandate that applies to all types of transactions (B2G, B2B and B2C).
The mandate will gradually enter into effect depending on companies revenue:
- August 1, 2024 (current phase): mandatory for companies exceeding RM 100 million annual turnover (~20M€)
- January 1, 2025: mandatory for companies exceeding RM 25 million annual turnover (~5M€)
- July 1, 2025: mandatory for all companies
Under this mandate, suppliers must submit all invoices to the MyInvois central platform, either manually via a web interface or automatically through an API in UBL 2.1 format (XML or JSON).
Official Specifications
Rules
| Rule ID | Error Message |
|---|---|
| VRBL-INV-MY-1p0-3 | When Invoice Type Code is a credit note, the Preceding Invoice Reference ID must exist within the Invoice. |
| VRBL-INV-MY-1p0-5 | The Business Process Type must exist within the Invoice. |
| VRBL-INV-MY-1p0-6 | The Invoice Issue Time must exist within the Invoice. |
| VRBL-INV-MY-1p0-7 | The Invoice expects a maximum of one Additional Document Reference Group used for Customs Import Form. |
| VRBL-INV-MY-1p0-8 | The Invoice expects a maximum of one Additional Document Reference Group used for Free Trade Agreement. |
| VRBL-INV-MY-1p0-9 | The Invoice expects a maximum of one Additional Document Reference Group used for Customs Form No.2. |
| VRBL-INV-MY-1p0-11 | The Buyer must exist within the Invoice. |
| VRBL-INV-MY-1p0-119 | When the Document Currency Code does not equal "MYR", the Tax Accounting Currency must exist within the Invoice. |
| VRBL-INV-MY-1p0-120 | When the Document Currency Code does not equal "MYR", the Tax Exchange Rate must exist within the Invoice. |
| VRBL-INV-MY-1p0-121 | If the Document Currency Code does not equal 'MYR', then two Tax Total Group groups must be provided. The first one with full VAT breakdown in foreign currency second one with full VAT breakdown in 'MYR'. |
| VRBL-INV-CORE-4 | The Specification Identifier must exist within the Invoice. |
| VRBL-INV-CORE-5 | The Business Process Type must exist within the Invoice. |
| VRBL-INV-CORE-10 | The Invoice Type Code must exist within the Invoice. |
| VRBL-INV-CORE-13 | The Document Currency Code must exist within the Invoice. |
| VRBL-INV-CORE-563 | The Tax Total Group is only allowed when using the currencies in Document Currency Code or Tax Accounting Currency. |
| VRBL-INV-CORE-36 | The Invoice Number must be provided in the Invoice. |
| VRBL-INV-CORE-39 | The Document Currency Code must be provided in the Invoice. |
| VRBL-INV-CORE-41 | The Invoice Total Tax Amount and the Invoice Total Tax Amount in Tax Accounting Currency must all both positive, or all negative. |
| VRBL-INV-SYSTEM-1 | If there is a value for Invoice Number, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-2 | If there is a value for Invoice Type Code, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-3 | If there is a value for Document Currency Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-4 | If there is a value for Buyer Accounting Reference, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-5 | If there is a value for Buyer Reference, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-6 | If there is a value for Seller Trading Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-7 | If there is a value for Seller Tax ID used as DUNS, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-8 | If there is a value for Seller Tax ID used as VAT ID, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-9 | If there is a value for Seller City, the allowed maximum number of characters is 200. |
| VRBL-INV-SYSTEM-10 | If there is a value for Seller Country Code, the allowed maximum number of characters is 50. |
| VRBL-INV-SYSTEM-11 | If there is a value for Seller Postal Zone, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-12 | If there is a value for Seller Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-13 | If there is a value for Seller Contact Point, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-14 | If there is a value for Seller Contact Telephone Number, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-15 | If there is a value for Seller Contact Email Address, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-16 | If there is a value for Seller Electronic Address, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-17 | If there is a value for Buyer Trading Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-18 | If there is a value for Buyer Tax ID used as DUNS, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-19 | If there is a value for Buyer Tax ID used as VAT ID, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-20 | If there is a value for Buyer City, the allowed maximum number of characters is 200. |
| VRBL-INV-SYSTEM-21 | If there is a value for Buyer Country Code, the allowed maximum number of characters is 50. |
| VRBL-INV-SYSTEM-22 | If there is a value for Buyer Postal Zone, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-23 | If there is a value for Buyer Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-24 | If there is a value for Buyer Contact Point, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-25 | If there is a value for Buyer Contact Email Address, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-26 | If there is a value for Buyer Contact Telephone Number, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-27 | If there is a value for Buyer Electronic Address, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-28 | If there is a value for Buyer Customer Party Name Group, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-29 | If there is a value for Buyer Customer Party Tax Company ID used as DUNS, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-30 | If there is a value for Buyer Customer Party Tax Company ID used as VAT ID, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-31 | If there is a value for Buyer Customer Party City Name, the allowed maximum number of characters is 200. |
| VRBL-INV-SYSTEM-32 | If there is a value for Buyer Customer Party Country Identification Code, the allowed maximum number of characters is 50. |
| VRBL-INV-SYSTEM-33 | If there is a value for Buyer Customer Party Postal Zone, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-34 | If there is a value for Buyer Customer Party Legal Entity Registration Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-35 | If there is a value for Buyer Customer Party Contact Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-36 | If there is a value for Buyer Customer Party Contact Electronic Mail, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-37 | If there is a value for Buyer Customer Party Contact Telephone, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-38 | If there is a value for Buyer Customer Party Endpoint ID, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-39 | If there is a value for Tax Subtotal Taxable Amount Currency Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-40 | If there is a value for Total Tax Amount Currency Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-41 | If there is a value for Tax Subtotal Category ID, the allowed maximum number of characters is 50. |
| VRBL-INV-SYSTEM-42 | If there is a value for Legal Monetary Total Line Extension Amount Currency Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-43 | If there is a value for Legal Monetary Total Tax Exclusive Amount Currency Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-44 | If there is a value for Legal Monetary Total Tax Inclusive Amount Currency Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-45 | If there is a value for Legal Monetary Total Payable Amount Currency Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-46 | If there is a value for Delivery Location City, the allowed maximum number of characters is 200. |
| VRBL-INV-SYSTEM-47 | If there is a value for Delivery Location Postal Zone, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-48 | If there is a value for Delivery Location Country Code, the allowed maximum number of characters is 50. |
| VRBL-INV-SYSTEM-49 | If there is a value for Delivery Party Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-50 | If there is a value for Payment Means Type Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-51 | If there is a value for Payment Account ID, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-52 | If there is a value for Payment Account Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-53 | If there is a value for Payment Service Provider ID, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-54 | If there is a value for Purchase Order Reference ID, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-55 | If there is a value for Sales Order Reference ID, the allowed maximum number of characters is 300. |