E-Invoicing For F&B Operators In Malaysia: The LHDN MyInvois Compliance Playbook (2026)
Phase 4A is live as of January 1 2026. If your F&B venue's annual revenue lands between RM1 million and RM5 million, you are now in scope for LHDN's MyInvois e-invoicing mandate. Penalty enforcement starts January 1 2027, so you have a 12-month relaxation window. Most operators have no clear playbook. Here it is.
This guide is written for the operator who runs a kopitiam, cafe, casual restaurant, bubble tea outlet or multi-outlet F&B group in Malaysia. It covers the phase timeline, the B2C consolidation mechanics, the B2B rules, the TIN problem for walk-in customers, POS integration paths, SST interaction, penalties, and a 30-day implementation checklist. It is long because the subject is genuinely complicated. Use the section anchors to jump to what you need first.
If you are still setting up your venue and have not picked a POS yet, read the POS evaluation guide for Malaysian F&B first. Your POS choice will heavily determine which of the three MyInvois integration paths available to you is actually realistic.
The e-invoicing phase timeline
LHDN has rolled out e-invoicing in bands by annual revenue. The mandate is not a single switch-on date. Here is the full sequence as of mid-2026:
Phase 1 (August 1 2024): annual turnover above RM100 million. The large F&B groups and listed companies. Mostly done and settled by now. If you are in this band and reading this, your finance team has been live for almost two years.
Phase 2 (January 1 2025): RM25 million to RM100 million. Mid-sized chains, franchise operators, larger hotel F&B groups. Most had existing ERP infrastructure that could push e-invoices through a middleware layer. Still a significant lift but they had IT teams to handle it.
Phase 3 (July 1 2025): RM5 million to RM25 million. The larger independent restaurants, growing chains, airport concessions, food court operators with multiple units. Many used existing accounting software integrations with a MyInvois API connector bolted on.
Phase 4A (January 1 2026): RM1 million to RM5 million. This is the band that covers the majority of serious single-outlet operators. A cafe doing RM90,000 to RM100,000 a month. A kopitiam doing RM80,000 to RM85,000 a month. A casual restaurant doing RM100,000 to RM400,000 a month. If you are in this guide, this phase likely applies to you. You are in scope. Penalty enforcement starts January 1 2027.
Phase 4B (expected later 2026 or 2027): RM500,000 to RM1 million. No confirmed start date from LHDN as of this writing. Watch the LHDN MyInvois portal for announcements.
Below RM500,000 (likely exempt for now). The RM150,000 to RM500,000 band is not yet confirmed for any phase. Very small outlets, hawker stalls, single-van catering operators are unlikely to be mandated in the near term. Watch this space but do not panic yet if you are in this band.
One important clarification on the RM1 million threshold: it is based on your annual turnover, not your profit and not just your dine-in revenue. If you have multiple revenue streams (dine-in, takeaway, catering, a packaged food side business), all of it counts toward the RM1 million line.
The RM10,000 single-transaction rule
This is the rule that catches the most F&B operators off guard. Any single B2B transaction valued at RM10,000 or above must be issued as an individual e-invoice. It cannot be batched into your monthly consolidated B2C submission. It needs its own submission to MyInvois with the buyer's actual TIN and business details.
In practice, the F&B scenarios where this threshold appears:
Corporate catering bookings. A company books a catered lunch for 80 staff at RM150 per head. That is RM12,000. One invoice. That invoice must go to MyInvois individually, addressed to the company's TIN. You cannot fold it into your end-of-month consolidated filing.
Large event packages. A wedding dinner package, a birthday function hall booking with full F&B, a product launch catering contract. Anything above RM10,000 paid by a registered business entity needs its own individual e-invoice before you do anything with the consolidated filing.
B2B supplier rebates received. If a supplier pays you a volume rebate above RM10,000, that rebate is also subject to e-invoicing (you are the supplier issuing the credit note, not the buyer). The mechanics are slightly different but the RM10,000 rule still triggers individual treatment.
The practical implication: your cashier or catering coordinator needs a clear escalation path. When a corporate booking comes in above RM10,000, the workflow is different from a standard table booking. The booking form should capture the company name, TIN, address, and SST registration status upfront. You cannot retrospectively collect this information after the event if the customer has left the building.
Train your floor team to ask one question when a company rep books a function: "Is this a business expense?" If yes, get the TIN before they confirm. Your team handles this smoothly when the script is clear. See the SME F&B pain points guide for more on closing the ops gaps that lead to compliance misses like this.
Consolidated B2C e-invoicing for F&B
Here is the mechanism that covers the overwhelming majority of your daily transactions. The rule is simple in principle: you do not need to issue an individual e-invoice to every dine-in customer. Instead, you batch all eligible B2C transactions for the month into a single consolidated e-invoice and submit it to MyInvois within 7 calendar days after the month ends.
So for January 2026 transactions, your consolidated submission deadline is February 7 2026. For February, it is March 7. And so on.
What goes into the consolidation: all dine-in, takeaway, in-store counter transactions where the customer is an individual (not a registered business entity) and did not request an individual e-invoice. If a customer paid by credit card, cash, e-wallet or QR pay and did not hand you a company name and TIN, the transaction belongs in the consolidated filing.
What the line items look like in the consolidated e-invoice: you aggregate by SKU category or by service category, not by individual check. LHDN does not need to see 1,400 individual mee goreng orders listed separately. You present total revenue by category (food items, beverages, service charge, etc.) with the appropriate SST status flags on each line.
The MyInvois portal has a supplier portal where you can manually key in or upload the consolidated e-invoice via API. The portal is at myinvois.hasil.gov.my. The upload is in a structured XML or JSON format that LHDN specifies. Most POS integrations or middleware services handle the format conversion for you so you do not have to hand-craft XML. If you are going the manual route, LHDN provides a standard Excel template you can fill and upload, but it is tedious at scale.
After submission, LHDN validates the document and returns a unique document ID and QR code within seconds (for API submissions) or up to 72 hours (for portal uploads). Keep the validated document ID on file. It is your compliance record.
Marketplace platform handling
This is the most important clarification for any F&B operator who runs delivery orders through GrabFood, Foodpanda or ShopeeFood. When a customer orders through a platform and the platform collects payment, the platform operator carries the e-invoicing obligation for that transaction, not your restaurant. The platform is the deemed supplier for that leg of the transaction.
That means: GrabFood orders, Foodpanda orders, and ShopeeFood orders do not go into your consolidated B2C submission. You do not need to issue any e-invoice for aggregator-collected orders. The platform handles it.
Where your obligation begins:
Dine-in and takeaway counter sales. All transactions processed through your own POS, whether cash, card, TnG eWallet, DuitNow QR or any in-store payment method. These are yours to e-invoice.
Your own delivery service. If you run deliveries using your own rider, or you use a third-party logistics service (Lalamove, Mr Speedy, J&T) where you are the one collecting payment from the customer, that is your obligation. The logistics service is just moving the box. You are still the supplier.
Direct catering and event bookings. Any booking taken directly (through WhatsApp, your own website, your own booking form) where payment comes to you directly is yours to e-invoice, with the RM10,000 individual threshold rule applied where relevant.
The practical implication for POS configuration: you need to be able to flag or exclude aggregator-platform orders from your e-invoice export. If your POS lumps all orders together in one report, you need a way to filter out the aggregator orders before you push to MyInvois. This is one of the key questions to ask your POS vendor. See the related guide on how to evaluate a POS system in Malaysia for what questions to ask.
What data MyInvois needs
LHDN specifies 55 mandatory and optional fields per e-invoice document. You do not need to memorise all 55. But you do need to understand the critical ones because they are the fields most likely to cause a validation failure or a compliance flag:
Supplier TIN. Your business's Tax Identification Number, registered with LHDN via MyTax. This goes on every e-invoice you issue. If you do not have one, you cannot submit. Register at mytax.hasil.gov.my before anything else.
Supplier business registration number (BRN). Your Companies Commission of Malaysia (SSM) registration number. You will have this from your business registration. Sole proprietors have a different format from Sdn Bhd companies.
Buyer TIN. For B2B transactions with a known business buyer, this is their TIN. For consolidated B2C submissions covering walk-in customers and general public, LHDN provides a general public TIN: EI00000000010. Use this for all consolidated B2C filings. You do not need to collect individual customer TINs for this filing.
Invoice number. A unique sequential reference number per invoice. Your POS usually generates this. For consolidated submissions, you generate one invoice number for the entire month's batch.
Invoice date and time. Date of the transaction (or for consolidated, the last day of the month being consolidated).
Classification code (item description). LHDN uses a product and service classification code to categorise what was sold. F&B businesses mostly fall under "Food and Beverage Services." Check the LHDN classification list for the specific codes applicable to your item categories.
Unit price, quantity, and line subtotal. Per item or per category in the consolidated filing.
SST tax type and rate. Whether the line item is subject to SST service tax at 8 percent, exempt, or zero-rated. The SST line is where many F&B operators make mistakes. See the dedicated SST section below.
Discount amount. If you ran happy hour discounts, promotional discounts, or staff discounts, they need to appear as a discount line in the invoice, not as a reduced unit price. This matters for audit purposes.
Total excluding tax, total tax, and total payable. The three-line totals that close the document.
Payment mode. Cash, credit card, e-wallet, DuitNow QR, corporate cheque, bank transfer. LHDN wants to see how the transaction was settled.
Currency. MYR for almost all Malaysian F&B operations. If you accept foreign currency (tourism area outlets near KLCC, Pavilion, Gurney), you need to record the MYR-equivalent and the exchange rate applied.
The TIN problem for walk-in customers
This is the question operators ask most often when they first read the e-invoicing rules. "Do I have to ask every customer for their IC number or TIN before I serve them?" The short answer is no. The mechanism that solves this is the consolidated B2C e-invoice described above.
Here is the full picture of how TIN handling works in an F&B context:
Walk-in dine-in and takeaway (default case). No individual TIN required. All these transactions go into the monthly consolidated submission using the general public TIN EI00000000010 in the buyer field. Your cashier does not need to ask. Your POS does not need to capture it. The transaction just gets tagged as "B2C consolidated" and rolls into the month-end batch.
Individual customer requests an e-invoice. This happens when someone wants to expense a meal to their employer. They come to the counter after paying and say "Can I get an e-invoice?" At this point, they need to provide their company TIN, company name, and address. You issue a separate individual e-invoice for their transaction. The transaction is then removed from the consolidated B2C batch for that month.
B2B customer books directly (corporate catering, event, supply agreement). Collect TIN, BRN, company name, address, and email at the time of booking. If the booking is RM10,000 or above, issue an individual e-invoice. Below RM10,000, you can still issue individually if the buyer requests it, or consolidate with your B2C batch if they do not request individual treatment.
The point-of-sale receipt does not need to change much for most transactions. The main addition is a notice on the receipt that reads something like: "Request an e-invoice? Provide your company TIN at the counter within 30 days of this transaction." This gives B2B customers who forgot to ask upfront a path to get their invoice. LHDN allows a 30-day window for a buyer to request that an already-issued consolidated transaction be extracted and reissued as an individual e-invoice.
How this lands in your POS
There are three practical paths for a Phase 4A F&B operator to connect their operations to MyInvois. They differ in cost, technical lift, and ongoing reliability. Pick the one that matches your volume and your POS situation.
Path A: POS with native MyInvois integration. Some POS vendors have built a direct connector to the MyInvois API. When a transaction closes, the POS automatically pushes the data to MyInvois, receives the validation response, and stamps the receipt with the LHDN document ID and QR code. The operator does essentially nothing extra per transaction.
Several Malaysian POS vendors offer native or announced MyInvois integration as of mid-2026, typically in their cloud-native or enterprise tiers rather than entry-level packages. The cleanest path is to ask your existing POS vendor three direct questions: (1) is MyInvois integration live today or roadmap, (2) which tier includes it, and (3) is there a per-transaction or per-invoice fee. Get those answers in writing before assuming compliance is covered.
If your current POS is on Path A, this is the lowest-friction option. Test with a few sample invoices, confirm the document IDs are returning cleanly, and move on.
Path B: E-invoice middleware (API wrapper services). If your POS does not have a native integration but does have an API or export capability, you can use a middleware service that sits between your POS and the MyInvois API. The middleware receives the transaction data from your POS (typically via webhook or a scheduled export), transforms it into the LHDN-required format, submits it, and returns the document ID back to you.
Several Malaysian middleware options exist in 2026: SME-focused MyInvois wrapper services with flat monthly fees, accounting software packages with built-in e-invoice modules, and independent MyInvois API services. Middleware typically costs RM50 to RM200 a month depending on transaction volume. Your accountant or POS vendor will know which option fits your existing stack best.
Path B is the right choice when your POS is mid-range and you want to keep it but need the MyInvois connection. The risk is that middleware adds a dependency: if the middleware goes down or the API connection breaks, your submissions pause. Build a monitoring habit: check that the prior month's consolidated submission went through on the 7th of every month.
Path C: Manual upload via the MyInvois portal. For very low B2B invoice volume (say, fewer than 10 individual e-invoices a month outside the consolidated batch), you can log into myinvois.hasil.gov.my and upload them manually. LHDN provides a structured template. This is workable for the occasional corporate catering invoice but it is not a sustainable process for the monthly consolidated B2C filing if you are doing thousands of transactions a month.
Path C is best used as a fallback (when your middleware is down and the deadline is approaching) or for operators at the very low end of the Phase 4A revenue band whose monthly consolidated B2C batch is genuinely small. Do not rely on it as your primary path.
For a longer breakdown of what to look for in a POS system, see POS subscription hidden costs in Malaysia and how to evaluate a POS system for Malaysian F&B.
Penalties and what triggers them
Under Section 82C of the Income Tax Act 1967, each non-compliant invoice carries a potential fine of RM200 to RM20,000. LHDN can impose the fine per invoice, not per operator per month. An operator who misses the consolidated submission for three months in a row is looking at three separate penalty events, not one.
Penalty enforcement for Phase 4A businesses does not begin until January 1 2027. The 12-month relaxation window (January 2026 to December 2026) is your runway to get the systems right without exposure to fines. But the relaxation window does not mean the obligation does not exist yet. It means LHDN will not issue fines during this period. You should still be attempting compliance during this window so the processes are bedded in before enforcement starts.
The specific scenarios most likely to trigger a penalty in an F&B business:
Missed monthly consolidation deadline. The 7-day window after month-end is tight. February 7, March 7, April 7. If the submission does not go in, or goes in after the deadline, that is a compliance miss. Build a calendar reminder and a backup responsible person (not just one person) for this task.
Incorrect SST status flag on a line item. Flagging dine-in service revenue as zero-rated when it should be 8 percent service tax, or vice versa. See the SST section below for the F&B-specific rules.
B2B customer requested an individual e-invoice and you could not produce one. The customer has 30 days to request extraction from the consolidated batch. If they request and you fail to respond within the required window, that is a compliance event.
RM10,000-plus B2B transaction batched into consolidated by mistake. This is a data integrity issue that comes from not having a clear flag on high-value corporate transactions at the time of booking. The fix is upstream: the booking intake process, not the month-end accounting process.
Incorrect buyer TIN. Using EI00000000010 for a B2B transaction where you had the buyer's real TIN, or putting the wrong TIN in a B2B invoice. LHDN cross-checks TINs. A mismatch flags for review.
The 30-day implementation checklist
Here is an operator-grade implementation sequence. It assumes you are starting from zero. If you are partly through some steps, skip to where you need to pick up.
Week 1: Establish your scope and accounts.
Confirm your annual turnover for the last full financial year. If you are between RM1 million and RM5 million, you are in Phase 4A and this guide applies. Register or log in to MyTax (mytax.hasil.gov.my) to confirm your TIN. If you are a sole proprietor who has not previously registered a TIN, register now through the MyTax portal. If you are an Sdn Bhd, your company TIN should already exist from your corporate tax filings. Register for MyInvois access within the MyTax portal. While you are there, check whether your SST registration is active and your service tax registration status is current.
Week 2: Pick your path (A, B or C) and confirm POS capability.
Call or message your POS vendor. Ask: "Do you have a native MyInvois integration? What tier? Is it included in my current subscription?" If yes, ask for the setup documentation and the test environment credentials. If no native integration, get a quote from a middleware vendor (JomeInvoice, Bukku, or an accountant who offers e-invoice managed services). If you are a very low-volume operator and Path C is viable, set up the MyInvois portal login and download the manual upload template from LHDN. Do one test submission with dummy data in the MyInvois sandbox environment.
Week 3: Configure and test.
For Path A: work with your POS vendor to enable the e-invoice module. Map your POS item categories to the LHDN classification codes. Set up the SST flags on each category (dine-in service at 8 percent, takeaway food products at zero-rated for SST). Run 10 test transactions and verify the document IDs come back clean from MyInvois. For Path B: set up the middleware API connection, configure the POS export, map the fields. Run the same 10-transaction test. For any path: test the monthly consolidation flow end-to-end with January 2026 data if you have not already submitted it. The test confirms your format is accepted before you are relying on it for real.
Week 4: Train your team and soft-launch.
Train your cashier or front desk on two things. First: the script for when a customer requests an individual e-invoice. "Please provide your company name, TIN and address and I will prepare the invoice within 24 hours." Collect this on a simple form (printed or on a tablet). Second: the RM10,000 flag for corporate bookings. Any booking above RM10,000 from a company requires TIN collection before the booking is confirmed. Your floor team handles this smoothly once the script is clear and they know why it matters.
Run the first real consolidated submission for the most recent completed month. Check the LHDN validation response. Keep a record of the document ID. Set a calendar reminder for the 5th of every month (two days buffer before the 7th deadline) to trigger the consolidation run.
SST 8% and e-invoicing
The SST interaction is where a lot of F&B operators get confused because the rules are genuinely non-obvious. Here is the clean version:
Who needs SST service tax registration. F&B businesses with annual taxable turnover exceeding RM1.5 million are required to register for service tax and charge it at 8 percent. If your revenue is between RM1 million and RM1.5 million, you are in Phase 4A scope for e-invoicing but not necessarily required to charge service tax. Confirm your status with your accountant. Two different thresholds, two different compliance obligations that partially overlap.
Dine-in services are taxable at 8 percent. When a customer sits in your restaurant and eats, that is a "food service" and it is subject to the 8 percent service tax if you are registered. The service tax goes on the invoice as a separate line item. In your e-invoice line items, tag the dine-in revenue category with tax type "Service Tax" at 8 percent.
Takeaway food products are zero-rated for service tax. Food and beverage items sold as packaged goods or takeaway (not consumed on the premises as a service) are treated as goods supply, not a service, and are zero-rated for service tax purposes. Your McD McFlurry takeaway is not the same SST treatment as your sit-down fine dining order. In your e-invoice, tag takeaway food revenue as SST-exempt or zero-rated depending on the exact category.
Packaged food retail is not subject to service tax. If you sell packaged sauces, snacks, bottled drinks or merchandise alongside your dining service, those are goods, not services, and follow the SST goods rules (most basic food items are zero-rated).
The practical consequence for your e-invoice: you need at minimum two revenue line item categories in your consolidated submission. One for dine-in service (8 percent SST if registered). One for takeaway food products (zero-rated). If you also sell retail packaged items, that is a third category. Your POS item classification must match these categories so the export produces the right SST flags automatically. If it does not, you will end up manually correcting it every month, which is where errors creep in.
For a deeper look at licensing and tax registration context, see the F&B licensing guide for Malaysia.
Common F&B-specific gotchas
These are the edge cases that catch operators once the main system is running and the one-off scenarios start appearing.
Tip pool handling. Tips collected from customers and pooled for distribution to staff are not your revenue. They should not appear as a taxable line in your e-invoice. If your POS is recording tips as revenue (a common configuration issue), correct this before your first e-invoice submission. Tips collected as a percentage service charge and retained by the business (some operators do this) are a different matter and should be included in revenue.
Gift voucher sales vs redemption timing. When you sell a RM200 gift voucher, you have not yet delivered any F&B service. Revenue recognition from an accounting standpoint happens when the voucher is redeemed. Your e-invoice obligation also triggers at the time of service delivery, not the time of voucher sale. Do not e-invoice voucher sales as F&B service income. E-invoice the transaction when the customer redeems the voucher and the meal is delivered.
Refunds and credit notes. If a customer paid for a booking that was later cancelled, or if a wrong item was charged and you issued a refund, you need to issue a credit note e-invoice (e-credit note) through MyInvois against the original invoice. You cannot simply delete or ignore the original invoice in the system. The credit note must reference the original document ID. Most POS integrations and middleware have a credit note flow, but confirm yours can do this before you encounter a real refund situation.
Loyalty points redemption. When a customer redeems 200 loyalty points worth RM10 off their RM60 bill, the bill is RM50. The RM10 discount appears as a discount line item in the e-invoice. The SST is calculated on the post-discount amount (RM50), not the pre-discount amount. Make sure your POS calculates and exports SST on the net amount, not the gross before discounts.
Happy hour and promotional discount line items. As mentioned in the data fields section, discounts need to appear as separate line items in the e-invoice, not as reduced unit prices. If you run a RM5 off happy hour discount on all beverages from 3pm to 5pm, the e-invoice should show: Beverage at RM18, Happy Hour Discount at negative RM5, net RM13. This matters for any subsequent audit. LHDN can see both the full price and the discount. If you just record RM13 with no discount line, the audit trail is incomplete.
Staff meal discounts. Staff meals at discounted or zero prices are generally not part of your taxable supply. Flag them accordingly in your POS so they do not inadvertently appear in your consolidated B2C submission as regular revenue transactions.
What MenuBase fits in this
Honest framing: MenuBase does not issue e-invoices. We do not have a MyInvois integration. We are not an accounting or tax software. If you are looking for a system that pushes directly to LHDN's API, that is your POS vendor or your middleware provider, not MenuBase.
What MenuBase does contribute upstream of the e-invoice flow:
Clean order data at the source. Every order that comes through the MenuBase QR menu has itemised line items, modifiers accounted for, and table or customer attribution. When your waiter transfers that order into your POS, the receipt that gets created is clean. Each item is a discrete line, not a lump "food order RM48." Clean POS receipts produce clean e-invoice exports. Sloppy order entry produces consolidated submissions with categories like "miscellaneous" that LHDN is not happy with.
Modifier discipline. The most common source of messy POS data in F&B is unstructured modifiers: "extra rice, no chilli, add egg" typed as free text in the notes field. MenuBase structures all modifiers as priced or unpriced line items on the order. When this lands in the POS, the pricing is explicit and auditable. That explicit pricing is what the e-invoice SST calculation needs to be accurate.
Daypart and discount transparency. When a happy hour discount is applied through MenuBase, it appears as a named discount line (not a silent price reduction). That discount line needs to travel through to the POS and then to the e-invoice. The chain is: MenuBase order with explicit discount line, to POS receipt with the same explicit discount, to MyInvois consolidated submission with the discount line intact. MenuBase ensures the chain starts cleanly.
We contribute the upstream discipline that makes the downstream compliance easier. The actual e-invoice submission is still the POS or middleware's job. Your accountant or your POS vendor will handle the MyInvois API connection. We handle the order quality that feeds it.
Getting your POS and order data ready for MyInvois?
Most operators discover their POS data is messier than expected when they try to push it through the e-invoice flow. Orders with free-text modifiers, lump totals, mixed category lines. MenuBase structures the order at source so the POS receipt is clean enough for your MyInvois submission to go through without manual correction.
WhatsApp the team with a photo of your current menu. 15 minutes. We will show you exactly where your current order flow produces e-invoice-unfriendly data and what the fix looks like. No commitment.
WhatsApp the team →