Tickets & Cashier

Point of sale for Gran Formato / DTF / Printing: tickets, payments, cash cut, departments, production tracking, and accounting.

ES

πŸ“‹ What does this module do?

Tickets is the business's point of sale: it records sales and purchases, collects payment at the Cashier (including on credit/in installments), tracks inventory by warehouse, splits work by department, and posts every operation to ContaSAS as a real double-entry.

🎫 Ticket modes

Sale, Purchase, Return, and Adjustment β€” each with its own effect on inventory.

πŸ’² Price tiers

Every product can have a Retail, Manufacturing, and β€” if set β€” a Sale price, picked via a radio button right as you add the line item, the same way the original system (SiCoI) worked.

πŸ“ M2/ML measurement

Products configured by square or linear meter show base/height fields directly in the row (no popup), with the mΒ²/ml result computed live as you type.

πŸ” Folio search

At the Cashier you can search directly by the folio number physically tagged on the product, no need to know the customer first.

πŸ‘· Departments

Every product category (DTF, Lonas, etc.) is a department: staff and capabilities get assigned to it, and each person only sees their own work in "My Orders".

πŸ’³ Partial payments

A ticket can be left with a balance owed (amount_owed) and collected across several Cashier visits.

πŸ“‰ Shrinkage

Log inventory loss or damage without a ticket β€” decreases stock right away, with a reason.

πŸ“Š Accounting

Every posted sale/purchase generates real ContaSAS entries (Sales, Tax, Cost of Goods Sold, Inventory, Customers/Suppliers).

πŸ› οΈ Production

Lona/vinyl (M2/ML) lines move through 5 stations -- Panel, Printing, Cutting, Pressing, Finished -- and you can look up any folio to see which one it's at and its full history.

🎫 Creating and Editing Tickets

1

New Ticket

Pick the mode (Sale/Purchase/Return/Adjustment), date, warehouse, and contact.

2

Quick-add contact

