The Problem: Textile Shops Selling Fabric by Cut
Standard retail POS sells one unit = one product. But textile shops work differently:
- Customer: "I want 3 meters of this cotton fabric"
- Shop: Cuts it from the roll, weighs it, assigns a serial number
- POS must: Print serial, track which roll it came from, bundle 5 cuts into one order
Odoo's standard POS doesn't handle this. Each cut is a separate transaction. You lose traceability and bundle logic.
The Solution: ma_pos_cutting
ma_pos_cutting is our custom POS addon that adds:
1. Cutting Orders
A "cutting order" groups multiple cuts together:
Cutting Order #CO-001
├── Cut 1: Serial CO-001-A, 3m cotton, $12
├── Cut 2: Serial CO-001-B, 2.5m linen, $15
├── Cut 3: Serial CO-001-C, 4m blend, $18
└── Order Total: $45 (single payment)
2. Batch Serial Assignment
Instead of manually entering 100 serial numbers, POS auto-generates them:
- ir.sequence provides next serial from DB (never duplicates)
- Barcode printer shows serial + QR code
- Customer gets receipt with all serials for traceability
3. Integration with Stock
When a cutting order is confirmed:
- Fabric rolls are decremented in inventory
- Cut goods become "finished fabric" stock location
- Real-time stock display in POS (see ma_rs_pos_stock addon)
Technical Highlights (Odoo 19)
- Models — pos.cutting.order, pos.cutting.line
- States — draft → confirmed → cutting → done → cancelled
- POS Screen — OWL v2 screen to create/edit cuts in real-time
- Serial Gen — ir.sequence with format CO-YYYY-XXXX
- Validation — No cuts can be zero-length, total must be ≤ roll stock
Real-World Impact
A customer using ma_pos_cutting reported:
- Time saved — 30% faster checkout (batch processing)
- Accuracy — Zero serial duplicates (ir.sequence handles it)
- Traceability — Can audit which roll each cut came from
- Stock Control — Real-time visibility into remaining inventory
Installation & Pricing
Requirements:
- Odoo 19 Community or Enterprise
- point_of_sale module installed
- ma_pos_base (security framework)
- ma_pos_customization (RTL/Arabic theme)
Price: $129/year (single-company license)
Support: Direct email + 48-hour response time