e-invoicing

Compliance Network Implementation Guide

Lifecycles and use cases

After Inland Revenue Board of Malaysia (IRBM) clears an invoice, the invoice enters a 72-hour lifecycle window during which the supplier can cancel it and the buyer can reject it. After 72 hours, neither action is available through MyInvois.

Active (0 - 72 hours)
The invoice is cleared and valid. Suppliers can cancel and buyers can reject the invoice through the Indirect Tax API.
Final (after 72 hours)
You can no longer cancel or reject an invoice through MyInvois. To correct a finalized invoice, issue a credit note (to reduce), debit note (to increase), or refund note (to refund).
Important:

Consolidated invoices can't be rejected by the counterparty.

Use cases

Use case 1: Standard domestic B2B invoice
Submit an invoice with both the supplier's Tax Identification Number (TIN) and the buyer's Business Registration Number (BRN). IRBM clears the invoice and returns the UUID. Deliver the cleared invoice with a QR code to the buyer.
Use case 2: B2C consolidated invoice
Combine multiple B2C transactions into a single daily or periodic invoice. Use the general public TIN EI00000000010 as the buyer's TIN. Consolidated invoices can't be rejected by the counterparty.
Use case 3: Credit note
Issue a credit note (type code 02) referencing the original cleared invoice using BillingReference. The credit note goes through the same clearance process as the original invoice.
Use case 4: Self-billed invoice
The buyer creates and submits the invoice on behalf of the supplier. Use type code 11 and reverse the sender and receiver in the Standard Business Document Header (SBDH). Both parties must agree to the self-billing arrangement.
Use case 5: Invoice cancellation (within 72 hours)
Submit a cancellation request within 72 hours of clearance. The request must include a cancellation reason code and description. IRBM confirms or denies the cancellation.
Use case 6: Correction after 72 hours
After the 72-hour cancellation window closes, issue a credit note, debit note, or refund note referencing the original invoice. These corrective documents go through the standard clearance process.

Cancel an invoice

  • IRBM cleared the invoice and you have an IRBM UUID.

  • The 72-hour cancellation window has not expired.

  1. Send a PUT request to the cancellation endpoint with the document UUID and cancellation reason.
    JSON
    PUT /v1/documents/{documentUUID}/state
    Content-Type: application/json
    
    {
      "status": "canceled",
      "reason": "[Cancellation reason code]",
      "reasonDescription": "[Description of why the invoice is cancelled]"
    }
  2. Retrieve the cancellation response from the notification.

    Poll for the notification or wait for a push. The response confirms whether IRBM accepted or denied the cancellation.

  3. Verify the IRBM accepted the cancellation.

    If IRBM denies the cancellation, the original invoice remains valid. Cancellation is denied when the 72-hour window expires or the invoice is already canceled.

IRBM cancels the invoice in their records. Update your accounting system to reflect the cancellation.

Cancellation reason codes:

Description Time limit Requirements
Pricing error Within 72 hours of clearance. Provide the corrected amount in the reason description.
Incorrect buyer information Within 72 hours of clearance. Provide correct buyer details in the reason description.
Duplicate invoice Within 72 hours of clearance. Reference the original correct invoice.
Other Within 72 hours of clearance. Provide a clear description in the reason description field.
Note:

Specific cancellation reason code values are assigned by IRBM. See https://sdk.myinvois.hasil.gov.my/ for the current list.

Supported use cases

Sovos supports the following use cases for Malaysia e-invoicing:

Standard B2B invoice
Domestic invoice between two tax-registered entities.
B2C invoice
Consumer invoice, individual or consolidated.
B2G invoice
Invoice to a government entity.
Credit note
Full or partial credit against a previously cleared invoice.
Debit note
Additional charges after original invoice issuance.
Refund note
Refund of a previously paid amount.
Self-billed invoice
Invoice issued by the buyer on behalf of the supplier.
Self-billed credit note
Credit note for a self-billed invoice.
Self-billed debit note
Debit note for a self-billed invoice.
Self-billed refund note
Refund note for a self-billed invoice.
Foreign currency invoice
Invoice in a currency other than MYR, with exchange rate.
Invoice cancellation
Cancellation within 72 hours of clearance.
Buyer rejection
Buyer rejects a received invoice within 72 hours.
# Use case Description Sovos support
1 Standard B2B invoice Domestic invoice between two tax-registered entities. Supported
2 B2C invoice Consumer invoice, individual or consolidated. Supported
3 B2G invoice Invoice to a government entity. Supported
4 Credit note Full or partial credit against a previously cleared invoice. Supported
5 Debit note Additional charges after original invoice issuance. Supported
6 Refund note Refund of a previously paid amount. Supported
7 Self-billed invoice Invoice issued by the buyer on behalf of the supplier. Supported
8 Self-billed credit note Credit note for a self-billed invoice. Supported
9 Self-billed debit note Debit note for a self-billed invoice. Supported
10 Self-billed refund note Refund note for a self-billed invoice. Supported
11 Foreign currency invoice Invoice in a currency other than MYR, with exchange rate. Supported
12 Invoice cancellation Cancellation within 72 hours of clearance. Supported
13 Buyer rejection Buyer rejects a received invoice within 72 hours. Supported

Sovos adds new use cases as market demand and customer priorities evolve. Contact the Sovos implementation team to identify applicable use cases.