The icon next to the "Customer / Supplier" label asks for RFC and email (required β€” they're what prevents duplicates and are needed for invoicing), plus optional WhatsApp and CURP. A new sale already comes preselected with "Counter Sale" so you're not slowed down when there's no real customer to register.

3

Add products

Picking a product surfaces its available price tiers (Retail/Manufacturing/Sale 🏷️ if it has one). If the product uses M2/ML, base/height fields appear right below the price with the mΒ²/ml total computed as you type β€” nothing else to open. The icon next to "Product" opens a form to register a brand-new one with all its data (prices, whether it's a supply/service, whether it's on sale, special unit) in one shot.

4

Save

Totals, taxes, and the inventory effect are all calculated server-side. Editing a ticket that's already been posted (is_posted) isn't allowed β€” cancel it instead.

⚠️ "Cancel" in the ticket list doesn't delete the record β€” it reverses the inventory movements and changes the status.

Delivery date

The ticket has a structured Delivery field (date and optional time): the date you promised the customer. The ticket list shows it as a column with Overdue (past and still open), Today and Tomorrow tags and can be filtered by it; "Mis Pedidos" lists what is due first; the printed work order shows the date (blank lines if none). A completed, invoiced or cancelled ticket never shows as overdue. It used to be free text in the note.

From quote to ticket

When a Quote Link quote is Approved, its "Convert to ticket" button opens a sale ticket pre-filled: the customer is preselected only if it matches (by email, phone or name) one of your business's customers β€” nothing is created automatically; lines whose text exactly matches one of your product names or SKUs are added by themselves, and the rest wait in a yellow box where you pick the real product. Quote prices are pre-VAT; the ticket loads them VAT-included so the total is the approved one. The ticket remembers its quote; a quote is not converted twice while its ticket is alive (cancel the ticket to convert again).

πŸ’³ Cashier

Record a payment against a ticket (partial or full), using the real payment method (cash, card, transfer, etc. β€” the same SAT catalog Finance uses). If the ticket is already posted, each payment automatically generates its own "collection" entry (Cash/Bank against Customers) without needing to revisit the accounting review screen.

The Folio field searches as you type: as soon as the number matches a pending ticket, its customer is auto-selected and that ticket comes pre-checked β€” handy when the physical product already has that number written on it.

The icons next to the customer field are: βž• Other Income, πŸ’Έ Cash Voucher, and πŸ” Search Paid β€” each with its own tooltip on hover.

πŸ”’ Cash Cut

Closes out the day: shows the total collected by payment method, and soft-warns (not a hard block) on any additional same-day payment logged after the cut.

πŸ’‘ Only one closed cut can exist per entity per day β€” a second attempt to close the same day is rejected.

πŸ‘· Departments

Every product category (DTF, Lonas, Printing, Caps, Magnets, Parts, etc.) doubles as a department. Three screens control it (admins only). All of them live under the "Settings" gear of the menu as tabs: General Β· Frequent buttons Β· Departments Β· Staff Β· Permissions Β· Roles & permissions (each used to have its own menu icon). Production setup is no longer there: it lives in the Production section.

1

Departments

Create, rename, or deactivate a department. They're never deleted (products and tickets reference them) β€” only deactivated.

2

Staff by Department

Assign each team member the departments they're in charge of. That person will only see, in "My Orders", the ticket lines whose product belongs to their departments.

3

Permissions

Per department, decide whether its staff can see prices/totals and the customer's name in "My Orders" β€” if unchecked, that column is hidden from them.

My Orders is each user's personal queue: it shows only the ticket lines from their assigned departments, with folio, date, product, quantity, and posting status.

πŸ“‰ Shrinkage

For loss, damage, or discards that don't go through a ticket: pick a product, warehouse, quantity and reason β€” stock is decreased immediately and its own inventory movement record is kept (visible on the same screen, last 30 entries).

πŸ› οΈ Production (Lona/Vinyl)

πŸ’‘ All of production is in one place: the "Production" menu icon opens a section with three tabs β€” Production Panel, Find folio and Production Setup (your own stages; optional). Admins see the icon even before stages are configured, so they can reach the setup from there.

For products measured in M2/ML (lona, vinyl), each order line moves through 5 physical stations, one screen per station:

1

Panel

Groups several pending lines into a "panel" with a description and material (lona/vinyl/other). Once the panel is created, all its lines enter Printing.

2

Printing β†’ Cutting β†’ Pressing

Each station shows its own queue of active lines. Clicking "Done" moves the line to the next station automatically.

3

Finished

Final check before handing the order over. "Finalize" closes that line's process -- it stops showing up in any queue.

4

Search Folio

Type the ticket number to see which station each line is at right now, and the full history of when it entered and left each one.

πŸ’‘ Only lines from products configured with unit M2 or ML, and not already in a panel, show up in the panel screen.

πŸ“Š Reports

Admins only. Nine ready-made reports: top customers, product by customer, stock by product, sales by product, yearly/monthly sales by product, monthly sales by customer, products by category, and sales by date.

πŸ“Š Post to Accounting

A Finance-style review screen: lists Sale/Purchase tickets, filters by posted/pending, and lets you post one, several selected, or all pending at once.

ModeEntry generated
SaleDebit Customers (total) / Credit Sales + Tax Collected, plus Cost of Goods Sold (Debit) / Inventory (Credit)
PurchaseDebit Inventory + Creditable Tax / Credit Suppliers
πŸ’‘ Return and Adjustment only affect inventory β€” they don't generate an accounting entry yet.

πŸ”§ Troubleshooting

"This ticket can't be edited" β€” it's already posted (is_posted=1). Cancel it if you need to correct it.
The quick-add contact rejects saving β€” RFC or email is missing; both are required for the quick add.
A payment doesn't show as posted β€” it's only auto-posted if the ticket (Sale) was already posted before the payment; otherwise it's included the next time the full ticket gets posted.
I don't see a Sale price option β€” the product needs a sale price greater than $0 set on its record; if it doesn't have one, that option hides itself automatically.
Nothing shows up in "My Orders" β€” ask an admin to assign you at least one department in "Staff by Department".
I don't see prices in "My Orders" β€” normal if your department doesn't have the "View prices and totals" capability turned on; ask an admin to check it in "Permissions".
↑