Skip to main content

POS Integration (Sales → tSpoonLab)

Learn how to connect your POS system to tSpoonLab to automatically import sales.

Gustavo Vera avatar
Written by Gustavo Vera
Updated today

Why integrate your POS with tSpoonLab?

Integrating your POS allows you to link sales with recipes and stock movements — improving control and reducing losses.

Benefits:

  • Real-time theoretical stock updates (sales deduct, purchases add).

  • Calculation of theoretical food cost per period.

  • Comparison between theoretical and accounting food cost to identify deviations.

  • Unified menu and sales data across multiple locations.


Supported integration methods

You can connect your POS in different ways depending on your setup:

1. CSV/TSV via SFTP (most common)

• The POS exports a CSV after each shift or periodically. • tSpoonLab fetches it automatically. • Simple, reliable, and compatible with most systems.

2. POS API integration

• tSpoonLab connects directly to your POS API or receives webhooks. • Requires credentials or access tokens.

3. Middleware or Data Warehouse

• If your group consolidates sales in a central system, tSpoonLab connects there.

💡 Recommendation: CSV over SFTP offers the best balance of stability, traceability, and flexibility.


Requirements in tSpoonLab

  1. Get your credentials
    → Request your integration user, password, and connection parameters from our team.

  2. Enable integrations
    Go to:
    Settings → Integrations → Enable “Generic POS Integration”
    and (if needed) Enable SFTP Integration.

  3. Set up a “Sales Client”

    • Create or edit a client representing your POS channel (e.g. Restaurant Room, Bar, Delivery).

    • Enter your integration parameters.

    • Define the transfer time or import frequency.


Product mapping (PLU ↔ tSpoonLab)

To match POS sales items with your tSpoonLab products:

  1. Build your menu in tSpoonLab (dishes, drinks, etc.).

  2. In each item, fill in the Sales Code (PLU) that matches your POS article code.

  3. For modifiers or combos, define a parent_article_code and its related items.

  4. Confirm that all products have recipes (so tSpoonLab can calculate ingredient consumption).

🧩 Tip: Keep one PLU dictionary per channel if menus differ (restaurant, delivery, kiosk...).


Recommended CSV format

Field

Description

date

Sale date (DD/MM/YYYY)

time

Sale time (HH:MM:SS)

article_code

POS article / PLU

article_descr

Product description

quantity

Quantity sold

unit_price_excl_vat

Unit price (excl. VAT)

amount_excl_vat

Line total (excl. VAT)

discount_excl_vat

Discount amount

vat_percent

VAT rate (%)

parent_article_code

Parent article (for combos/modifiers, optional)

Formatting rules

• Separator: ; • No quotation marks ("") • First row = header • Filenames must be unique (include date/time)

Scheduling and frequency

Type

Description

End-of-day

One CSV per shift/closing.

Real-time

Frequent CSV/API transfers every X minutes.

Set the import time in the “Sales Client” configuration.


Validation checklist

Before enabling automatic import:

  1. Test one full day of data.

  2. Review in tSpoonLab:

    • ✅ Total sales vs POS

    • ✅ VAT breakdown

    • ⚠️ Missing/mismatched PLUs

  3. Fix and retry until results align.


Common errors

Problem

Solution

Product not mapped

Add or correct PLU in tSpoonLab

Wrong VAT rate

Update VAT mapping in POS

Missing modifiers

Add parent_article_code

Duplicate files

Use unique filenames (tSpoonLab deduplicates)

Discount not per line

Add separate discount line in CSV


Best practices

  • Keep POS and tSpoonLab menus synchronized.

  • Document PLU updates with each menu change.

  • Schedule a daily report comparing:

    • Sales total

    • VAT by type

    • Theoretical vs real food cost


Add-on examples

Revo (Quick Reference)

  • Compatible via SFTP CSV or Revo API

  • Same CSV fields as above

  • Use parent_article_code for modifiers

  • Prefer line-level discounts

  • Sync PLUs whenever your menu changes

(You can replicate this structure for Lightspeed, Square, SumUp, etc.)


Need help?

Contact our team:
📧 [email protected]
We’ll assist you with:

  • Setup and credentials

  • Initial PLU mapping

  • Test imports and reconciliation

Did this answer your question?