← Back to Blog
TipsIntegrationUpdated May 2026

CSV Import vs API Integration for MyInvois: Which Should Your Business Use?

By the EasyInvois Team  ·  May 2026  ·  7 min read

If you are using SQL Account, AutoCount, or even just a well-organised Excel spreadsheet, you are probably wondering the same thing: “What is the easiest way to submit invoices to MyInvois without rebuilding my entire workflow?” The answer depends on how many invoices you issue, how much technical resource you have, and how much manual work you are willing to accept long-term. This article breaks down all four submission methods so you can make a clear, informed decision.

Option 1: The MyInvois Portal (Manual Entry)

LHDN provides the MyInvois portal at no charge. You log in, fill in your buyer details, line items, tax codes, and submit. The portal handles formatting and submission to LHDN’s system automatically. Validation is near real-time — you typically get a result generally less than 2 seconds. If the invoice is accepted, it enters a 72-hour window during which either party can request rejection or cancellation.

What it costs: Nothing. The portal is free.

Where it breaks down: The portal is designed for occasional use. If you issue more than 15 to 20 invoices a month, the repetitive data entry quickly becomes your biggest time drain. There is no connection to your existing accounting software, so you are keying the same customer and product information twice — once in your system and once in the portal.

Best for

Businesses issuing fewer than 20 invoices per month who want zero setup cost and are comfortable with manual data entry.

Option 2: Bulk Spreadsheet Upload via the Portal

The MyInvois portal also accepts bulk submissions via a pre-formatted spreadsheet. You export data from your accounting system, reformat it into LHDN’s template columns, and upload the file. This is a meaningful step up from manual entry — you can process a whole month’s invoices in one session rather than one by one.

What it costs: The portal upload itself is free. Your time is the real cost.

Where it breaks down: Every time LHDN updates their spreadsheet template — column names, required fields, tax code formats — you have to update your own file and mapping logic. If your accounting software exports in a different format, you are maintaining a manual transformation step in the middle. One wrong column header and the entire batch fails. It is semi-automated at best.

Best for

Businesses issuing 20–200 invoices per month who are comfortable with Excel and can afford to spend a few hours each month on the upload process.

Option 3: Direct REST API Integration

For businesses with in-house developers or an IT department, LHDN exposes a direct REST API. Your ERP or billing system can call it programmatically, pushing invoices in real time without any human involvement. LHDN even provides a sandbox API endpoint at preprod-api.myinvois.hasil.gov.my for testing before you go live.

What the API actually requires: This is where most SMEs hit a wall. The MyInvois API is not a simple JSON POST. You need to:

  • Implement OAuth 2.0 authentication and manage token refresh cycles.
  • Construct each invoice as a valid UBL 2.1 document — a verbose XML or JSON schema with strict field ordering, namespace declarations, and dozens of required elements.
  • Digitally sign every document using a valid digital certificate from an MCMC-recognised Certificate Authority (such as POS Digicert).
  • Build retry logic, error handling, and reconciliation for failed or rejected submissions.
  • Keep all of this maintained as LHDN updates the API specification over time.
  • Use document version 1.1 for all submissions — version 1.0 has been deprecated and no longer supports digital signature validation.
  • Stay within batch limits: up to 100 documents per batch submission, a maximum of 5 MB total per batch, and no more than 300 KB per individual document.

A competent developer can build an initial integration in two to four weeks for a straightforward system. The ongoing maintenance — certificate renewals, API version changes, edge-case error handling — is a recurring engineering commitment.

What it costs: LHDN does not charge for API access. Your cost is developer time, which for a full integration typically runs from RM 8,000 to RM 30,000+ depending on complexity, plus ongoing maintenance.

Best for

Enterprises with existing ERP systems (SAP, Oracle, custom-built), in-house IT teams, and high invoice volumes where full automation justifies the build cost.

Option 4: Middleware like EasyInvois

Middleware sits between your business and LHDN. Instead of building UBL 2.1 documents, managing OAuth tokens, or reformatting spreadsheets, you provide your invoice data in a format that makes sense to you — and the middleware handles everything else: LHDN-compliant formatting, digital signing, submission, and status tracking.

