Skip to content

EInvoice Platform · in beta, early-access partners welcome

LHDN e-invoicing that runs quietly in the background.

Connect your POS, ERP or accounting system once. Every invoice is validated against LHDN rules, digitally signed and submitted to MyInvois automatically. No manual work, no cryptic rejection codes, no missed posting deadlines.

From RM 99/month · 30-day free trial on paid plans · no setup fee · compare plans

Approved this month1,284
In queue12
Needs attention1
InvoiceAmountStatus
INV-10482RM 1,240.00Approved
INV-10484RM 13,905.00Held
CONS-0930RM 18,377.20Submitted
ALERTVALIDATION

INV-10484 held before submission

Sales above RM 10,000 need the buyer's TIN. Add it and resubmit. LHDN has not seen this invoice.

Illustration with sample data. See the real dashboard in the screenshots and live demo below.
MyInvois API v1.1All 8 invoice typesThree-tier validationStatus sync every 5 minutesDigital signature handledRM 10k buyer-TIN rule enforced

The reality

The parts of e-invoicing that cause trouble, handled

What LHDN e-invoicing looks like for most businesses, and what the platform does about each one.

Cryptic rejection codes

LHDN returns E1–E12 errors without explaining the fix. All 12 codes are mapped to plain-English instructions, with one-click resubmit.

Silent certificate expiry

When a certificate expires, submissions stop. Upload it once; you're warned 60 days and 7 days before it affects you.

The 7th-of-month panic

March invoices must be submitted by 7 April, 23:59 MYT. You're warned days ahead, and nothing is sent after the cut-off.

Missing buyer TIN above RM 10k

LHDN blocks generic TINs on high-value sales. The platform catches it before submission, so the invoice never bounces.

Validation

Three checks before anything reaches LHDN

Every invoice passes three layers of checks before a submission is attempted. You fix issues in your dashboard; LHDN never sees a bad invoice.

  1. 1 · Structural validation

    Invoice number present? Items valid? Quantities positive? Dates parseable?

    400 Hard reject
  2. 2 · LHDN completeness check

    Seller TIN, MSIC and address? Buyer TIN for sales above RM 10,000? Classification codes?

    Staged for fix
  3. 3 · Product master enrichment

    Tax type, tax rate and classification codes filled in from your product catalogue.

    201 Created

Features

Everything you need to stay compliant

Digital signature handled

Upload your X.509 certificate once. Every submission is signed automatically, with expiry warnings at 60 and 7 days.

Posting cycle enforcement

Late submissions are blocked and you're warned days before the deadline, so the cut-off is never missed.

Real-time status sync

Every submitted invoice is polled from MyInvois every 5 minutes. Approved or rejected status updates automatically.

Connect any system

A plugin adapter architecture for any POS, ERP or accounting system, plus a REST API with API keys for machine-to-machine use.

All 8 LHDN invoice types

Invoice, credit note, debit note, refund note and all four self-billed variants (11–14), applied automatically by your adapter.

Multi-company ready

Multiple business TINs under one account (Premium), each with its own credentials, certificate and history, fully isolated.

Webhook callbacks

Your system is notified the moment an invoice is approved or rejected. HMAC-SHA256 signed payloads, 4-attempt retry.

Cancellation window guard

LHDN allows cancellation within 72 hours only. A countdown enforces it, and a credit note is suggested once it closes.

Dashboard action cards

Incomplete invoices, staging rejections and LHDN errors surfaced with plain-English instructions, so your team knows what to do.

Tested against every scenario

722 automated tests with 61.9% code coverage across rejection codes, validation tiers, status sync and cancellation windows.

How it works

From connect to compliant

  1. 01
    Connect
    Install the adapter plugin for your POS or ERP, or generate an API key and push invoices to the REST endpoint.
  2. 02
    Validate
    Every invoice passes all three tiers. Issues land in your dashboard with instructions; clean invoices queue automatically.
  3. 03
    Sign & submit
    Your digital signature is applied and the invoice is sent to MyInvois. Nothing is sent after the LHDN cut-off.
  4. 04
    Sync & notify
    Status is checked every 5 minutes, your dashboard updates, and a webhook fires back to your system.

Screenshots

A Closer Look

Every screen you'll use day-to-day — from invoice submission to rejection handling.

einvoice-platform.onrender.com
Dashboard overview
Invoice list
LHDN rejection detail
Settings and LHDN setup
Audit log
Live Demo — No Signup Required

