ONE-PAGE OPS

Theme: “Ops Ledger Slate” · Q-Branch Stream B · B8 · QS-12 (RECURRING) · Local-first prototype

PROTOTYPE SAMPLE NOT DEPLOYED — OWNER-TEST PROTOTYPE

THE FENCE, ON THE FACE: Nothing is sent anywhere. No accounts, no platform connections, no telemetry, no network calls at all. Your CSV is read only in this page, on this device. The only storage is this browser's localStorage, which you control — use “Clear samples” or clear your browser site data to remove it. Printing uses your own browser's print dialog.

Input contract — ONE combined CSV (the only contract this page accepts)

Paste one CSV, or pick one CSV file, below. Every row carries a leading type. The header must be exactly this, in this order:

type,ref,date,name,description,amount,due,status
Columnbookingorderinvoice
typebooking, order, or invoice (lowercase in the samples; matching is case-insensitive)
refOptional booking referenceOrder IDInvoice ID
dateEvent date, YYYY-MM-DD — requiredOrder date, YYYY-MM-DD — may be blankIssued date, YYYY-MM-DD — may be blank
nameEvent / booking titleBuyer nameClient name
descriptionVenueItemWhat the invoice is for
amountFee in dollars, e.g. 250.00Order amount in dollarsInvoice amount in dollars
dueLeave blankLeave blankDue date, YYYY-MM-DD — required
statuse.g. confirmed, tentativeOpen unless exactly shipped or doneUnpaid unless exactly paid

One-line example of each type (these exact lines obey the contract above):

booking,B-101,2026-12-05,Winter Card Show,Pine Hall Expo Center,250.00,,confirmed
order,ORD-101,2026-11-28,Jamie Sample,Rookie card lot,145.00,,packed
invoice,INV-101,2026-11-20,Casey Fictional,Show consignment,175.00,2026-11-25,sent

Standard CSV quoting works: wrap a field in double quotes to include a comma, and double a quote ("") to include a quote character. Malformed rows are counted and reported below the input — never silently dropped.

Your CSV

“Clear samples” empties the board to the header only, saves that empty state to localStorage, and the samples do not come back on reload. “Reload SAMPLE data” brings the invented samples back whenever you want them.

No data loaded yet.

    SAMPLE The board below is computed live from the CSV above. SAMPLE rows are invented — a fictional card-show vendor, invented names, venues, and amounts.

    Bookings ahead

    Chronological. The next one is highlighted.

    Open orders

    Status is not shipped and not done.

    $0.00 at stake

    Unpaid invoices

    Status is not paid. Anything past its due date is flagged OVERDUE in plain text.

    $0.00 owed