eCommerce¶
This page is for the Executive and Event Manager personas selling merch — both online and at the door. Blaqbook keeps the storefront and the POS (Point of Sale) — the in-venue cash drawer or iPad-style sale screen — pointed at the same inventory pool, so you don't have to reconcile counts across two systems.

What this is / Why you'd use it¶
Selling a shirt on the website and selling the same shirt at the door pull from the same stock count. Sell three online and three at the door, and you've sold six — you don't have to update inventory in two places. The same goes for ticket tiers: a ticket sold at the POS creates the same kind of registration record as a ticket sold on the public storefront, and both feed the P&L under separate revenue lines.
You'd reach for this page when you set up the merch catalog (sizes, prices, stock counts), when you run a POS session on event night for at-the-door ticket sales and cash merch, or when you're closing out the night and reconciling the cash drawer against what the system recorded.
Selling Merch (Online + at the Door)¶
Blaqbook ships with placeholder merch products (tee, hoodie, hat, accessory pack) that share a single stock pool between the public storefront and the in-house POS. Sell the same shirt online or at the door — the inventory count stays in sync.
Where merch lives:
- Public storefront:
https://[your-domain]/shop(Odoo eCommerce) - Backend product list: Inventory → Products or Sales → Products
- POS configs (door cash drawer): Point of Sale → Configuration → Point of Sale
Updating prices or stock:
- Go to Inventory → Products → [product]
- Edit price under Sales tab; edit on-hand quantity via Update Quantity button
- Changes apply to both the storefront and POS immediately
Merch Upsell on Ticket Confirmation¶
After a customer completes ticket purchase, the order confirmation page shows a "REP THE BRAND" panel linking to /shop/category/merch-1. No setup required — it appears automatically as long as blaqbook_merch is installed.
Walkthrough: Friday-Night POS — Open, Sell, Close¶
The scenario: Velvet Friday. Doors at 10pm. Your manager runs a POS session behind the bar for at-the-door cash ticket sales ($30 cash for the GA tier) plus merch. At 2am after the last guest leaves, you close the session and reconcile the cash drawer against the system.
Open the session at 9:30pm¶
- Point of Sale (top menu) → click Open Session on the door POS config (typically named
DoororDoor / Cash). - Opening cash → enter the float you put in the drawer. Example: $200 in mixed singles, fives, and twenties to make change.
- The POS UI opens. The first sale can happen as soon as a buyer walks up.
Run the door from the POS¶
For an at-the-door GA ticket sale (cash):
- Search or scan the GA ticket product. Blaqbook seeds ticket tiers as products so they appear in the POS the same way merch does.
- Tap Pay → Cash → enter $30 → confirm.
- The POS prints a receipt; behind the scenes it creates a confirmed registration tied to that buyer. The QR is on the receipt; they can show it at the scanner if you also do an inside re-entry stamp.
For a merch sale (e.g., $25 tee):
- Search or scan the tee product → choose size → add to ticket.
- Mix payment types if needed: Pay → Cash for partial, then Pay → Card for the remainder. Door card-reader sales route through Stripe Terminal (Stripe's in-person card-reader product) in the background.
- Confirm; receipt prints.
For a comp ticket at the door (e.g., DJ's guest list):
- Search the GA ticket product → tap to add.
- Apply a 100% discount using the configured comp button (or override price to $0.00 if your POS config allows manual price edits).
- Tap Pay → Cash → $0 → confirm. A scannable registration QR is created without any cash changing hands.
Throughout the night the Door Dashboard auto-refreshes its check-in count, and the P&L Dashboard's POS revenue line ticks up in real time.
Close the session at 2am¶
The reconciliation step. This is when you compare what the system thinks vs. what's actually in the drawer.
- From the POS UI, tap the menu in the top-right → Close.
- The system shows expected cash in the drawer (opening cash + cash sales − cash refunds).
- Counted cash → physically count the drawer and enter the actual amount.
- If they match, you're done — close out. If there's a difference:
- Drawer over by a small amount ($1–$10). Usually rounding from cash tendered. Note in the close-out comment field:
Drawer +$X — rounding. - Drawer short by a small amount. Same — note as
Drawer -$X — rounding / make-change loss. - Difference > $20. Stop. Don't close. Investigate: missed sale, comp ticket not zeroed out, opening float counted wrong. Sit with the manager and walk the day's transactions before closing.
- Once closed, the session is locked. Cash + card revenue posts to the appropriate journals in Accounting.
Settle the float for next time¶
- Pull the day's cash from the drawer.
- Reset the drawer with the standard opening float ($200 or whatever your standard is).
- Bank the rest with the night's deposit slip the next morning.
The reconciled cash matches the POS revenue line on the P&L Dashboard within about a minute of session close.
Patterns worth knowing
- Don't sell merch through the storefront and POS at the same event without checking stock. The two share the same inventory pool, but a popular shirt can sell out simultaneously on web and door — someone gets refunded. If you only have 20 of a size, pull them from the storefront for the night.
- Comp-ticket flow varies per install. If your POS doesn't have a configured comp button, use a promo code for door comps instead — apply the code at checkout for $0.
- Card readers and Stripe. At-the-door card sales go through Stripe Terminal (or your card reader's integration), not the online Stripe checkout flow — but the funds still land in the same Stripe account and roll up into the same payout. See the Stripe Payout walkthrough.