See the Dashboard Before You Commit

The full platform is live right now, pre-loaded with realistic Malaysian invoices and data. No account needed. No LHDN calls are made. Explore everything — then decide.

Demo vs Production: The live demo runs in sandbox mode with mock LHDN API calls. For production deployments, the platform connects directly to LHDN MyInvois production API (api.myinvois.hasil.gov.my) with real submission capability.

📋
25 Realistic Invoices
All statuses pre-loaded — Approved, Submitted, LHDN Rejected, Cancelled, Draft, Pending. Malaysian companies, real invoice amounts.
🔌
Fully Interactive
Submit invoices, browse rejection details, edit settings, manage products, check the audit log. Every feature is live.
🔐
Business Plan Active
Demo tenant is on the Business plan — API keys, webhooks, 5 users, and the full dashboard are all accessible.
🔄
Resets Every Hour
A fresh slate is restored automatically every 60 minutes. Break anything — it comes back. No cleanup needed.
Demo login
Email demo@einvoice.com
Password Demo@2024
Launch Demo →

No real LHDN submissions are made in demo mode

Pricing

Simple, predictable pricing

All paid plans include a 30-day free trial, with no credit card required to start. Upgrade, downgrade or cancel any time.

FOR INDIVIDUALS & GROWING BUSINESSES

Free

RM 0

10 invoices/month · 1 user

  • 3-tier validation
  • LHDN sandbox access
  • Dashboard
  • 90-day data retention

No API keys · no webhooks

Get started free

Starter

RM 99 /mo

150 invoices + RM 0.80 overage · 2 users

  • 1 API key
  • Background queue
  • Product master enrichment
  • Email support (5 business days)
  • 3-year data retention

No webhooks

Start trial

Business

RM 199 /mo

500 invoices + RM 0.50 overage · 5 users

  • 5 API keys · 3 webhooks
  • Background queue + auto-retry
  • 1 private adapter
  • Submission history export
  • Email support (2 business days)
  • 5-year data retention
Start trial

FOR HIGH-VOLUME & ENTERPRISE

Growth

RM 399 /mo

2,000 invoices + RM 0.40 overage · 15 users

  • 10 API keys · 10 webhooks
  • High-concurrency queue
  • 3 private adapters
  • Advanced analytics
  • Email support (1 business day)
  • 5-year data retention
Start trial

Premium

RM 799 /mo

10,000 invoices/month + RM 0.30 overage ①

  • Unlimited users and API keys
  • Unlimited webhook endpoints ②
  • Dedicated queue worker (4 vCPU / 8 GB) ③
  • Multi-entity (multiple TINs) · white-label option
  • SSO (SAML 2.0)
  • 99.9% uptime target + service credits ④
  • Priority support contact ⑤
  • 7-year data retention
Contact us

Custom

Let's talk

More than 10,000 invoices/month · volume pricing

  • Everything in Premium
  • Volume-based pricing per contract
  • Dedicated infrastructure allocation
  • Enterprise SLA with named support contact
  • Multi-entity across unlimited TINs
  • Custom data retention period
  • Direct LHDN escalation channel
Get in touch

Premium plan: important notes

  1. Invoice limit & overage: RM 799/month includes 10,000 invoice submissions per month. Usage above 10,000 is billed at RM 0.30 per invoice, calculated and charged at the start of the following month. If your volume consistently exceeds 10,000/month, consider the Custom plan.
  2. Webhook delivery: Unlimited endpoints, with up to 10 concurrent delivery jobs per tenant. Endpoints that fail 50 consecutive deliveries are paused automatically and you're notified to investigate.
  3. Dedicated worker spec: A fixed-spec worker node (4 vCPU / 8 GB RAM) is provisioned per account. API requests are rate-limited to 300/minute and 5,000 invoice submissions/hour to protect submission quality.
  4. Service credits: In the event of a downtime breach, service credits of up to one month's subscription fee (RM 799) are applied to your next billing period. Credits are the sole remedy; we do not accept liability for missed LHDN deadlines or consequential losses arising from unavailability.
  5. Priority support: A named support contact is assigned. Until our support team reaches full capacity (6+ Premium subscribers), response times may be longer than the 4-hour target for non-critical issues; we'll always be clear about expected response times at onboarding.
  6. Email alerts: Certificate expiry warnings and system notifications are sent via configured SMTP. During onboarding, we help you connect your email service (SendGrid, AWS SES or your company SMTP). Demo accounts show alerts in-dashboard only.

