isaaccladandClaude Opus 4.8 5d8e185223
Deploy Ladill POS / deploy (push) Successful in 28s
Link retail POS products to the CRM products API (restaurant stays local)
Products are now mode-aware:
- Retail: the catalog lives in Ladill CRM. The Products page proxies CRUD to the
  CRM products API (CrmClient gains product/create/update/delete), and the
  register reads CRM products live; a sold line is stored as a name/price
  snapshot (product_id null, since CRM products aren't local rows). Resilient —
  the register shows an empty catalog if CRM is unreachable. CRM import is hidden
  in Settings (not needed when reading live).
- Restaurant: unchanged — the local pos_products catalog keeps its POS-only depth
  (category, kitchen station, course, modifier groups).

ProductController routes take a raw {product} id (CRM id in retail, local id in
restaurant). Suite green (17), covering both modes.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-25 12:27:19 +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.3 MiB
Languages
PHP 57.7%
Blade 36.9%
JavaScript 3.2%
Shell 1.6%
CSS 0.6%