/ubl:Invoice
Invoice
| Context ID | INV0001 |
| Cardinality | 1..1 |
| Usage | - |
Description
A document used to request payment.
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 |
Customization ID
Identifies a user-defined customization of UBL for a specific use. |
cbc:CustomizationID |
| 0..1 | M |
Profile ID
Identifies a user-defined profile of the customization of UBL being used. |
cbc:ProfileID |
| 1..1 | M |
Document Number
An identifier for this document, assigned by the sender. |
cbc:ID |
| 1..1 | M |
Issue Date
The date, assigned by the sender, on which this document was issued. |
cbc:IssueDate |
| 0..1 | M |
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 Currency Code
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 |
Invoice Period Group
A period to which the Invoice applies. |
cac:InvoicePeriod |
| 0..1 | O |
Order Reference Group
A reference to the Order with which this Invoice is associated. |
cac:OrderReference |
| 0..n | O* |
Billing Reference Group
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 | - |
Additional Document Reference
A reference to an additional document associated with this document. |
cac:AdditionalDocumentReference[not(cac:Attachment)] |
| 1..1 | M |
Seller Group
The accounting supplier party. |
cac:AccountingSupplierParty |
| 0..1 | M |
Buyer Group
The accounting customer party. |
cac:AccountingCustomerParty |
| 0..n | O |
Delivery Group
A delivery associated with this document. |
cac:Delivery |
| 0..1 | - |
Delivery Terms Group
A set of delivery terms associated with this document. |
cac:DeliveryTerms |
| 0..n | O |
Payment Means Group
Expected means of payment. |
cac:PaymentMeans |
| 0..n | O* |
Payment Terms Group
A set of payment terms associated with this document. |
cac:PaymentTerms |
| 0..n | O* |
Prepaid Payment Group
A prepaid payment. |
cac:PrepaidPayment |
| 0..n | - |
Allowance Charge Group
A discount or charge that applies to a price component. |
cac:AllowanceCharge |
| 0..n | O* |
Allowance Group
A discount or charge that applies to a price component. |
cac:AllowanceCharge[string(cbc:ChargeIndicator) = 'false'] |
| 0..n | O* |
Charge Group
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 |
Invoice Tax
The total amount of a specific type of tax. |
cac:TaxTotal[cbc:TaxAmount/@currencyID = ../cbc:DocumentCurrencyCode] |
| 0..n | O |
Accounting Tax
The total amount of a specific type of tax. |
cac:TaxTotal[cbc:TaxAmount/@currencyID = ../cbc:TaxCurrencyCode] |
| 1..1 | M |
Legal Monetary Total Group
The total amount payable on the Invoice, including Allowances, Charges, and Taxes. |
cac:LegalMonetaryTotal |
| 1..n | M+ |
Invoice Line Group
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 Invoice Document Reference ID must exist within the Invoice. |
| VRBL-INV-MY-1p0-5 | The Profile ID must exist within the Invoice. |
| VRBL-INV-MY-1p0-6 | The 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 Group must exist within the Invoice. |
| VRBL-INV-MY-1p0-119 | When the Document Currency Code does not equal "MYR", the Tax Currency Code 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 Customization ID must exist within the Invoice. |
| VRBL-INV-CORE-5 | The Profile ID 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-26 | The Buyer Group 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 Currency Code. |
| VRBL-INV-CORE-36 | The Document 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 Tax Amount and the Accounting Tax Amount must all both positive, or all negative. |
| VRBL-INV-SYSTEM-1 | If there is a value for Document 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 Accounting Cost, 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 Party Name Group, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-7 | If there is a value for %{probe}, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-8 | If there is a value for %{probe}, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-9 | If there is a value for Seller City Name, the allowed maximum number of characters is 200. |
| VRBL-INV-SYSTEM-10 | If there is a value for Seller Country Identification 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 Party Legal Entity Registration Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-13 | If there is a value for Seller Contact Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-14 | If there is a value for Seller Contact Telephone, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-15 | If there is a value for Seller Contact Electronic Mail, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-16 | If there is a value for Seller Endpoint ID, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-17 | If there is a value for Buyer Party Name Group, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-18 | If there is a value for %{probe}, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-19 | If there is a value for %{probe}, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-20 | If there is a value for Buyer City Name, the allowed maximum number of characters is 200. |
| VRBL-INV-SYSTEM-21 | If there is a value for Buyer Country Identification 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 Party Legal Entity Registration Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-24 | If there is a value for Buyer Contact Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-25 | If there is a value for Buyer Contact Electronic Mail, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-26 | If there is a value for Buyer Contact Telephone, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-27 | If there is a value for Buyer Endpoint ID, 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 %{probe}, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-30 | If there is a value for %{probe}, 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 %{probe}, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-36 | If there is a value for %{probe}, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-37 | If there is a value for %{probe}, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-38 | If there is a value for %{probe}, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-39 | If there is a value for Tax Subtotal Taxable Amount Currency ID, 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 ID, 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 ID, 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 ID, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-45 | If there is a value for Legal Monetary Total Payable Amount Currency ID, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-46 | If there is a value for Delivery Location City Name, 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 Identification Code, the allowed maximum number of characters is 50. |
| VRBL-INV-SYSTEM-49 | If there is a value for Delivery Party Name Group, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-50 | If there is a value for Payment Means Payment Means Code, the allowed maximum number of characters is 25. |
| VRBL-INV-SYSTEM-51 | If there is a value for Payee Financial Account ID, the allowed maximum number of characters is 100. |
| VRBL-INV-SYSTEM-52 | If there is a value for Payee Financial Account Name, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-53 | If there is a value for Financial Institution Branch ID, the allowed maximum number of characters is 500. |
| VRBL-INV-SYSTEM-54 | If there is a value for Order Reference Number, the allowed maximum number of characters is 300. |
| VRBL-INV-SYSTEM-55 | If there is a value for Sales Order Reference Number, the allowed maximum number of characters is 300. |