Saltar al contenido principal

Label printing

Label printing is where your POS becomes operationally real for apparel. Without labels, barcode generation has low value. With labels, stores can: tag products quickly speed up checkout reduce errors do inventory counts faster handle transfers/receiving better Here’s what to add for Product & Catalog → Label printing. What “Label printing” means (business meaning) A label is a printable template that typically includes: barcode SKU product name variant attributes (size/color) price (optional or required) brand (optional) business/store name (optional) Apparel often prints labels in bulk when: receiving inventory creating new variants markdown waves (new price tags) physical counts and retagging Core concept (very important) Label printing = Templates + Print Jobs + Printer Integration And you must support: single label batch labels (selected variants) “print N copies per variant” reprint tracking (optional) What you must track (minimum data) Template template name size format (e.g., 2"x1", 4"x2") fields included barcode type price visibility rules Print job who printed when what items how many copies which printer Even if you don’t store every job in MVP, you should plan for it. Database additions (recommended)

  1. label_template Fields: id business_id name width_mm / height_mm (or label type string) barcode_type (EAN13/Code128/QR) show_price (bool) content_schema_json (template definition) is_default created_at MVP can start with 1 template hardcoded, but having this table makes you scalable.
  2. label_print_job (recommended) Fields: id business_id location_id printer_id (nullable) requested_by requested_at status (queued|sent|failed|completed) payload_json (items + copies + template)
  3. label_print_job_line print_job_id variant_id copies MVP can skip job tracking, but it’s very useful for audit and debugging. Backend functionality you need Core endpoints POST /labels/print template_id variants + copies location/printer GET /label-templates CRUD templates (Phase 2) Output formats (important) You must generate a printer-friendly output: Common approaches: PDF labels (easy MVP; print from browser) ZPL (Zebra) / ESC/POS (best for thermal printers) Cloud print service (later) Given your roadmap: PWA MVP: generate PDF labels React Native desktop: add direct Zebra/ESC-POS printing later That’s a clean staged approach. Frontend (PWA) screens MVP label printing UX From variant matrix / product screen: select variants set copies per variant choose template generate PDF → print Also add: “print labels from receiving” “print labels from markdown wave” (Phase 2) Printer integration strategy (recommended) MVP ✅ PDF generation works on any printer low integration effort good enough to sell early Phase 2 (retail ops power) ✅ Direct thermal printer support Zebra (ZPL) generic ESC/POS label roll sizes support prints from desktop app (React Native) This matches your hardware plan. Inventory + pricing interactions (important) Labels often include price, so you need rules: If markdown exists, print markdown price If promotion exists, usually do not print promo price (promos change) For “clearance” labels, you might print clearance price So label printing needs access to: effective price service (price list + markdown) variant attributes Reports / audit (optional but useful) labels printed by employee reprint frequency (fraud risk) missing barcode labels label printing failures MVP vs Phase 2 ✅ MVP label printing 1–2 templates generate PDF labels bulk print from variant matrix print copies uses variant barcode 🚀 Phase 2 template editor UI thermal printer formats (ZPL/ESC-POS) printer registry per location print queue with retries “relabel after markdown” workflow compliance labels (different formats) Biggest edge cases (important) variant without barcode → block or auto-generate very long product names (truncate rules) currency formatting rounding display vs actual price multi-location price differences printing thousands of labels (batch performance) Key recommendation (apparel positioning) Your top “wow demo” for apparel retail: ✅ Variant matrix → Generate barcodes → Print labels → Receive stock → Sell by scan That feels like a real retail system.