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
Get your credentials
→ Request your integration user, password, and connection parameters from our team.Enable integrations
Go to:
Settings → Integrations → Enable “Generic POS Integration”
and (if needed)Enable SFTP Integration
.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:
Build your menu in tSpoonLab (dishes, drinks, etc.).
In each item, fill in the Sales Code (PLU) that matches your POS article code.
For modifiers or combos, define a
parent_article_code
and its related items.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 |
| Sale date ( |
| Sale time ( |
| POS article / PLU |
| Product description |
| Quantity sold |
| Unit price (excl. VAT) |
| Line total (excl. VAT) |
| Discount amount |
| VAT rate (%) |
| 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:
Test one full day of data.
Review in tSpoonLab:
✅ Total sales vs POS
✅ VAT breakdown
⚠️ Missing/mismatched PLUs
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 |
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 modifiersPrefer 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