Product - Purchase audit

A price rise shows on delivery day, not in the report

Every invoice line is converted to a price per kilogram, litre or unit and checked against your history with that supplier. Past the threshold, the signal arrives before posting - with the line and the effect in euros.

How it works
Checks price against your historyVerifies units and packsCatches duplicates and discountsSignals before posting
Purchasing signalseffect 1 284 € / mo
Datterino tomatoes, yellow
Needs attention
+62%
≈ 100 €
Grill 70+ potatoes
Needs attention
+79%
≈ 790 €
Invoice posted twice
Awaiting decision
duplicate
421 €
Butter: kg instead of g
Awaiting decision
×1 000
check
Eggs, 10 pcs
Normal
-56%
in your favour
Datterino tomatoes - +61.8% against the median
5.46 € instead of 3.37 € - ≈ 100 € / mo
Assign

Margin is taken by the invoices nobody opened

Ten typical leaks we spent ten years finding by hand.

A supplier raised a price by 8% - you notice a month later, in the cost reportprice
Prices are checked selectively, whenever a free evening turns upprocess
The contract discount is simply missing from the invoice, with nothing to check it againstdiscounts
A case goes into the books as a kilogram - and the dish cost drops on paperunits
One invoice is posted twice, and stock is higher than what is on the shelfduplicate
A digit is lost in the quantity: a line for 40 kg becomes 4digit
Cleaning supplies and off-recipe items quietly settle into the food costmix
The same product costs different money at two supplierscomparison
The talk with the supplier runs without numbers: «it feels like you raised the price»argument
By the time the gap is found, the document is in the books and the month is closedtiming

Four checks in every invoice

The norm is built from your history - not from the market and not from other restaurants.

Price against history

A quiet rise at one specific supplier on one specific product.

The line is converted to €/kg, €/l, €/pc
Compared with the latest deliveries from this supplier
The threshold is configurable - by default the product's typical step
The signal arrives on the day of the document, before posting

Units and packs

The place where money is lost most often and nobody notices.

Case, box, multiplier - brought to your own unit
The quantity × price = total invariant
Every supplier has its own unit - that is accounted for
A line that does not add up is not posted silently

Discounts and duplicates

The agreement is verified, and a repeat never reaches your stock.

The discount is checked against the price list
Its application across all lines is verified
A repeat invoice is visible on the day it arrives
Cleaning supplies show as a share of the invoice

The talk with the supplier

A claim with numbers instead of «it feels like you raised the price».

Price history for every product and supplier
What changed and from which delivery
A comparison of suppliers on the same product
Gaps export cleanly into an email

Not «the price went up», but a fact with an amount and an owner

01

The norm is yours, not the market's

The comparison runs against the last deliveries from this supplier for this product. Not an industry average and not other restaurants.

02

The financial effect is calculated

The deviation is multiplied by your monthly purchase volume. You see the amount worth defending, not a percentage.

03

Your reaction is remembered

Confirm the new price and it becomes the norm. Dismiss it and the system stops signalling that case.

Signal no. 26090891Needs attention
Datterino tomatoes, yellow
Supplier - invoice of 08.09
Price now
5.46 €
90-day median
3.37 €
Deviation
+61.8%
Price per kg, 6 monthsdashed - median 3.37 €
AprMayJunJulAugSep
Effect at a volume of 48 kg / mo
≈ 100 € / mo
AssignAccept

The interface language: statuses, badges, alerts

The same elements work on the site and in the app. Colour means a state, not the importance of a section.

Needs attention

Money is leaving now: a price rise, a margin loss.

Price +18.6% - 1 240 € / mo
Awaiting decision

The document goes no further: a duplicate, a multiplier error.

Invoice no. 45721 - duplicate
On the edge

Within tolerance, but the trend is bad.

Food cost 30.1% against a 28% target
Normal

Checked, no deviations.

Bar write-offs +2.1%
Alerts
Price rise at a supplier
Salmon fillet - the fifth delivery in a row above the norm
Open
A document awaits a decision
Invoice no. 45721 posted twice
Review
The month is ready to close
No blockers, 310 of 310 invoices processed
Close
Badges and labels
BetaAIEmailPEPPOLmatched 5/5not exportedseasonalstep changelittle dataoperator
Counters and progress
Documents matched77%
Readiness to close60%
Protected from the risk found42%

Every signal in euros. Every month one number

We measured 24 500 price changes: in 64% of cases the price repeated to the cent. So the norm is «the price did not change».

Price deviations found
212
over 30 days across 1 284 documents
Margin at risk
7 400 €
38 signals with an estimate
Margin protected
3 100 €
by the team's decisions
Hours of manual checking
71 h
taken out of the work per month

Demo data from one restaurant over the first month.

Your prices stay yours

Price history stays with your company

The norm is built from your deliveries. Your prices and agreements never join a market pool and are not visible to other restaurants.

Processed in the EU

Documents and data do not leave the European perimeter; subprocessors and retention periods are published.

A signal is not an action

The system shows the gap and suggests what to do, but it does not cancel a delivery or write to your supplier for you.

What it works with

SyrvePrice listsSupplier emailPEPPOLTelegramJumis - in progress1C - in progressLV, DE, EN, RU

No need to change suppliers or contracts

We read the same documents that reach you today. A price list or a discount agreement only has to be uploaded once.

What people ask about price control

Konstantin Talikov, CEO, RestoAudit.ai
updated September 18, 2026SIA «IT Hospitality»

Your data is already in Syrve.

Let someone actually watch them - the way we did it by hand for 10 years. 30 days on your own numbers.