Send Document
Use this request to send a Document for processing.
The Document can be included in 2 ways:
- It can be specified (in XML) directly within the body of the request. We recommend this approach.
OR
- It can be attached as a file that is specified in the request's body.
Note
We recommend that you include the Document as an upload using the request's payload and the
Content-Type=application/xml
header, as described in the Request Payload section of this topic.
To send a file, use a POST method and the following URL:
https://e-invoicing-service.vertexcloud.com/customers/v1/documents
Restrictions
- The file that you upload must meet the requirements outlined in the Document Files topic.
- You must upload a single Document file with a single request. To upload multiple invoices, you must use individual Send Document requests.
- The file size cannot exceed 200MB in total.
Details
Detail | Description |
---|---|
Endpoint | /customers/v1/documents |
Method | POST |
API Reference Example | Send Document |
Request Payload
If you want to include the Document in the body of the request, you can do so. The header 'content-type: application/xml'
needs to be added. For example:
curl --request POST \
--url https://e-invoicing-service.vertexcloud.com/customers/v1/documents \
--header 'accept: application/json' \
--header 'content-type: application/xml' \
--header 'x-correlation-id: ABC123' \
--form payload='XML'
<?xml version="1.0" encoding="UTF-8"?>
<ubl:Invoice xmlns:ubl="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:cec="urn:oasis:names:specification:ubl:schema:xsd:CommonExtensionComponents-2" xmlns:vrbl="urn:vertexinc:vrbl:ExtensionComponent:1">
<!-- Original specification MY: MyInvois: https://sdk.myinvois.hasil.gov.my/documents/invoice-v1-0/ -->
<!-- Required UBL extensions -->
<cec:UBLExtensions>
<cec:UBLExtension>
<cec:ExtensionContent>
<vrbl:InvoiceExtension>
<vrbl:RoutingDetails>
<!-- Unique sender ID. In case of Malaysia always the sender's VAT ID -->
<vrbl:Sender>C2584563222</vrbl:Sender>
<!-- Unique receiver ID. In case of Malaysia always a static value identifies the country (Malaysia) and the target version to be created -->
<vrbl:Receiver>GENERIC_MY_MYINVOIS_1p0p0</vrbl:Receiver>
</vrbl:RoutingDetails>
</vrbl:InvoiceExtension>
</cec:ExtensionContent>
</cec:UBLExtension>
</cec:UBLExtensions>
<cbc:CustomizationID>urn:vertexinc:vrbl:billing:1</cbc:CustomizationID>
<cbc:ProfileID>urn:vertexinc:vrbl:billing:1</cbc:ProfileID>
<cbc:ID>INV12345</cbc:ID>
<cbc:IssueDate>2024-11-26</cbc:IssueDate>
<cbc:IssueTime>15:30:00Z</cbc:IssueTime>
<!-- MY: Invoice type code list: https://sdk.myinvois.hasil.gov.my/codes/e-invoice-types/ (mandatory) -->
<!-- MY codes are not UNTDID 1001 compliant -->
<!-- Original code: 01 - Invoice -->
<!-- Expected code: VRBL:MY:01 - Invoice -->
<cbc:InvoiceTypeCode>VRBL:MY:01</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>MYR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>buyer_ref_number234</cbc:BuyerReference>
<cac:InvoicePeriod>
<cbc:StartDate>2024-11-26</cbc:StartDate>
<cbc:EndDate>2024-11-30</cbc:EndDate>
<cbc:Description>Monthly</cbc:Description>
</cac:InvoicePeriod>
<cac:OrderReference>
<cbc:ID>PO987654</cbc:ID>
</cac:OrderReference>
<!-- MY: Supplier's internal billing reference number to facilitate payment from buyer (optional) -->
<cac:BillingReference>
<cac:AdditionalDocumentReference>
<cbc:ID>E12345678912</cbc:ID>
</cac:AdditionalDocumentReference>
</cac:BillingReference>
<!-- MY: Reference number on customs form Nr. 1, Nr. 9, etc. (mandatory where applicable) -->
<cac:AdditionalDocumentReference>
<cbc:ID>E12345678912</cbc:ID>
<cbc:DocumentType>VRBL:MY:CustomsImportForm</cbc:DocumentType>
</cac:AdditionalDocumentReference>
<!-- MY: Free trade agreement (FTA) Information (for export only, if applicable) -->
<cac:AdditionalDocumentReference>
<cbc:ID>VRBL:MY:FTA</cbc:ID>
<cbc:DocumentType>VRBL:MY:FreeTradeAgreement</cbc:DocumentType>
<cbc:DocumentDescription>Sample Description</cbc:DocumentDescription>
</cac:AdditionalDocumentReference>
<!-- MY: Reference number on customs form Nr. 2 (optional) -->
<cac:AdditionalDocumentReference>
<cbc:ID>E12345678912</cbc:ID>
<cbc:DocumentType>VRBL:MY:K2</cbc:DocumentType>
</cac:AdditionalDocumentReference>
<!-- Supplier -->
<cac:AccountingSupplierParty>
<!-- MY: Authorisation number for certified exporter (e.g. ATIGA number) (for export only, if applicable) -->
<cbc:AdditionalAccountID schemeAgencyName="VRBL:MY:CertEX">CPT-CCN-W-211111-KL-000002</cbc:AdditionalAccountID>
<cac:Party>
<!-- MY: Malaysia Standard Industrial Classification (MSIC): https://sdk.myinvois.hasil.gov.my/codes/msic-codes/ -->
<cbc:IndustryClassificationCode name="Growing of maize">VRBL:MY:01111</cbc:IndustryClassificationCode>
<cac:PartyIdentification>
<!-- MY: Sales tax and service tax registration number (mandatory if SST registered) -->
<!-- MY code of @schemeID not ISO/IEC 6523 compliant -->
<!-- use "MY" prefixed malaysian identification scheme identifier -->
<cbc:ID schemeID="VRBL:MY:SST">A01-2345-67891012</cbc:ID>
</cac:PartyIdentification>
<!-- or -->
<!-- <cac:PartyIdentification> -->
<!-- MY: Tourism tax registration number (mandatory if TTX registered) -->
<!-- MY code of @schemeID not ISO/IEC 6523 compliant -->
<!-- use "MY" prefixed malaysian identification scheme identifier -->
<!-- <cbc:ID schemeID="MY:TTX">A01-2345-67891012</cbc:ID> -->
<!-- </cac:PartyIdentification> -->
<cac:PartyName>
<cbc:Name>AMS Setia Jaya Sdn. Bhd.</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Lot 66</cbc:StreetName>
<cbc:AdditionalStreetName>Bangunan Merdeka</cbc:AdditionalStreetName>
<cbc:CityName>Kuala Lumpur</cbc:CityName>
<cbc:PostalZone>50480</cbc:PostalZone>
<!-- MY: State code list: https://sdk.myinvois.hasil.gov.my/codes/state-codes/ -->
<cbc:CountrySubentityCode>VRBL:MY:14</cbc:CountrySubentityCode>
<cac:AddressLine>
<cbc:Line>Persiaran Jaya</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>MY</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<!-- MY: Tax identification number (TIN) -->
<cbc:CompanyID>C2584563222</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>AMS Setia Jaya Sdn. Bhd.</cbc:RegistrationName>
<!-- MY: Business registration number (BRN) -->
<cbc:CompanyID>202001234567</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Name>customer service</cbc:Name>
<cbc:Telephone>+60-123456789</cbc:Telephone>
<cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PartyIdentification>
<!-- MY: Sales tax and service tax registration number (mandatory if SST registered) -->
<!-- MY code of @schemeID not ISO/IEC 6523 compliant -->
<!-- use "MY" prefixed malaysian identification scheme identifier -->
<cbc:ID schemeID="VRBL:MY:SST">A01-2345-67891012</cbc:ID>
</cac:PartyIdentification>
<!-- or -->
<!-- <cac:PartyIdentification> -->
<!-- MY: Tourism tax registration number (mandatory if TTX registered) -->
<!-- MY code of @schemeID not ISO/IEC 6523 compliant -->
<!-- use "MY" prefixed malaysian identification scheme identifier -->
<!-- <cbc:ID schemeID="MY:TTX">A01-2345-67891012</cbc:ID> -->
<!-- </cac:PartyIdentification> -->
<cac:PartyName>
<cbc:Name>Hebat Group</cbc:Name>
</cac:PartyName>
<cac:PostalAddress>
<cbc:StreetName>Lot 66</cbc:StreetName>
<cbc:AdditionalStreetName>Bangunan Merdeka</cbc:AdditionalStreetName>
<cbc:CityName>Kuala Lumpur</cbc:CityName>
<cbc:PostalZone>50480</cbc:PostalZone>
<!-- MY: State code list: https://sdk.myinvois.hasil.gov.my/codes/state-codes/ -->
<cbc:CountrySubentityCode>VRBL:MY:14</cbc:CountrySubentityCode>
<cac:AddressLine>
<cbc:Line>Persiaran Jaya</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>MY</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<cac:PartyTaxScheme>
<!-- MY: Tax identification number (TIN) -->
<cbc:CompanyID>C2584563222</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Hebat Group</cbc:RegistrationName>
<!-- MY: Business registration number (BRN) -->
<cbc:CompanyID>201901234567</cbc:CompanyID>
</cac:PartyLegalEntity>
<cac:Contact>
<cbc:Telephone>+60-123456789</cbc:Telephone>
<cbc:ElectronicMail>[email protected]</cbc:ElectronicMail>
</cac:Contact>
</cac:Party>
</cac:AccountingCustomerParty>
<!-- Shipping Recipient (optional) -->
<cac:Delivery>
<cac:DeliveryLocation>
<cac:Address>
<cbc:StreetName>Lot 66</cbc:StreetName>
<cbc:AdditionalStreetName>Bangunan Merdeka</cbc:AdditionalStreetName>
<cbc:CityName>Kuala Lumpur</cbc:CityName>
<cbc:PostalZone>50480</cbc:PostalZone>
<!-- MY: State code list: https://sdk.myinvois.hasil.gov.my/codes/state-codes/ -->
<cbc:CountrySubentityCode>VRBL:MY:14</cbc:CountrySubentityCode>
<cac:AddressLine>
<cbc:Line>Persiaran Jaya</cbc:Line>
</cac:AddressLine>
<cac:Country>
<cbc:IdentificationCode>MY</cbc:IdentificationCode>
</cac:Country>
</cac:Address>
</cac:DeliveryLocation>
<cac:DeliveryParty>
<cac:PartyName>
<cbc:Name>Greenz Sdn. Bhd.</cbc:Name>
</cac:PartyName>
<cac:PartyTaxScheme>
<!-- MY: Tax identification number (TIN) -->
<cbc:CompanyID>C2584563200</cbc:CompanyID>
<cac:TaxScheme>
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:PartyTaxScheme>
<cac:PartyLegalEntity>
<cbc:RegistrationName>Greenz Sdn. Bhd.</cbc:RegistrationName>
<!-- MY: Business registration number (BRN) -->
<cbc:CompanyID>201901234567</cbc:CompanyID>
</cac:PartyLegalEntity>
</cac:DeliveryParty>
</cac:Delivery>
<cac:DeliveryTerms>
<!-- MY: Incoterms (mandatory where applicable) -->
<cbc:ID>CIF</cbc:ID>
</cac:DeliveryTerms>
<cac:PaymentMeans>
<!-- MY: Payment modes code list: https://sdk.myinvois.hasil.gov.my/codes/payment-methods/ -->
<!-- MY payment mode codes are not UNCL4461 compliant. -->
<!-- original code: 01 - Cash -->
<!-- expected code: VRBL:MY:01 - Cash -->
<cbc:PaymentMeansCode>VRBL:MY:01</cbc:PaymentMeansCode>
<cac:PayeeFinancialAccount>
<cbc:ID>1234567890123</cbc:ID>
</cac:PayeeFinancialAccount>
</cac:PaymentMeans>
<cac:PaymentTerms>
<cbc:Note>Payment method is cash</cbc:Note>
</cac:PaymentTerms>
<cac:PrepaidPayment>
<cbc:ID>E12345678912</cbc:ID>
<cbc:PaidAmount currencyID="MYR">100.00</cbc:PaidAmount>
<cbc:ReceivedDate>2024-10-26</cbc:ReceivedDate>
</cac:PrepaidPayment>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Sample Description</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="MYR">100</cbc:Amount>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Service charge</cbc:AllowanceChargeReason>
<cbc:Amount currencyID="MYR">100</cbc:Amount>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="MYR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<cbc:TaxableAmount currencyID="MYR">8925.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="MYR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<!-- MY Tax types code list: https://sdk.myinvois.hasil.gov.my/codes/tax-types/ (not UNCL5305 compliant) -->
<!-- MY original code: E - Tax exemption -->
<!-- expected code: VRBL:MY:E - Tax exemption -->
<cbc:ID>VRBL:MY:E</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cbc:TaxExemptionReason>tax exemption reason free text description</cbc:TaxExemptionReason>
<cac:TaxScheme>
<!-- Default value: VAT -->
<!-- MY tax type provided in "cac:TaxCategory\cbc:ID" -->
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="MYR">8925.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="MYR">8925.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="MYR">8925.00</cbc:TaxInclusiveAmount>
<cbc:AllowanceTotalAmount currencyID="MYR">100.00</cbc:AllowanceTotalAmount>
<cbc:ChargeTotalAmount currencyID="MYR">100.00</cbc:ChargeTotalAmount>
<cbc:PrepaidAmount currencyID="MYR">100</cbc:PrepaidAmount>
<cbc:PayableRoundingAmount currencyID="MYR">0.10</cbc:PayableRoundingAmount>
<cbc:PayableAmount currencyID="MYR">8825.10</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
<cac:InvoiceLine>
<cbc:ID>0001</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">2</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="MYR">2925.00</cbc:LineExtensionAmount>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>false</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Sample Description</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>0.15</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="MYR">225</cbc:Amount>
</cac:AllowanceCharge>
<cac:AllowanceCharge>
<cbc:ChargeIndicator>true</cbc:ChargeIndicator>
<cbc:AllowanceChargeReason>Sample Description</cbc:AllowanceChargeReason>
<cbc:MultiplierFactorNumeric>0.10</cbc:MultiplierFactorNumeric>
<cbc:Amount currencyID="MYR">150</cbc:Amount>
</cac:AllowanceCharge>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="MYR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<!-- MY: Tax amount and taxable amount mandatory on invoice line level -->
<cbc:TaxableAmount currencyID="MYR">2925.00</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="MYR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cac:TaxScheme>
<!-- Default value: VAT -->
<!-- MY tax type provided in "cac:ClassifiedTaxCategory\cbc:ID" -->
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:Item>
<cbc:Name>Laptop Peripherals 1</cbc:Name>
<cac:OriginCountry>
<cbc:IdentificationCode>MY</cbc:IdentificationCode>
</cac:OriginCountry>
<cac:CommodityClassification>
<!-- MY: Product tariff code (only goods) (optional) -->
<!-- identifier used for @listID not UNCL7143 compliant -->
<!-- use "MY" prefixed malaysian identification scheme identifiers -->
<cbc:ItemClassificationCode listID="VRBL:MY:PTC">9800.00.0010</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:CommodityClassification>
<!-- MY: Category of products or services code list (https://sdk.myinvois.hasil.gov.my/codes/classification-codes/) (mandatroy) -->
<!-- @listID - see above -->
<cbc:ItemClassificationCode listID="VRBL:MY:CLASS">003</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:ClassifiedTaxCategory>
<!-- MY Tax types code list: https://sdk.myinvois.hasil.gov.my/codes/tax-types/ (not UNCL5305 compliant) -->
<!-- MY original code: E - Tax exemption -->
<!-- expected code: MY:E - Tax exemption -->
<cbc:ID>VRBL:MY:E</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cbc:TaxExemptionReason>tax exemption reason free text description</cbc:TaxExemptionReason>
<cac:TaxScheme>
<!--Default value: VAT -->
<!-- MY tax type provided in "cac:ClassifiedTaxCategory\cbc:ID" -->
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="MYR">1500</cbc:PriceAmount>
</cac:Price>
<cac:ItemPriceExtension>
<cbc:Amount currencyID="MYR">3000</cbc:Amount>
</cac:ItemPriceExtension>
</cac:InvoiceLine>
<cac:InvoiceLine>
<cbc:ID>0002</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">5</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="MYR">6000</cbc:LineExtensionAmount>
<cac:TaxTotal>
<cbc:TaxAmount currencyID="MYR">0.00</cbc:TaxAmount>
<cac:TaxSubtotal>
<!-- MY: Tax amount and taxable amount mandatory on invoice line level -->
<cbc:TaxableAmount currencyID="MYR">6000</cbc:TaxableAmount>
<cbc:TaxAmount currencyID="MYR">0.00</cbc:TaxAmount>
<cac:TaxCategory>
<cac:TaxScheme>
<!-- Default value: VAT -->
<!-- MY tax type provided in "cac:ClassifiedTaxCategory\cbc:ID" -->
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:TaxCategory>
</cac:TaxSubtotal>
</cac:TaxTotal>
<cac:Item>
<cbc:Name>Laptop Peripherals 2</cbc:Name>
<cac:OriginCountry>
<cbc:IdentificationCode>MY</cbc:IdentificationCode>
</cac:OriginCountry>
<cac:CommodityClassification>
<!-- MY: Product Tariff Code (only goods) (optional) -->
<!-- MY codes of @listID not UNCL7143 compliant -->
<!-- use "MY" prefixed malaysian identification scheme identifiers -->
<cbc:ItemClassificationCode listID="VRBL:MY:PTC">9800.00.0010</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:CommodityClassification>
<!-- MY: Category of products or services code list (https://sdk.myinvois.hasil.gov.my/codes/classification-codes/) (mandatroy) -->
<!-- @listID - see above -->
<cbc:ItemClassificationCode listID="VRBL:MY:CLASS">003</cbc:ItemClassificationCode>
</cac:CommodityClassification>
<cac:ClassifiedTaxCategory>
<!-- MY Tax types code list: https://sdk.myinvois.hasil.gov.my/codes/tax-types/ (not UNCL5305 compliant) -->
<!-- MY original code: E - Tax exemption -->
<!-- expected code: MY:E - Tax exemption -->
<cbc:ID>VRBL:MY:E</cbc:ID>
<cbc:Percent>0.00</cbc:Percent>
<cbc:TaxExemptionReason>tax exemption reason free text description</cbc:TaxExemptionReason>
<cac:TaxScheme>
<!-- Default value: VAT -->
<!-- MY tax type provided in "cac:ClassifiedTaxCategory\cbc:ID" -->
<cbc:ID>VAT</cbc:ID>
</cac:TaxScheme>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="MYR">1200</cbc:PriceAmount>
</cac:Price>
<cac:ItemPriceExtension>
<cbc:Amount currencyID="MYR">6000</cbc:Amount>
</cac:ItemPriceExtension>
</cac:InvoiceLine>
</ubl:Invoice>
Attached Document
To attach an XML file version of the Document, use the payload
header. The -header 'content-type: application/xml
needs to be added. For example:
curl --request POST \
--url https://e-invoicing-service.vertexcloud.com/customers/v1/documents \
--header 'accept: application/json' \
--header 'content-type: application/xml' \
--header 'x-correlation-id: ABC123' \
--form payload='@Sample_invoice_file_for_Italy_multiple_line_items.xml'
Notes
- The file that you upload must meet the requirements outlined in the Document Files topic.
- These should not be confused with Additional Documents or Attachments.
Details
Detail | Description |
---|---|
Endpoint | /customers/v1/documents |
Method | POST |
API Reference Example | Send Document |
Input Fields
The following fields can be specified by the user in inbound requests:
Header Parameters
The following parameter can be added as a header:
Field | Description |
---|---|
x-correlation-id | The sender's unique reference for the request. This value is returned in the headers of responses and is useful for debugging, logging, and so on. See Correlation IDs |
Idempotency-Key | This key prevents a Document from being processed more than once. See Key Parameters. |
Body Parameters
The following parameter can be used to attach a file to the request:
Field | Description |
---|---|
form payload | Reference to the file that you want to upload. It can be an invoice or credit note. |
Updated 13 days ago