Overage billing: when you exceed your monthly limit you're charged per extra invoice (RM 0.30–0.80 depending on plan), not blocked. Overages are billed at the start of the following month via Stripe, and you're warned at 80% and 95% of your limit.

Integrations

Works with the systems you already have

The adapter plugin system connects to any source, with no full system rewrite.

POS systems

StoreHub or any custom POS. Push invoices via the REST API or install a pre-built adapter plugin.

ERP / accounting

SQL Accounting, AutoCount, SAP, or any ERP with an export function. CSV batch upload is also supported.

E-commerce

WooCommerce, Shopify or custom checkout flows. A webhook-triggered adapter fires on every completed order.

Custom systems

Anything that can make an HTTP POST can integrate, with API key authentication and no OAuth dance.

Security & infrastructure

Your credentials and data, handled carefully

Credential storage
LHDN client ID, client secret, certificate and private key are encrypted at rest with AES-256-GCM. The master key is stored separately from the database, credentials are decrypted in memory only during submission, and the dashboard never shows the secret.
Audit log
Every submission, approval, rejection and settings change is recorded with time, user and detail.
Separate companies
Each TIN has its own credentials, certificate and history, fully isolated (Premium).
Platform
.NET 8 / ASP.NET Core 8 with EF Core on containerised (Docker) infrastructure. Production accounts get PostgreSQL with proper data retention, production LHDN endpoints (api.myinvois.hasil.gov.my), SMTP alerts and paid infrastructure tiers.
Onboarding
Every production deployment includes a technical onboarding session to verify your LHDN credentials and certificate setup. The live demo runs in sandbox mode on a free tier with SQLite.

Good to know

Common questions

Is this platform officially approved by LHDN?
The platform submits invoices via the official LHDN MyInvois REST API using your business's own registered credentials and digital certificate. Each business must obtain its own LHDN intermediary authorisation; the platform guides you through this during onboarding. All invoice formats follow the LHDN e-Invoice specification v1.1.
Do I need to get my own digital certificate?
Yes. Each business TIN needs its own LHDN-approved X.509 digital certificate from an approved Certificate Authority in Malaysia, typically RM 500–2,000/year depending on the CA. You upload it once in Settings; the platform signs every invoice automatically from then on and alerts you 60 days before expiry.
What happens if LHDN rejects an invoice?
Rejected invoices appear under "LHDN Rejections" with the specific error code (E1–E12) translated into plain English with a suggested fix, for example "E7 — Tax calculation mismatch: Recalculate line-item tax amounts, check rounding." You correct the data and resubmit with one click.
Can I manage multiple companies under one account?
Yes. The Premium plan supports multi-entity: each entity has its own TIN, LHDN credentials, digital certificate and submission history, under one login. The 10,000 invoice limit applies to the account total across all entities; usage above that is billed at RM 0.30 per invoice. For high-volume clients above this, the Custom plan is the right fit.
How does the 10,000 invoice limit on the Premium plan work?
Premium includes 10,000 submissions a month, over 450 every working day. If you exceed it, extra invoices are billed at RM 0.30 each and you're never blocked. Overage is charged at the start of the following month, and you're notified at 80% and 95%. If you consistently exceed 10,000, contact us about the Custom plan.
My POS system is quite old or custom-built. Can it still connect?
Almost certainly. The adapter system was designed for legacy and custom-built systems. If your POS can export a daily invoice file (CSV, JSON, XML) or make an HTTP POST, it can connect. For .NET systems, SteadyDevs can build a tight integration with your existing codebase.
What is the 30-day trial and what happens after?
All paid plans (Starter through Premium) start with a 30-day free trial, no credit card required, with every feature active. After 30 days you're asked to add a payment method; if you don't, the account switches to the Free tier (10 invoices/month). No invoices are deleted.
Is my LHDN client secret and certificate stored securely?
Yes. All LHDN credentials are encrypted at rest with AES-256-GCM before being written to the database, with the master key stored separately. They're decrypted in memory only when a submission is made and are never exposed in API responses; the dashboard masks the secret.

Ready to automate your LHDN submissions?

Try the live demo first, no sign-up needed. When you're ready, we'll walk you through connecting your system and setting up your LHDN credentials.

30-day free trial on all paid plans · no setup fee · cancel any time

Try Demo → Request Access →