F&B Production and Distribution tracker
Food and beverage tracking
How do I use this software?
This software runs wherever suits you — you just need somewhere to host it. Pick the option that fits your team:
| Option | What it means |
|---|---|
| Self-hosting | Set up the environment and run it yourself, on your own infrastructure. |
| Tooltwist hosting | Tooltwist can host and run it for you. |
| Other providers | Find a host in the provider directory — or, if you already have a support company, we're happy to give them the tools to deploy the application for you. |
Licensing
This variant is open source — you're free to use it and modify it at no cost. Hosting and support arrangements are provided separately and are not covered by this licence.
Who can help me?
Plenty of people can help you get the most from this software — browse the provider directory. Some providers can host it for you, others can customise it to your needs, and others again offer technical support and a helpdesk.
Tooltwist can customise, host, or provide support for this software, but feel free to choose a more suitable provider for your location, language or industry from the provider directory.
Already have a support provider? We're happy to give them the tools to fully support the platform.
Not sure who to ask? Feel free to .
How can I help?
If you would like to help develop or test this project, go to the Collaborators tab (after you log in) and request to join. Your help will be appreciated!
Stage
Collaborators
philcal (project owner)
Read me first: the F&B Tracker
If you are meeting the F&B Tracker for the first time, start here. This page explains, in plain words, who it is for, what it does, the world it works in, and how a business gets from "nothing set up" to using it every day. The other documents go into more detail; a map of them is near the end.
1. Who this is for
The F&B Tracker is for small and medium food businesses that make, store and sell food:
- artisan producers, such as a charcuterie maker, a smokehouse or a ready-meal kitchen;
- food sellers and distributors who buy goods in and sell them on;
- businesses with more than one site, for example a production kitchen in one place and a warehouse in another.
Inside such a business, it is used by:
- owners, who want to know at a glance what they have and what needs attention;
- supervisors and quality leads, who run a site, approve corrections and handle recalls;
- kitchen and warehouse staff, who record what happens on a phone as they work;
- order administrators, who take customer orders and see what is still owed.
It suits a business that runs on paper, whiteboards and spreadsheets today and wants a record it can trust, without paying for a large food ERP system.
2. What it does
The F&B Tracker keeps an exact, permanent record of the business's stock. Every delivery, production run, transfer between sites, customer dispatch, return and piece of waste is recorded, with who did it and when. From that record it can tell you, at any moment:
- what you have, where it is, how much of it there is, and how many days it has left;
- what you made, what went into it, and whether you got as much out as the recipe expects;
- where things went, so any batch can be traced back to its supplier and forward to every customer who received it;
- what needs attention today: things expiring, deliveries running late, entries that disagree.
Staff record things on a phone, even where there is no internet signal. The phone keeps the entries and sends them to the office when the signal comes back.
Nothing is ever quietly changed or deleted. A mistake is fixed by a correction that a supervisor approves, and the original stays visible beside it.
3. The domain: making and moving food
Food businesses deal with problems that general stock software handles badly:
- Food expires. Every batch (called a lot) has a use-by date. Old stock must be used or sold first, and expired or doubtful stock must never reach a customer.
- Things are sold by actual weight. A "1 kg" pack of cured meat might weigh 0.96 kg or 1.04 kg. Each pack's real weight matters for pricing and labelling.
- Making food changes its weight. Meat loses water when it is cured, trimmings are cut away, and some by-products, such as rendered fat, are reused. The difference between what goes in and what comes out is called the yield, and it tells an owner whether the kitchen is working as it should.
- Recalls must be fast. If a supplier warns that an ingredient is unsafe, the business must find every product made with it, every customer who received it, and every pack still on the shelf, quickly. Food-safety rules and buyers expect it.
- Sites are not always connected. A production kitchen in a rural area may have a weak or no internet connection for hours at a time.
The tracker was shaped around a real artisan charcuterie business in the Philippines with two sites: a production kitchen with unreliable internet, and a distribution warehouse in the city. Its defaults (Philippine pesos, Manila time, English and Filipino) come from there, and all of them can be changed.
4. Where it fits
Customers of the business are restaurants, hotels, delis, wholesale buyers and shoppers. The tracker records their orders and what was delivered to them, and prints a Delivery Receipt for each dispatch.
Suppliers are farms, importers and producers of ingredients. The tracker records what each one delivered, including their own batch codes.
Other systems the business already uses:
- The invoicing system. The tracker does not issue tax invoices or official receipts, and it does not calculate tax. When an order is dispatched, it prepares an invoice package (the customer, the items, the actual weights and prices) that the business's invoicing system collects, or that the tracker sends to it, and the invoicing system issues the invoice.
- Accounting. The tracker is not an accounting system. Its reports download as spreadsheets for the accountant.
- Buyers and regulators. Traceability records can be exported in GS1 EPCIS 2.0, a standard format that buyers and food-safety authorities can read.
- Online shops. There is no direct connection to an online shop yet. Orders from any channel are entered as orders.
The tracker runs on the WBSP platform, which provides the database, its backups, the web address and the sign-in. People sign in with the platform's single sign-on, so the tracker never sees their passwords.
5. First run
Just looking? Open the demonstration from the tracker's page on wbsp.ai. It is a copy filled with a made-up business (two sites, about twenty items, two months of activity). You arrive already signed in with your wbsp.ai account, so you can explore straight away. Try the dashboard, then trace the sea-salt lot SS-2609. The copy lasts for a limited time and is then removed with everything typed into it.
Setting up for real? A new installation opens to an empty, working dashboard. The very first thing to do is for the owner to sign in and open Settings (the business settings): the business name and tax number, the time zone, and how many days' warning to give before things expire. Everything else builds on that.
6. Setting up
Set things up in this order, because each step uses the one before it. A small business can usually do it in a week.
- Business settings (owner, about 10 minutes): name, tax number, time zone, the expiry warning, the usual travel time between sites, and whether Delivery Receipts show prices.
- Sites and places (owner, about 30 minutes): each site, then the places inside it, such as chillers, freezers, the dry store and curing rooms, plus a hold area for doubtful stock and a returns area. Each place is marked chilled, frozen or room temperature.
- Items (owner, an hour or two): every ingredient, product and packaging item, with its unit, how it is stored, its shelf life, and, for products sold by weight, the expected weight range of a pack.
- Suppliers, customers and prices (owner or order administrator): who you buy from and sell to, each customer's VAT treatment, and price lists. A product can be priced per pack, by weight band, or per kilogram. Prices exclude VAT.
- Recipes (owner or supervisor): for each product you make, what goes in and what is expected to come out, including reusable by-products.
- People (owner): each person signs in once, then the owner gives them a role at each site.
- Phones (each member of staff, about 2 minutes): open the tracker on the phone, add it to the home screen, choose the site, name the phone and choose a PIN. Several people can share one phone, each with their own PIN.
- Opening stock, the "Ground Zero" count (a supervisor and the floor team, about half a day per site): count every lot, place by place, with its weight, expiry and condition. If something is not known, such as a missing expiry date, record it as unknown; the tracker marks it with a "?" and never invents it. A supervisor reviews the count before it becomes the starting stock.
- Connect invoicing (when ready): the business's invoicing system is pointed at the tracker's invoice packages. The integration guide explains how.
- Optional AI help: the tracker can read a photographed supplier delivery receipt or a handwritten count sheet and draft the entry for someone to check, and can explain a yield in plain words. It stays off until whoever runs the installation provides an AI service key and an owner sets a monthly budget.
7. Day to day
On the floor, on the phone:
- Receive each delivery as it arrives: supplier, item, lot code, how many and how many kilos were accepted, and where it was put. Anything rejected is recorded with a reason.
- Produce: start a run with its recipe, record which lots and weights went in, what came out, and any trim, samples or reused by-products. Finishing the run shows the yield against the recipe.
- Weigh packs for products sold by weight. A pack must be weighed before it can be sent.
- Transfer stock to the other site, and count it in on arrival. Anything missing or damaged is recorded, not ignored.
- Dispatch customer orders. The tracker suggests the lot that expires first, and a Delivery Receipt is ready to print or show.
- Hold doubtful stock so it cannot be used or sent, and record Waste with a reason.
- Count stock when asked.
The coloured band at the top of the phone shows whether the office has everything: green means "in step", dark means entries are waiting for signal, red means the office refused an entry and says why.
In the office:
- Start the day with the dashboard and the action inbox: things expiring, late transfers, conflicts, corrections and counts to review, returns to check, and production runs that have gone on too long.
- Clear conflicts the same day. A conflict happens when two phones, both offline, used the same last kilos. Both entries are kept, and a supervisor decides which stands.
- Approve corrections. When someone made a mistake, they ask for a correction; a supervisor approves it, and the fix appears beside the original.
- Take and manage orders. Each order line shows what was ordered, dispatched, reserved and still owed. Anything not sent stays visible as a backorder until it is sent or cancelled.
- Trace any lot, and start a recall or a practice mock recall from it with one click.
8. Ongoing care
- Every day: check the action inbox, clear conflicts and corrections, and keep an eye on each phone's sync band.
- Every month: close the month for each site once its conflicts are resolved. A closed month's figures stop changing; a late entry dated inside it is kept but flagged. Download the reports you need for the accountant.
- Regularly: run a mock recall to practise. The tracker times it against a four-hour target.
- Count stock periodically (a cycle count) to check the record against the shelves.
- Backups: the platform backs up the database. Whoever looks after the installation should run a restore drill before going live and then monthly, which proves a backup can really be put back and adds up.
- A complete copy: an owner can download all of the business's data at any time from Exports → All data.
- Self-check: the tracker regularly re-adds every entry to confirm that every stock balance is right.
Words you will meet
| Word | Meaning |
|---|---|
| Lot | A batch of one item that arrived or was made together, with its own code and use-by date. |
| Pack | One physical package from a lot, with its own actual weight. |
| Catch-weight | Selling by each pack's actual weight rather than a fixed size. |
| Yield | How much finished product a run produced compared with what went in. |
| By-product | Something useful left over from production, such as rendered fat, that is kept and used. |
| FEFO | "First expired, first out": use or sell the lot that expires soonest first. |
| Hold | Stock that may not be used or sold until someone releases it. |
| Ground Zero | The opening stock count that starts the record at a site. |
| Transfer | Stock moving between your own sites. While on the road it belongs to neither site. |
| Backorder | Part of an order that could not be sent yet and is still owed. |
| Conflict | Two entries, made offline at the same time, that cannot both be true. A supervisor decides. |
| Correction | The approved fix for a mistaken entry. The original stays visible. |
| Trace | Following a lot back to its supplier and forward to every product and customer it reached. |
| Mock recall | A practice recall, timed, to prove the business could act quickly in a real one. |
| Day-dot | The round marker on each lot showing how many days it has left: green fine, yellow soon, red expired. |
| Invoice package | The details of a dispatch, handed to the invoicing system so it can issue the invoice. |
| Period close | Locking a month so its figures stop changing. |
Who can do what
| Role | Can |
|---|---|
| Owner | Everything, at every site: set-up, settings, full exports and closing months. |
| Supervisor | Run a site: approve corrections, resolve conflicts, review counts and returns, close a month. |
| Operator | Record entries on the phone at their own site. |
| Order administrator | Take and manage customer orders. |
| Viewer | Look at reports. |
Anyone signing in for the first time comes in as a viewer, and an owner gives them more. Someone the platform marks as an administrator becomes an owner automatically. Anyone who opens a screen their role does not allow sees a page saying so and who to ask.
Sample data, and starting fresh
The demonstration and the preview copy you can run on your own computer both come with the same made-up business: a production site in Mindoro and a distribution site in Manila, about twenty items (duck, beef short rib, pork for prosciutto, salt, herbs and more), suppliers, retail and wholesale customers, recipes, and about sixty days of deliveries, production runs, transfers, orders, returns and counts, plus a practice recall and a closed month.
- In the demonstration, everything you type disappears when the copy ends.
- The preview copy on your own computer starts fresh every time it is started, unless whoever set it up chose to keep its data between runs.
- A real installation never contains the sample data. It starts empty and is filled by your own set-up and Ground Zero count. If a real installation was used for training and must start over, whoever runs it can wipe it back to empty; that deletes everything, so a backup comes first.
Common questions and gotchas
- Can I edit an entry I got wrong? No, and nor can anyone else. Ask for a correction; a supervisor approves it.
- The phone says entries are waiting. That is normal without signal. They are safe on the phone and go automatically when the signal returns. Tap the round button on the band to send them now.
- The phone asks "Who is working?" again. Closing the app locks it. Pick your name and type your PIN.
- I can't find a pack to dispatch. Packs sold by weight must be weighed first, and held, expired or returned stock is never offered.
- Does it print invoices? No. It prints Delivery Receipts. Invoices come from your invoicing system.
- Does it print labels or scan barcodes? Not yet. That is planned.
- Can one installation hold several businesses? No. Each installation is one business, with as many sites as it needs.
- Fixing the details of an entry. A correction for "the details were wrong" currently asks for the replacement entry in a technical form. It works, but is not yet friendly, so a supervisor comfortable with it should handle those.
The other documents
| Document | What it is for |
|---|---|
| getting-started.md | A fuller introduction, and the ways to try the tracker |
| useful-commands.md | Commands for developers and whoever runs the installation |
| production-setup.md | Preparing a real installation, and wiping one back to empty |
| testing.md | What has been tested and why that gives confidence |
| api-reference.md and openapi.yaml | For developers connecting other systems |
| The quick guide | The everyday jobs, for staff and owners |
| The detailed guide | Every screen and rule, for supervisors, owners and trainers |
| The installation guide | Trying it, hosting it, and the first week of set-up |
| The integration guide | Connecting an invoicing system, exports and the API |
| The go-to-market materials | Website, sales and marketing pieces, white papers |
| The walkthrough | Screenshots of the main screens, with a narration script |
Where to get help
The F&B Tracker was built entirely by AI as part of the WBSP community. It is the core of the product, ready to be adapted and branded for a particular business. For help, to suggest an improvement, or to find people who can adapt it for you, visit the community at wbsp.ai. While you are there, look around: community members have built other versions of this and many other applications.
Configuration
What this application asks for when somebody installs it. These are the questions, not anyone's answers — no values are held or shown here.
People sign in to this application. The hosting platform registers the sign-in for you when you install it, so there is nothing to set up yourself.
You will be asked for 5 things
- Anthropic API key for photo drafts and yield explanations (leave empty to keep AI off)
AI_API_KEY - Local sign-in bypass for unattended testing: 1 only on a dev/compose/standalone placement with a loopback APP_URL; refused anywhere else
DEV_LOGIN_BYPASS - Key the invoice engine sends when acknowledging packages (leave empty to use sign-in only)
INVOICE_HANDOFF_KEY - Signing secret for pushing invoice packages to the engine (leave empty for pull only)
INVOICE_WEBHOOK_SECRET - Address the invoice packages are pushed to (leave empty for pull only; the push needs this and the signing secret)
INVOICE_WEBHOOK_URL
Supplied automatically — no typing needed
The hosting platform provides these when the application is installed, either by generating them or because it already knows them.
- APP_URL
- AUTH_CLIENT_ID
- AUTH_CLIENT_SECRET
- AUTH_ISSUER
- AUTH_SECRET
- ENCRYPTION_KEY













