BigBooks Docs
Selling

Manage Price Lists

As an operator, you will create and maintain price lists — special sales or purchase rates for a customer, vendor, or tier — that override the default item price when you build a document.

What you'll accomplish

As an Operator, you will create and maintain price lists — special sales or purchase rates for a customer, vendor, or tier — that override the default item price when you build a document.

Before you start

Price lists are managed at /[lang]/price-lists. This screen is a table-based manager (create / edit / delete), consistent with Products and Customers — it is not the master-detail list-shell used by invoices and quotations. Each price list has a name, a type (Sales or Purchase), a scope (All / Customer / Vendor / Tier), a currency, and a set of per-product rate rows. Rates are entered in display units and converted to satang at the mutation boundary. The screen requires the canViewProducts permission.

Compliance Note

A price list is reference data, not an accounting entry. It changes which rate a document picks up; it never debits or credits anything on its own. Money is stored in satang so the resolved rate and the document agree exactly.

Steps

Open price lists Go to /[lang]/price-lists. The table shows existing lists with their name, type, scope, currency, item count, and status.

Price lists table with name, type, scope, currency, items, and status columns.
Price lists table with name, type, scope, currency, items, and status columns.

Create a price list Click New price list. In the editor dialog, name it, choose Sales or Purchase, set the scope (and the specific customer/vendor/tier where applicable), and pick the currency.

Price list editor dialog with type, scope, and currency fields.
Price list editor dialog with type, scope, and currency fields.

Add per-product rates Add product rows and enter the overriding rate for each. Save — the rates are stored in satang and the list becomes available to documents in its scope.

Per-product rate rows in the price list editor.
Per-product rate rows in the price list editor.

What happens behind the scenes

There is no journal entry. priceLists/mutations.ts (create / update / remove) stores the list and its per-product rates as satang. When a document is built, priceLists/resolver.ts (surfaced through priceLists/queries.ts:resolveRate) resolves the applicable rate for a product given the customer/vendor/tier scope, overriding the item's default price. The GL effect appears only later, when the document that used the resolved rate is issued — and it is identical to any other invoice or purchase posting.

Common problems

  • No matching scope: If no price list covers a product/scope, the document falls back to the item's default rate.
  • Wrong type: A Sales list does not apply to purchase documents (and vice versa).
  • Currency mismatch: A list's currency should match the document currency for the override to apply cleanly.
  • Permissions: Without canViewProducts the screen is not accessible.
  • Not an accounting change: Editing a price list does not alter any already-posted document.

On this page