EasyInvois offers two ways to get data in:

  • CSV/Excel import: Export from your existing accounting software in any format, map your columns once in the dashboard, and import. EasyInvois handles the transformation to LHDN-compliant output.
  • REST API at /api/v1/invoices: If your system can make HTTP requests, you can push invoice data directly without touching UBL or OAuth. API keys are managed in the EasyInvois dashboard.

To be clear: EasyInvois is not free. It is a subscription product. But the cost covers something specific — it eliminates the technical complexity of MyInvois compliance so that a business owner or finance manager can handle e-invoicing without needing a developer.

Pricing:

  • Free: 20 invoices/month — no credit card required
  • Business (RM 29/month): 200 invoices/month
  • Pro (RM 49/month): 1,000 invoices/month
  • Need more than 1,000 invoices/month? Contact us — we will work out a price that fits your volume.

Best for

SMEs issuing 20–1,000+ invoices per month who want full automation without the developer cost or spreadsheet overhead.

Side-by-Side Comparison

Manual PortalCSV/Excel UploadDirect APIMiddleware (EasyInvois)
Technical skillNoneBasic ExcelHigh (developer)None
AutomationNoneSemiFullFull
CostFreeFree portal / software feeDev cost (weeks)Subscription from RM 0
Best for<20 invoices/month20–200/monthERP enterpriseSME wanting automation
Setup timeMinutesHoursWeeks / monthsMinutes
MaintenanceNoneManual updatesInternal ITVendor managed

Which Option Is Right for Your Business?

Here is the simplest framework for making this decision:

Fewer than 20 invoices per month?

Use the free MyInvois portal. The manual entry is manageable at this volume, there is no cost, and it requires zero setup. Start here and migrate when your volume grows.

20 to 500 invoices per month, using SQL Account / AutoCount / Excel?

CSV import via a middleware like EasyInvois is the practical choice. You continue working in the software you already know, export as usual, and let EasyInvois handle the LHDN compliance layer. The portal’s bulk upload is free but fragile — one template change from LHDN can break your entire process. With middleware, that is the vendor’s problem to fix, not yours.

500+ invoices per month with a developer on staff?

Consider using EasyInvois’s /api/v1/invoices endpoint as a bridge while evaluating whether a full direct API build makes sense. The EasyInvois API is simpler than the raw MyInvois API — no UBL construction, no certificate management — and gives you programmatic control at a fraction of the integration cost.

Enterprise with ERP (SAP, Oracle, custom)?

Direct LHDN API integration is likely the long-term target. Budget for two to four months of development time for a full ERP integration, plus ongoing maintenance. If you need to go live before the build is complete, middleware can serve as an interim solution.


Frequently Asked Questions

Can I switch submission methods later?

Yes. There is no lock-in imposed by LHDN. You can start with the free portal today and migrate to middleware or direct API at any point. Historical invoices submitted through any method are still accessible in your MyInvois account regardless of how they were submitted.

Does LHDN charge for API access?

No. LHDN does not charge businesses to use the MyInvois API or the portal. The costs associated with direct API integration are purely your own developer and infrastructure costs. Middleware solutions like EasyInvois charge a subscription fee for their service, not for API access itself.

What if my ERP or accounting software does not support XML export?

You do not need XML. Most accounting software — SQL Account, AutoCount, QuickBooks, even custom systems — can export to CSV or Excel. Middleware solutions like EasyInvois accept CSV/Excel input and handle the UBL 2.1 XML conversion internally. You never need to touch XML unless you are building a direct LHDN API integration yourself.

How does the 72-hour rejection window work?

After LHDN validates and accepts an e-invoice, both the supplier and buyer have 72 hours to request rejection or cancellation. After that window closes, the invoice is considered finalised and cannot be cancelled — only a credit note can be issued to reverse it. This applies regardless of which submission method you use.

Is the MyInvois sandbox environment available for testing?

Yes. LHDN provides a pre-production sandbox portal at preprod.myinvois.hasil.gov.my and a sandbox API at preprod-api.myinvois.hasil.gov.my. These are primarily used by developers building direct API integrations. If you are using middleware like EasyInvois, your provider handles sandbox testing on your behalf — you only interact with the live environment once your account is set up.

Ready to get compliant?

EasyInvois connects directly to MyInvois. Start in minutes.