Skip to main content
A Location represents a physical outlet or branch — a restaurant, a kiosk, a stall. Each location has its own Code, address, and settings, and every receipt, report, and e-invoice is tied back to the location that generated it. If you run more than one branch, Locations is how you keep them separate in reports while still managing them from one account.
Locations list screen showing branch names, addresses, and active status
The location edit screen has two tabs. General covers the basics every tenant sees — Code, Name, Brand, address, and pricing settings. E-Invoice only appears for Malaysia-registered tenants, and is where you configure this location’s tax identity and connect it to LHDN’s MyInvois system. Because the E-Invoice tab is the part most owners get stuck on, it gets its own deep section below — read it before you go looking for TIN or address fields and can’t find them on General.

General Tab

Basic Information

E-Invoice Identity (Singapore only)

Singapore tenants don’t get a separate E-Invoice tab — instead, a small E-Invoice Identity section appears right here on General, because Singapore’s e-invoicing setup is simpler and doesn’t need MyInvois-style intermediary onboarding.

Address

Every non-Malaysia tenant fills in the address here on General: Address Line 1/2/3, City, Postal Code, State (a dropdown where your country has a known state list, otherwise a free-text field), and Country.
Malaysia tenants: the Address section does not appear on this tab. For Malaysia, address fields move to the E-Invoice tab instead, because LHDN requires the address to be submitted alongside the tax identity fields on every e-invoice. If you’re on a Malaysia account and can’t find Address Line 1 here, that’s not a bug — open the E-Invoice tab.

Settings

Create a Location

1

Go to Locations

Click Locations in the left sidebar.
2

Click New Location

Fill in Code and Name at minimum, plus Brand if your account uses brands.
3

Save

Click Create. The location is immediately available in the dashboard and POS. If you’re on a Malaysia account, open it again afterward to fill in the E-Invoice tab — e-invoicing fields aren’t part of the initial create form.
If you plan to submit e-invoices from this location, come back and complete the E-Invoice tab (TIN, MSIC Code, and address at minimum) before your first sale — LHDN will reject submissions with those fields missing, and any tickets rung up before it’s configured won’t retroactively pick up the identity once you fix it.

E-Invoice Tab (Malaysia only)

Malaysia requires businesses to submit sales as electronic invoices to LHDN (the tax authority) through their MyInvois system. Getting your own developer credentials with LHDN is a real onboarding process — most restaurant and retail owners don’t want to do that themselves. So DuitPOS is registered with LHDN as an authorized intermediary: one shared platform identity that is allowed to submit e-invoices on behalf of every DuitPOS tenant. That doesn’t mean e-invoicing is automatic the moment you sign up, though. Two things still have to happen for each location, and this tab is built around exactly those two things:
  1. You fill in this location’s own tax identity (its TIN, BRN, MSIC code, address) — LHDN needs to know who the invoice is actually from.
  2. You log into your own MyInvois portal (outside of DuitPOS) and explicitly authorize DuitPOS as your intermediary — LHDN won’t let a platform submit on your behalf until you’ve granted that permission yourself.
The tab is laid out as two cards, matching those two steps.

Step 1 — Fill in e-Invoice details

Click Save at the bottom of this card to persist changes — it saves independently of the General tab.
Consolidation Period controls something most owners never think about until a receipt goes missing from LHDN: LHDN lets you bundle small, unclaimed walk-in receipts into one consolidated invoice instead of submitting each one individually. This dropdown controls how often that bundle gets submitted — options are Use tenant default, Daily (1 day), Every 3 days, Weekly (7 days), and Monthly (30 days).The reason to care: LHDN auto-invalidates a consolidated submission window after 38 days (their CF321 rule). If a high-volume location waits a full month to consolidate, it’s cutting it close to that window — a delay in your own reconciliation, or a late run, can push a batch past the deadline. A high-volume location should prefer a shorter period (Daily or Every 3 days), not a longer one, precisely because more receipts pile up faster and the 38-day clock doesn’t move. For most single-location or lower-volume setups, Use tenant default is safe and one less thing to think about.

