isaaccladandClaude Opus 4.8 9780591e74
Deploy Ladill POS / deploy (push) Successful in 36s
Split bills + kitchen ingest for online orders
Split bills (restaurant tickets):
- New pos_payments ledger; a tab is settled across one or more cash/Ladill Pay
  payments. The ticket shows total / paid / balance, an amount field with Full /
  ½ / ⅓ / ¼ helpers, and the payments taken. Partial payments keep the tab open;
  the sale finalises (and frees the table) only when the balance hits zero.
  Pay splits get their own checkout + callback (pos.payments.callback).

Pipe online orders to the KDS:
- POST /api/kitchen/orders — a first-party, service-keyed ingest
  (config pos.kitchen_api_keys, scoped by owner, idempotent by external_ref) that
  creates a paid, already-fired ticket (order_type=online, lines source=online).
- The KDS feed is now payment-agnostic (any kitchen-active sale), so paid online
  orders sit on the board next to dine-in tabs and bump the same way; they're
  badged "online".

Schema additive: pos_payments, pos_sales.external_ref. Suite green (14).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-24 23:49:01 +00:00

Ladill POS

In-store register at pos.ladill.com — product grid, cart, cash or Ladill Pay checkout.

Features (v1)

  • Register — catalog + quick-amount sales
  • Products — local catalog CRUD
  • Sales — history and receipt view
  • Ladill Pay — MoMo/card via source_service: pos, fee_tier: sales

Local dev

cp .env.example .env
composer install
php artisan key:generate
touch database/database.sqlite
# set DB_CONNECTION=sqlite in .env
php artisan migrate
npm install && npm run build
php artisan serve

Tests

php artisan test

Deploy

See DEPLOY.md.

Roadmap

  • CRM timeline + product import
  • Invoice receipt prefill
  • Merchant catalog import
S
Description
No description provided
Readme
2.4 MiB
Languages
PHP 57.4%
Blade 37.2%
JavaScript 3.2%
Shell 1.6%
CSS 0.6%