Customers
As an operator, you will maintain customer records on the upgraded list-detail screen — adding, editing in place, and reading each customer's receivable balance, activity, and statement — so every invoice and receipt links to one clean record.
What you'll accomplish
As an Operator, you will maintain customer records on the upgraded list-detail screen — adding, editing in place, and reading each customer's receivable balance, activity, and statement — so every invoice and receipt links to one clean record.
Before you start
Customers live at /[lang]/customers. The page opens as a master-detail screen: a searchable list of customers on the left, and a tabbed detail panel on the right when you click a row. You need the canViewCustomers permission to open the screen. A customer record is master data — saving one writes no accounting entry; it simply registers the customer (and a sub-ledger under Accounts Receivable) so future documents have something to point at. The /[lang]/customers/new route redirects back to the list, because new customers are created from a slide-in sheet, not a separate page.
Steps
Open the customers list
Go to /[lang]/customers. The secondary-header breadcrumb reads Dashboard › Customers, and the list actions (New customer, plus import/template where available) sit on the right of that header. Search the list by name or customer number.

Add a customer Click New customer to open the create sheet. Fill in the name (and Lao name if you use it), and optionally email, phone, tax ID, billing address, payment terms, and credit limit. Save — the customer appears in the list immediately.

Open the record and read the Overview Click a customer row to open the detail panel. A quiet meta strip shows the customer number and an Active/Inactive badge; the breadcrumb already carries the name. The Overview tab leads with the outstanding receivable as the hero figure (shown in rose when money is owed), with open / overdue / paid counts inline, an invoiced-vs-received chart, recent invoices, and a reference grid of contact, address, and account details.

Edit in place With a record open, press Edit. The panel flips into the edit form (the tabs are hidden) and Save / Cancel appear in the secondary header. Change the fields and save without leaving the record.

Create a document from the customer
Use the record's New ▾ menu (or an empty-state CTA) to start an invoice, receipt/payment, or quotation with this customer pre-selected — the link carries ?customerId=, so the new document opens with the customer already chosen. Switch to the Transactions and Statement tabs to review that customer's documents and running balance.

What happens behind the scenes
Creating or editing a customer is a structural change — there is no journal entry. createCustomer (customers/create.ts) saves the record and registers it as a sub-ledger under Accounts Receivable, and updateCustomer (customers/mutations.ts) edits it. The customer's outstanding balance shown on the Overview is computed live from posted invoices and receipts (the queries in customers/queries.ts), not stored on the record — so the figure stays correct as documents post. The Statement tab (customers/statement.ts) derives the opening balance for a date range from the documents that fall before it. Money flows into the customer's AR balance only when an invoice is issued or a receipt is applied; the customer record itself never debits or credits the ledger.
Common problems
- Screen won't open: Without
canViewCustomersthe page is blocked by the access guard. /customers/newbounces to the list: That is expected — creation happens in the slide-in sheet, not on a separate page.- Balance looks wrong: The Overview figure is live from posted documents; a draft invoice has not posted yet, so it is not counted.
- Can't delete a customer: A customer referenced by existing invoices or receipts cannot be removed — deactivate it (clear the Active flag) instead.
- Edits not saving: In inline-edit mode the Save button lives in the secondary header, not in the panel body.
Chart of Accounts
As an operator or admin, you will browse your company's Chart of Accounts as a tree, switch the display currency, and — with admin rights — add a sub-ledger account or import/export the chart, so day-to-day work always posts into the right account.
Products & Categories
As an operator, you will maintain the product catalogue on the upgraded list-detail screen — adding, editing in place, and reading each product's stock level, purchase history, and accounting fields — and organise products into categories, so every sales and purchase line is built from one consistent record.