Self-billed e-invoices from Zoho Books expenses

Audience: Shop owner, accountant Time: 2 minutes to set up, then a few seconds per expense

Many businesses record payments as Zoho Books Expenses, not Bills: Meta or Google ads, AWS and other foreign software, a commission paid to an agent, rent to a private landlord. When the supplier cannot issue you an e-invoice, LHDN expects you, the buyer, to issue a self-billed e-invoice on their behalf. The Expenses page in envoice lists your Zoho Books expenses, tells you which ones need a self-billed e-invoice, and files them with LHDN.

If you record these purchases as self-billed Bills instead, use Self-billed invoices from Zoho. Both work; pick the one that matches how you record the purchase.

Screenshots on this page come from a sandbox demo shop with example data.


Before you start

  • Plan: self-billed e-invoices need the Starter plan or higher.
  • MyInvois credentials: set up for the shop (see Enter your LHDN credentials into envoice).
  • A vendor on every expense: in Zoho Books, Record Expense has an optional Vendor field. envoice reads the supplier from that vendor, so fill it for every expense you need to self-bill. Expenses posted from Zoho Expense reports often arrive without a vendor; open them in Zoho Books and add one.
  • LHDN details on the vendor: the same TIN, ID Type and ID Value fields as on a customer (see Set LHDN fields on Zoho contacts and items). For a foreign supplier, the country on the vendor's address is what matters: envoice uses LHDN's general TIN for foreign suppliers (EI00000000030) for you.

1. Open the Expenses page

In envoice, open Zoho for your shop. Under Self-billed e-invoices from expenses, click Open expenses.

2. Reconnect Zoho once

The first time, envoice asks you to reconnect Zoho, because reading expenses and writing the MyInvois status back to them needs a permission the first connection did not ask for. Click Reconnect Zoho, pick the same organization in Zoho and accept. You land straight back on the Expenses page. Your shops, settings, Location mappings and filed documents stay as they are.

  • Only the shop owner or an accountant can reconnect. Staff see a note asking them to ask the owner or accountant.
  • The Zoho user who reconnects must be allowed to view expenses, invoices and bills in Zoho Books. If that user's Zoho role cannot see expenses, the page says so; reconnect as a Zoho user who can.

3. Find the expenses that need self-billing

Pick the Period (This month, Last month or Custom) and, if you like, search by supplier. The list has three tabs:

  • Needs self-billing: expenses paid to foreign suppliers and individuals, and expenses in a foreign currency whose vendor has no country yet. Start here.
  • Filed: expenses that already have a self-billed e-invoice.
  • All: every expense in the period, including ones paid to Malaysian businesses, which normally issue their own e-invoice.

Each row shows the supplier and how envoice sorted it:

Supplier type When Classification Confirmation
Foreign supplier The vendor's country is outside Malaysia 035 Importation of services is pre-selected (change it to 034 for goods) Not needed
Individual The vendor's ID type is NRIC or Army, or a passport with a Malaysian address 036 Others is pre-selected Needed
Malaysian business The vendor's ID type is BRN You choose Needed
Supplier type unknown No ID on the vendor (or a passport with no country), and no foreign country You choose Needed

If a row says Supplier not checked yet, click Check: envoice reads that vendor from Zoho Books and sorts every row for it.

Foreign supplier rows also show Due by: LHDN expects a self-billed e-invoice for imported services by the end of the month after you paid or received the supplier's invoice, whichever is earlier. envoice counts from the expense date, so if the supplier's invoice reached you before you paid, the real deadline can be earlier. A red Overdue means that date has passed.

4. Choose the classification

The classification list starts with LHDN's self-billed codes:

  • 033 Betting and gaming
  • 034 Importation of goods
  • 035 Importation of services
  • 036 Others
  • 037 Monetary payment to agents, dealers or distributors
  • 045 Non-monetary payment to agents, dealers or distributors

Pick More classifications... to search every LHDN code. A row with no pre-selection has to be given one before it can be filed; envoice names every such row and takes you to the first.

Tip: you can preset the code in Zoho Books. Once you open the Expenses page, envoice adds an LHDN Classification field to your expenses (and recurring expense profiles). A code set there is pre-selected here.

5. File

  • One expense: click File on the row.
  • Several: tick the rows (up to 25 at a time) and click File selected. envoice files them one by one and shows "Filing 3 of 8"; each row updates as it goes. If Zoho is busy, envoice waits a moment and carries on by itself. Keep the page open until it finishes.

For individuals, Malaysian businesses and unknown suppliers, envoice first shows LHDN's rule for that supplier and asks you to tick I confirm:

  • Individual: self-bill only if the person is not running a business, for example a one-off job or a private landlord. A freelancer who runs a business issues their own e-invoice or receipt.
  • Malaysian business: a Malaysian business normally issues its own e-invoice. Self-bill only for a payment to an agent, dealer or distributor, such as commission, or another case on LHDN's self-billed list.
  • No country on the vendor: self-bill only if the supplier is outside Malaysia, or is an agent or individual on LHDN's self-billed list.

When in doubt, read Self-billed e-invoices: the rules first. Self-billing a supplier who should issue their own e-invoice is not allowed.

6. After filing

The row shows the MyInvois status: Validated with the UUID and View QR, or Submitted, awaiting LHDN while LHDN is still checking it. Click Refresh status to check again; envoice also checks every few minutes by itself. A Rejected row shows LHDN's reason; fix the expense or the vendor in Zoho Books, then click File again.

envoice writes the result onto the expense in Zoho Books, in four fields: MyInvois UUID, MyInvois QR Link, MyInvois Status and MyInvois Doc Type. If Zoho Books refuses that update (for example, the expense is in a locked period), the row says so; the e-invoice is still filed and its status is kept in envoice.

Every filing also appears in your Zoho history and on the Documents page, numbered with the expense's Reference# (or EXP- and the expense ID when it has none).

Cancel or correct a filed expense

  • Within 72 hours of validation: click Cancel e-invoice on the row and give a reason. LHDN cancels it, the expense in Zoho Books stays as it is and its MyInvois Status becomes Cancelled. Fix the expense in Zoho Books if needed, then File again.
  • After 72 hours: LHDN no longer allows a cancel. Open the e-invoice in envoice and issue a self-billed credit note or debit note against it (see Issue a credit, debit or refund note).

Only the owner and accountants can cancel.

Rows that cannot be filed

A row shows why instead of a File button:

  • No supplier: add the vendor to the expense in Zoho Books.
  • Mileage and personal expenses need no e-invoice.
  • Filed by another e-invoice app: envoice will not file it twice.
  • Country: the vendor's country is missing (for a foreign-currency expense) or envoice cannot read it. Correct it on the vendor in Zoho Books.
  • Location not mapped: the expense's Zoho Location belongs to no shop yet. Map it on the Zoho page.
  • Your role: your role cannot file self-billed e-invoices in that shop.

"Not filed. The MyInvois fields were copied from another expense" means the expense was cloned, or came from a recurring profile, and carries another expense's MyInvois details. It is not filed; envoice clears those fields when you file it.

Branches (Zoho Locations)

If your Zoho organization has Locations mapped to several envoice shops, each expense files under the shop its Location belongs to, the same as invoices and bills. You only see expenses of shops you are a member of.

Your suppliers' personal data

To file, envoice reads the supplier's name, address, TIN and IC or passport number from the vendor in Zoho Books, and keeps them with the filed e-invoice. Let your suppliers know their details are used for e-invoicing. To ask about or delete this data, email [email protected]. See the privacy policy.