Your invoice has five lines. Japan package, travel insurance, visa handling fee, luggage add-on, and a hotel cancellation charge.
The easy answer is to put 022, Others for everything. Many travel agencies do that because LHDN’s classification list does not have a neat “travel agency” or “tour package” code.
But 022 is not the only code. Some line items have a better match, especially travel insurance, vouchers, disbursements, reimbursements, motor vehicle rental, and self-billed supplier payments.

This guide gives you the practical shortlist from the 45-code JSON list published by LHDN.
The Main Rule
The LHDN MyInvois classification code list defines the category of product or service being billed in a commercial transaction.
Treat the code as a line item label. If your invoice has separate lines for tour package, travel insurance, and voucher, each line can have its own classification code.
Use 022, Others when no more specific code fits. Do not use 022 blindly when the item clearly matches another LHDN category.
Travel Agency Code Shortlist
Use this as a practical starting point. Confirm the final mapping with your accountant, especially if you mix principal sales, agency commissions, SST, and pass-through costs.
| Line Item | Suggested Code | LHDN Description | Why |
|---|---|---|---|
| Tour package | 022 | Others | No dedicated tour package code exists |
| Umrah package | 022 | Others | No dedicated Umrah or pilgrimage package code exists |
| Flight ticket | 022 | Others | No dedicated air ticket code exists |
| Hotel booking | 022 | Others | No dedicated accommodation booking code exists |
| Ground arrangement | 022 | Others | Transport, guide, meals, and activities sold as travel service |
| Service fee or visa handling fee | 022 | Others | Your fee is not a disbursement if you add markup |
| Travel insurance premium | 014 | Insurance - Education and medical benefits | Better fit when insurance is a separate line item |
| Travel takaful or life insurance | 015 | Insurance - Takaful or life insurance | Use only if the product is actually takaful or life insurance |
| Travel voucher or gift card | 044 | Vouchers, gift cards, loyalty points, etc | Specific code exists |
| Embassy or government fee paid at exact cost | 006 | Disbursement | Use only for true pass-through payments with no markup |
| Customer reimburses your out-of-pocket cost | 027 | Reimbursement | Use when the customer is reimbursing expenses you incurred |
| Standalone vehicle rental | 028 | Rental of motor vehicle | Better fit when the line is vehicle rental, not a bundled tour |
| Sports competition registration | 038 | Sports equipment, rental / entry fees for sports facilities, registration in sports competition or sports training fees | Better fit for sports tourism event fees |
| Travel training course | 010 | Education fees | Use when you sell training, not a travel package |
The important phrase is separate line item. If travel insurance is bundled inside one “5D4N Korea Package” line, 022 is usually practical. If your invoice shows “Travel Insurance Premium” as its own line, 014 is a better match.
Example: One Booking, Different Codes
Imagine this customer invoice.
| Invoice Line | Amount | Better Code |
|---|---|---|
| 5D4N Seoul Muslim Tour Package | RM4,500 | 022 |
| Travel Insurance Premium | RM95 | 014 |
| Visa Processing Service Fee | RM180 | 022 |
| Embassy Fee Paid On Behalf | RM160 | 006 |
| Travel Voucher Redeemed | RM300 | 044 |
This is cleaner than forcing every line into 022. It also gives your accounts team a clearer audit trail when they reconcile revenue, pass-through costs, and insurance sales.
Three Areas To Be Careful With
Travel Insurance
If the line says Travel Insurance Premium, consider 014. If the insurance is buried inside one package line, 022 is usually more practical.
For travel takaful or life insurance, review 015 with your accountant or insurer. Do not use 015 just because the word “insurance” appears.
Disbursement
Code 006, Disbursement is only for true pass-through payments. You pay on behalf of the customer, then recover the exact same amount from the customer.
| Scenario | Code | Reason |
|---|---|---|
| Embassy charges RM160, you charge customer RM160 | 006 | Exact pass-through, no margin |
| Embassy charges RM160, you charge customer RM220 as visa handling | 022 | This is your service revenue |
| Hotel charges you RM500, you sell hotel to customer at RM650 | 022 | This is a normal sale with margin |
| Customer asks you to pay a specific government fee and reimburses exact amount | 006 | You are paying on behalf |
Do not use 006 just because you paid a supplier. A hotel, airline, or ground handler cost with markup is normally part of your travel sale, not a pure disbursement.
Reimbursement
Code 027, Reimbursement is different from disbursement. Use it when the customer reimburses an out-of-pocket cost you incurred, for example an approved corporate trip expense.
If your team cannot explain why the line is reimbursement, do not use 027 casually. Keep normal travel sales under 022.
Self-Billed Payments
Customer invoices are only one side of e-Invoice. Travel agencies also deal with suppliers, freelancers, overseas ground handlers, and referral agents. Some of these can involve self-billed e-Invoices, depending on whether the supplier issues a valid invoice to you and how the transaction is structured.
| Transaction | Suggested Code | LHDN Description |
|---|---|---|
| Payment to overseas ground handler for services | 035 | Self-billed - Importation of services |
| Payment to overseas hotel under direct contract | 035 | Self-billed - Importation of services |
| Commission paid to referral agent | 037 | Self-billed - Monetary payment to agents, dealers or distributors |
| Freelance sales agent commission | 037 | Self-billed - Monetary payment to agents, dealers or distributors |
| Non-cash reward to agent, such as FAM trip | 045 | Self-billed - Non-monetary payment to agents, dealers or distributors |
| Miscellaneous self-billed item with no better fit | 036 | Self-billed - Others |
Do not mix these up with normal customer invoices. A customer invoice for a tour package is not self-billed. Self-billed codes are for specific situations where you, as the buyer, issue the e-Invoice on behalf of the supplier or payee.
Keep It Simple Operationally
Do not ask every consultant to choose codes manually while customers are waiting on WhatsApp. Set default codes in your product catalogue, then let your manager or accounts team handle exceptions.
The practical rule is simple. Use 022 for normal travel services where no specific code exists, but use the more specific LHDN code when the line item clearly fits one.
How WauHub Keeps It Simple
WauHub defaults travel agency invoice line items to 022, Others. That keeps daily invoicing simple for tour packages, flights, hotels, ground arrangements, service fees, and most normal travel products.
For special cases like insurance, vouchers, disbursements, reimbursements, or self-billed payments, your accounts team can review the line item based on your internal policy before submission.
The goal is not to make every consultant think like an accountant. The goal is to keep the booking workflow fast while giving accounts enough control to handle exceptions properly.
Want to issue MyInvois-ready invoices without turning every booking into a classification code debate?
