Per-Channel Delivery Pricing
Each platform gets its own price per item. No more overwriting your dine-in price when importing Grab data. Commission accounting happens automatically.
The problem with one price per item
Most POS systems and restaurant tools store a single price per menu item. The moment you bring in data from a delivery platform, that price gets overwritten. Suddenly your dine-in reports are wrong, your margins look off, and you can't tell what revenue came from which channel.
How most systems work
- ONE price per item — shared across all channels
- Importing delivery data overwrites the dine-in price
- Delivery commissions tracked separately (if at all)
- No way to see real revenue per channel
How BasilBook works
- Separate price per platform per item
- Dine-in price never touched by delivery imports
- Commission auto-calculated from platform rate
- Revenue split by channel, food vs beverage, in every report
Platform Configuration
Add delivery platforms with a name and commission rate. Grab at 25%, FoodPanda at 30%, Nham24 at 20% — each platform is configured individually so your accounting is always accurate.
Add platforms with name + commission rate
Grab 25%, FoodPanda 30%, Nham24 20% — fully configurable per platform.
Auto-created during POS import
Import a POPOK report that mentions Grab? The platform is created automatically with the default commission rate.
Toggle active/inactive
Stop using a platform? Deactivate it without deleting historical data. Reactivate anytime.
Per-Channel Pricing
Each sale item can have a different price on every delivery platform. Your dine-in price stays untouched when Grab data comes in — because delivery prices are stored separately.
Different price per platform per item
Pad Thai might be $8 dine-in, $9 on Grab, and $8.50 on FoodPanda. Each price is tracked independently.
Base price isolated from delivery prices
The sellingPrice on the item is your dine-in base price. It only updates from the default/dine-in channel — never from delivery imports.
View and edit channel prices
Open any sale item edit modal to see and adjust prices per platform. No more guessing which price is which.
Import Intelligence
When you import POS data, BasilBook collects the price per channel per product and upserts it into the per-channel pricing table. Only the default/dine-in price updates the main sellingPrice — everything else is stored separately.
Prices collected per channel per product
Each line in the import carries a channel. The price is stored against that specific channel — not globally.
Idempotent upserts
Re-import the same file? Prices are upserted, not duplicated. The unique key is saleItemId + channel.
No false "price changed" warnings
Because delivery prices are isolated, importing Grab data at $9 does not trigger a warning that your $8 dine-in price changed.
Commission Accounting
Every delivery sale automatically generates balanced journal entries that split gross revenue into net receivable and commission expense. Revenue is classified by item category — food vs beverage — so your income statement is always granular.
Dr Delivery Receivable (net amount)
The amount the platform owes you after their cut. Cleared when you receive settlement.
Dr Commission Expense (commission amount)
Commission = gross amount x platform rate. Recognized immediately at time of sale.
Cr Delivery Food Revenue (4210) or Delivery Beverage Revenue (4220)
Revenue classified by item category. Food items credit 4210, beverage items credit 4220.
Stop losing margin to delivery confusion
Per-channel pricing, automatic commission accounting, and delivery receivable tracking — all built into every import and every journal entry.