Step 2 — Add as Intermediary in MyInvois

This card is a walkthrough for something you do outside DuitPOS, in your own government MyInvois account. DuitPOS can’t do this step for you — LHDN requires the authorization to come from you, logged in as the taxpayer.
1

Log in to the MyTax Portal

Go to the official MyTax Portal (mytax.hasil.gov.my) and sign in with your own credentials.
2

Open the MyInvois menu

On the top menu, click MyInvois.
3

Go to Manage Taxpayer Profile → Representatives

Open Manage Taxpayer Profile, then scroll to the Representatives section, under the intermediaries tab.
4

Click Add Intermediary

This opens a form asking for the intermediary’s TIN, BRN, and Name.
5

Enter DuitPOS's platform Intermediary identity

The E-Invoice tab shows a read-only table with TIN, BRN, and Name — copy these into the MyTax form. This is the platform’s shared identity, not this location’s own TIN from Step 1. It’s the same three values across every DuitPOS tenant, set once by DuitPOS’s own root admin — you don’t fill it in, you just copy it.
6

Set the authorization Period

The form shows Today Until 2030-12-31 — effectively an indefinite authorization. You don’t need to renew this yearly.
7

Enable permissions

Turn on all four: Submit, Cancel, Request Rejection, and Notification. Click Add to confirm.
Once you’ve added the intermediary on LHDN’s side, come back to DuitPOS and click Validate. Intermediary Status badges:
The Validate button always checks against LHDN’s production endpoint, regardless of whether the platform-wide environment is set to Sandbox or Production on the LHDN Admin page. That means a “connected” or Active result here doesn’t necessarily mean the platform is actually submitting real invoices yet — the environment setting that controls that lives separately, on LHDN Admin. Don’t take an Active badge here as proof that live submissions are turned on.

Invoices Tab (Malaysia only)

A third tab, Invoices, shows every e-invoice document generated for this specific location: search, date-range filters, a “Submitted only” filter, bulk submit for outstanding drafts, PDF/Excel export of validated invoices, and a Validated Total summary card showing the running total of everything LHDN has accepted. A Submit Invoice button jumps to the manual submission form pre-filled with this location. This tab is a location-scoped view into the same e-invoicing system covered in full on E-Invoicing — head there for how statuses, consolidation, and the public claim flow work in depth.

Frequently Asked Questions

Location visibility for employees is controlled by the role assigned to their user account. If a staff member should only see one location, assign them a role scoped to that location. Contact your administrator if you are unsure how location-based permissions are set up on your account.
Yes. Products and categories are shared by default, but you can use Bulk Pricing to create location-specific price or availability overrides.
Your location’s TIN (from Step 1) identifies your business as the supplier on your own e-invoices. The platform Intermediary identity (TIN/BRN/Name shown in Step 2) identifies DuitPOS itself as the party LHDN allows to submit on your behalf — it’s the same three values for every DuitPOS tenant, and you only ever copy it into MyTax, never edit it.
Active only confirms that LHDN recognizes DuitPOS as your authorized intermediary — it always checks against LHDN’s production endpoint. If invoices still aren’t going out, check the platform-wide environment setting on LHDN Admin: if it’s set to Sandbox, submissions are intentionally not reaching LHDN’s live system yet, even though the intermediary link itself is valid.
“Use tenant default” is the safe choice for most locations. If this location does high walk-in volume with a lot of unclaimed receipts, choose a shorter period (Daily or Every 3 days) rather than Monthly — LHDN auto-invalidates a consolidation window after 38 days (CF321), and a busier location has less margin before hitting that limit.
Deletion is blocked if the location has any associated transactions or employees. Deactivate it instead (Active switch, General tab) to keep your historical data intact while hiding it from the POS selector and active reports.

E-Invoicing

Document list, statuses, consolidation, and the public claim flow

LHDN Admin

Platform-wide LHDN environment, intermediary credentials, signing certificate

Tax

Configure tax rates and rules applied at this location

Reports

Filter reports by location