Te Lo Llevo Te Lo Llevo Documentation
System handbook
The POS in depth

The point-of-sale till, from start to finish

The Te Lo Llevo POS is the system merchants use to sell over the counter: it opens shift sessions, records sales with modifiers and discounts, manages the cash drawer, issues receipts with a fiscal sequence number and produces end-of-day reports. This chapter documents all its functions in detail.

The same merchant who accepts online orders through the customer app can also sell in the shop with the POS. Both channels share a catalogue, VAT codes and stock control — so when a sale is made over the counter, the online inventory updates automatically.

Terminals & sessions

Each physical till or checkout point at a merchant is registered as a terminal in the system. A merchant can have several active terminals (for example, a main till and a terrace till). The terminal is the unit of control for a shift session.

A session is the working period of a cashier at a specific terminal. At the start of the day, the cashier opens the session by declaring the opening cash float (the cash already in the drawer before the first sale is made). At the end of the shift, the cashier closes the session by physically counting the cash and comparing it with the amount expected by the system — that comparison is the reconciliation.

🖥️

Opening a session

The cashier selects the terminal, enters the opening cash float and confirms. The session is open and ready to take payments.

🔒

Closing a session

At the end of the shift, the cashier counts the physical cash, enters it in the POS and the system calculates the discrepancy against the expected amount. The Z report is printed.

ℹ️
One session per shift

Only one session can be open per terminal at a time. If the cashier closes the application without closing the session, the session remains open and must be formally closed before another cashier can begin their shift on that same terminal.

Making a sale

The over-the-counter sale flow follows an ordered process: products are added, modifiers configured, any discount applied, a tip added if the customer wishes, the payment method chosen and the payment finalised. The system issues the receipt as soon as the sale is recorded.

  1. Add products

    The cashier searches for products by name, category or barcode (using a scanner or typing). Each item is added to the active sale basket with the desired quantity.

  2. Configure modifiers

    If a product has modifier groups — for example "Size" (single-choice: small, medium, large) or "Extras" (multi-choice: extra cheese, gluten-free) — the POS shows the option selector. Each option can carry a price increment on top of the base item price.

  3. Apply a discount (if applicable)

    Discounts are capped by the cashier's role. STAFF may give up to 10 % or €10 (whichever is lower). MANAGER may give up to 50 %. Larger discounts or full comps require OWNER. A reason must be entered in every case.

  4. Add a tip

    The cashier can offer the customer an option to add a tip to the receipt. Preset options are 0 %, 3 %, 5 % and 10 %; a free-entry amount is also available. The tip is added after VAT and is not part of the taxable base.

  5. Choose the payment method

    The cashier selects CASH, CARD (card via card terminal) or SPLIT (mixed: part cash, part card). For cash payments the POS automatically calculates the change to give back.

  6. Confirm and issue the receipt

    The system records the sale, decrements the stock of every item sold and sends the print command to the connected receipt printer. The cash drawer opens automatically if the payment is cash or split.

Modifiers and combos

Modifiers allow a product to be customised without creating a separate item for each variant. A modifier group can be single-choice (the customer picks exactly one option, such as size) or multi-choice (they can pick several, such as pizza toppings). Each option in the group carries an associated price increment — which can be zero — that the system adds automatically to the base item price.

Combos are pre-configured sets of products sold together at a single price. When a combo is sold, the stock of each component is decremented separately, ensuring the inventory always reflects actual consumption.

The receipt

Every sale generates a receipt (simplified invoice) that contains all the fiscal and commercial information for the transaction. The receipt is immutable: once issued it cannot be edited. If there is an error or a refund, a new document is generated that voids or corrects the original.

Contents of a receipt

  • Customisable header: merchant name, VAT number, address, phone, logo and welcome message — set by the OWNER.
  • Product lines: item, quantity, unit price, selected modifiers and line subtotal.
  • VAT lines: taxable base, VAT rate and VAT amount for each tax code present in the sale (IVA_SUPER_REDUCED 4 %, IVA_REDUCED 10 %, IVA_STANDARD 21 %, EXEMPT 0 %).
  • Discounts applied: amount and reason.
  • Tip: amount and percentage, if any.
  • Total: subtotal + VAT + tip − discount.
  • Payment method: cash tendered and change, or "Card", or split breakdown.
  • Invoice number: gap-less sequential number.
  • Customisable footer: farewell message or additional merchant information.

Gap-less invoice numbering

The system maintains a gap-less invoicing sequence per jurisdiction, series and year. This means receipt number 1, 2, 3 is always consecutive — no gaps, no duplicate numbers. This property is a legal requirement of Spanish tax regulations and is essential for compliance with Veri*Factu (see the legal compliance chapter).

Full invoice

When a customer needs a full invoice (rather than the simplified receipt), the cashier can capture the customer's tax identification number (NIF) and address. The full invoice includes all recipient details and is suitable for business tax deductions.

Inventory

The POS decrements stock automatically with every sale. When an item's stock falls below its alert threshold, the system notifies the MANAGER or OWNER. In addition to automatic decrements from sales, the team can record manual inventory adjustments to reflect losses, new stock arrivals or count corrections.

⚠️
Inventory adjustments: MANAGER and OWNER only

The STAFF role cannot record manual inventory adjustments. This operation requires at least the MANAGER role to ensure that every stock movement is tied to a named responsible person.

Every manual adjustment is append-only: the history is never deleted or edited. This guarantees a complete audit trail of all stock movements.

Adjustment reason codes

