Files
brewman/CONTEXT.md
T
tanshu b425b299bf In progress Sales import and Recipe import.
First I will finish Sales Import. Then move on to recipe import
2026-09-11 10:43:23 +00:00

101 lines
3.3 KiB
Markdown

# Brewman
Brewman is the accounting system of record for the business. Sales originate in Barker, the
point-of-sale system, and are imported here as vouchers so the books carry both the money and
the material story.
## Language
### Core books
**Voucher**:
A single document in the books, carrying financial journals and, for stock vouchers, inventory
lines. Every recorded event is a voucher of exactly one type.
_Avoid_: entry, transaction
**Journal**:
One financial side of a voucher: an account, a cost centre, a debit or credit, and an amount.
_Avoid_: ledger line, posting
**Inventory**:
A voucher line recording movement of a stocked item: the item, quantity, rate, tax, and
discount. Distinct from stock-in-general.
_Avoid_: stock line, sale line
**Cost Centre**:
The department or function a journal or inventory belongs to; the lens through which
consumption is attributed.
_Avoid_: department, branch, location
**Product**:
A sellable or stockable item; carries versions that change name or units over time.
_Avoid_: item, menu item
**SKU**:
A sellable unit form of a product, identified by the product together with its unit.
_Avoid_: variant, size
**Recipe**:
The ingredient breakdown of a product's SKU, used to cost what was sold.
_Avoid_: formula, bill of materials
**Batch**:
A purchase lot of a SKU: the date it was bought, its rate, tax, discount, and remaining
quantity.
_Avoid_: lot, purchase line
### Barker sales import
**Barker**:
The point-of-sale system of record for restaurant sales; the external source of imported
sales data.
_Avoid_: POS, the restaurant app
**Business Date**:
The operating day a sale belongs to as the POS defines it, which may differ from the calendar
date.
_Avoid_: sale date, calendar date
**Sale Voucher**:
A read-only voucher recording what the POS sold on one business date at one cost centre,
valued at sale price.
_Avoid_: day sale, sales import voucher
**Sale Category**:
A Barker grouping of products that decides which cost centre a Sale Voucher credits.
_Avoid_: menu category, product category
**Production Cost Centre**:
The cost centre that receives the debit side of every Sale Voucher.
_Avoid_: kitchen
**Product Mapping**:
The standing association between a Barker product/SKU and its brewman counterpart, created
automatically on first sight and served verbatim on every import thereafter; once made, it
is never second-guessed by the import.
_Avoid_: product link, sync table
**Product Provisioning**:
How the import decides which brewman product and SKU a Barker line refers to (ADR-0004):
the standing Product Mapping first, the product's other SKUs next, and the slugified name
only for a Barker product never mapped before.
_Avoid_: product matching, sync
**Disposition**:
The outcome of provisioning one Barker line: mapped (served from the standing mapping),
linked (new binding to an existing product), or created (a new product and its first SKU).
_Avoid_: status, result
**Happy Hour**:
A Barker pricing state in which an item's effective sale price is zero.
_Avoid_: offer, discount period
**Menu Items**:
The product group to which imported products belong.
_Avoid_: food, kitchen items
**Import Run**:
One execution of the sales import for a date range; it compares Barker's data against what is
already booked and recreates Sale Vouchers only where the two differ.
_Avoid_: sync, refresh