MyInvoice Sync

plugin banner

Automated invoice submission to LHDN MyInvois system for Malaysian businesses.

Author:TikusL4ju (profile at wordpress.org)
WordPress version required:5.0
WordPress version tested:6.9.1
Plugin version:2.1.0
Added to WordPress repository:06-03-2026
Last updated:06-03-2026
Rating, %:0
Rated by:0
Plugin URI:https://github.com/tikusl4ju/myinvoice-sync
Total downloads:238
plugin download
Click to start download

MyInvoice Sync automatically generates and submits invoices to the LHDN (Lembaga Hasil Dalam Negeri) MyInvois system in compliance with Malaysian e‑invoicing regulations. It integrates with WooCommerce to submit invoices, validate customer TINs, and manage credit/refund notes.

Key features:

  • Automatic invoice submission based on WooCommerce order status (completed, processing, or delayed “after X days”)
  • UBL 1.0/1.1 invoice generation, with optional digital signatures (PEM) for UBL 1.1
  • TIN capture and validation in user profile and WooCommerce “My Account”
  • Background cron jobs for retries, delayed submissions, and status sync
  • Credit note and refund note creation linked to original invoices

External Services

This plugin connects to third‑party external services operated by LHDN (Lembaga Hasil Dalam Negeri / Malaysian Inland Revenue Board). Users should be aware of this before use.

What the service is and what it is used for

The plugin uses the LHDN MyInvois API (official Malaysian government service) to:

  • Submit invoices generated from WooCommerce orders
  • Validate Tax Identification Numbers (TIN) for customers
  • Retrieve invoice statuses and document details
  • Cancel documents and submit credit/refund notes

Domains (where the service is hosted)

API and portal domains are selected based on environment:

  • Sandbox (Pre‑Production)
    • API: https://preprod-api.myinvois.hasil.gov.my
    • Portal: https://preprod.myinvois.hasil.gov.my
  • Production
    • API: https://api.myinvois.hasil.gov.my
    • Portal: https://myinvois.hasil.gov.my

What data is sent and when

  • Invoice data — When an order reaches the configured status (completed/processing or after the chosen delay), the plugin sends:
    • Invoice number, date, and monetary amounts
    • Buyer information (name, TIN, ID type, ID value, address, contact details)
    • Seller information (TIN, SST/TTX numbers, address, contact details)
    • Line items (products, quantities, prices, descriptions)
    • Tax information and industry classification codes
  • TIN validation — When a user submits or updates their TIN in their profile/My Account, the plugin sends:
    • Tax Identification Number (TIN)
    • ID Type (e.g. NRIC, Passport, BRN)
    • ID Value
  • Status and document requests — Cron jobs and admin actions request invoice status and document details from the API.
  • OAuth authentication — Client ID and secret are sent to the token endpoint to obtain and refresh OAuth access tokens.

Data is sent only when:

  • Orders are submitted to LHDN (automatically or manually)
  • Users explicitly validate their TIN details
  • The plugin syncs invoice statuses or documents (via cron or on‑demand)

All communication with LHDN endpoints uses HTTPS and OAuth 2.0.

Service provider and policies

  • Provider: Lembaga Hasil Dalam Negeri (LHDN / Malaysian Inland Revenue Board)
  • Terms of use: https://myinvois.hasil.gov.my/terms
  • Privacy policy: https://myinvois.hasil.gov.my/privacy

FAQ
ChangeLog