Code Name When to use
BREAKAGE Breakage Item damaged or broken during handling.
EXPIRY Expiry Product withdrawn because it has passed its use-by date.
MERMA Shrinkage Natural weight or volume loss during storage or preparation.
STAFF_MEAL Staff meal Item consumed by the merchant's own team.
THEFT Theft Item missing due to theft.
RECOUNT Recount Stock correction following a physical stock count in the store.
RETURN_TO_SUPPLIER Return to supplier Goods returned to the originating supplier.
RECEIVED Stock received New stock arriving from a supplier order.
TRANSFER_OUT Transfer out Stock moved to another location or branch of the same merchant.
OTHER Other Any reason not covered by the above; a free-text description is required.

Age-restricted products

Alcohol and tobacco are products whose sale to under-18s is prohibited in Spain by Ley 28/2005. The POS applies an automatic control: when the basket contains at least one item marked as age-restricted, the system shows an age verification screen before allowing the cashier to complete the sale.

Age verification is mandatory

The cashier must actively confirm on the verification screen that the customer is 18 or older and that, if the customer appears to be under 25, identification has been requested and checked. The system records only the cashier's attestation — it does not store any personal data about the customer (name, ID number or copy of the document). If the cashier does not confirm, the sale cannot be completed.

This design protects both the merchant (covered by the cashier's attestation) and the customer's privacy (whose identity data is not stored by the system). The control is attestation-based, not biometric verification or data capture.

Refunds at the till

Over-the-counter refunds are carried out from an existing receipt. The cashier selects the original receipt and chooses whether the refund is full or partial. Only users with the OWNER role can carry out refunds.

↩️

Full refund

The entire sale is voided. The system returns the full amount to the customer, restores the stock for all items in the sale and adjusts the cash drawer or generates a card refund entry.

↩️

Partial refund

Only some items or a smaller quantity are refunded. VAT is recalculated proportionally on the refunded lines. Stock and the drawer are adjusted in proportion to what was returned.

⚠️
Refunds do not delete the original receipt

For fiscal integrity, the original receipt is never deleted. The refund generates a new credit note document linked to the source receipt. The complete history is preserved for the audit trail and fiscal compliance.

The cash drawer

The POS records all cash drawer events. Every opening is tied to a reason: cash payment collection, outgoing cash payment (pay-out), cash deposit without a sale (pay-in) or a no-sale opening.

Event Description Minimum role
Opening for cash sale The drawer opens automatically when a cash or split payment is confirmed. STAFF
Pay-in (cash deposit) Cash is added to the drawer without a linked sale (for example, making change for a note). MANAGER
Pay-out (cash withdrawal) Cash is removed from the drawer without a linked refund (for example, paying a supplier). MANAGER
No sale (opening without a transaction) The drawer opens with no transaction recorded. A reason must be entered. MANAGER

All drawer open and close events are saved in the audit trail, with the time, the user who triggered them and the reason. This traceability is essential for reconciliation at the end of the shift.

Reports

The POS generates four types of report for controlling commercial activity. Each has a distinct purpose and a different level of permanence.

Report When Stored? Resets counters? Purpose
X report At any point during the shift No — an on-screen snapshot only No Check the current state of the session without closing it: partial sales, totals by payment method, expected cash in the drawer.
Z report When the session is closed (end of shift) Yes — numbered and permanent Yes — resets the terminal's totals for the next shift Official shift close: definitive totals, itemised VAT, discounts, tips, payment methods, cash discrepancy.
EOD cash settlement At end of day Yes No (it is a consolidated summary) Day's cash summary: opening float + cash receipts + pay-ins − pay-outs − change given = expected cash. Compared with the physical count.
Sales by product On demand or per session Yes No Ranking of items sold: units, amount and percentage of total. Useful for menu management and stock replenishment.
The Z report is immutable

Once generated, the Z report cannot be modified. Its sequence number is consecutive (no gaps) and its content is locked. This immutability is a requirement of the Spanish fiscal framework and of the future Veri*Factu integration.

Hardware

The POS is designed to work in software-only mode — it can be used entirely from a touch screen with no peripherals connected. Physical hardware integration extends the experience but is not a prerequisite.

🖨️

Receipt printer

Compatible with the standard ESC/POS protocol. Prints the receipt when a sale is confirmed and the Z report when the session is closed. The receipt design (header and footer) is configured by the OWNER.

💰

Cash drawer

Usually connected to the receipt printer. Receives the open signal automatically on cash or split payments, and can also be opened manually by a MANAGER.

📷

Barcode scanner

Works as a standard keyboard (keyboard-wedge mode): the scanned barcode is entered directly into the POS search field. No special configuration is needed.

💳

Card terminal (datáfono)

Today the amount is entered manually on the card terminal after selecting "Card" in the POS. Automatic integration between the POS and the card terminal is a planned feature for future phases.

ℹ️
Current hardware status

The ESC/POS receipt printer, cash drawer and barcode scanner are functional today. Automatic integration with the card terminal (which would eliminate the need to enter the amount twice) is specified and pending implementation.

Multi-location

A merchant can operate several branches or locations under the same account. Each location has its own catalogue (or shares the parent catalogue), its own terminals and its own shift sessions. Reports can be viewed per location or consolidated across the whole business.

Branch management is carried out by the OWNER from the merchant profile. A MANAGER can have access to one or more locations depending on what the OWNER has configured. This structure is especially useful for restaurant chains, markets with several stalls or businesses with a main premises and a separate terrace.

Need more information?

For the cashier's perspective (opening a session, step-by-step sales, closing), see the cashier chapter. For the fiscal obligations linked to the POS (Veri*Factu, invoice numbering, GDPR), read the legal compliance chapter.