View as Markdown

Framework contract tracking: prices, quantities and budget

Every invoice is checked against the right framework contract, line by line. Approved invoices count towards the agreed quantities, orders above the contracted quantity go to approval, and for each site you see budget against actual.

A framework contract only protects your margin if every invoice keeps to the agreed prices and someone keeps track of how much of the agreed quantities has already been called off. In practice the contract sits as a PDF in a folder, the invoices arrive one by one, and whether the quantity is still enough only becomes clear once it has been exceeded.

Streckenheld connects the contract with every invoice and every order that belongs to it. The contract becomes a product catalog with prices, units and agreed quantities (how that works is in the AI procurement and contract compliance guide). From then on, every invoice is checked against it, every approved invoice counts towards the agreed quantities, and for each site you see how costs are developing against the budget.

Key features

  • Automatic contract matching by supplier, site and term, including several contracts per supplier
  • Price and unit check per line against the contract line, matched by EAN, article number or description
  • Products not in contract flagged separately from price deviations
  • Payment terms and early-payment discount checked against the contract's terms
  • Link contracts by hand, from the invoice or from the contract, with an immediate re-check
  • Called off against agreed quantity per contract product, with a call-off history and a link to every invoice
  • Orders above the contracted quantity go to approval instead of straight to the supplier
  • Budget vs actual per site: planned cost, invoiced and ordered, by trade and product category

Prices and products against the contract

As soon as an invoice has been read, Streckenheld looks for the contracts that fit: the same supplier, the invoice's site or a contract for all sites, and an invoice date up to the end of the term. When several fit, the invoice is checked against all of them, the site-specific one first.

Every invoice line is matched to the contract line by EAN, article number or description. Both article numbers count: the supplier's and your own, when the supplier prints it as 'your article'. The price per unit and the unit are compared. The result is shown on the invoice, with both position numbers:

  • Price deviations: the invoice line, the contract line and both prices.
  • Products not in contract: lines for which the contract holds no product. They are not counted as price errors but listed on their own.
  • Payment terms: the payment period and early-payment discount against the contract's terms.

The same check runs on order confirmations, so a wrong price shows up before the delivery. 'Send message' opens an email to the supplier that is already filled in: with the deviations from the agreed framework prices, the products no contract covers, and payment terms that do not comply.

Linking contracts and invoices

Not every invoice can be matched automatically: the supplier bills through a sister company, the site is not on the document, or the contract was extended but not uploaded again yet. For these cases you link contract and invoice by hand, in both directions:

  • From the invoice: in the invoice's menu, 'Link contract…' opens the contracts, with the suggestions for this invoice (same supplier, fitting site and term) at the top and all other contracts below.
  • From the contract: the 'Linked invoices' section on the contract page lists the linked invoices and suggests more, optionally also from other suppliers, sites or dates.

Linked contracts replace the automatic choice, and prices and payment terms are checked again right away. On the invoice you can see which contracts it was checked against: automatically chosen ones dashed, linked ones solid. Every change is logged with the person and the time. Remove every link and Streckenheld chooses the contract automatically again.

Keeping track of quantities

Many framework contracts set a quantity as well as a price: so many tonnes of concrete, so many metres of pipe for the project. Streckenheld reads these quantities from the contract and keeps track, per product, of how much has already been called off:

  • Approved invoices count: when an invoice checked against the contract is approved, the quantity of each matched line is added to the contract product, converted into the contract's unit.
  • Call-off history per product: the contract's product table shows 'called off / agreed'. Expand a product to see every invoice that contributed to it: invoice number, line, quantity, approval date and who approved it. One click opens the invoice with its related documents.
  • Corrections balance out: if an approved invoice is moved back to the inbox, its quantity is subtracted again.
  • Orders above the contracted quantity: when you order a product from the catalog and the order, together with what has already been called off, would exceed the agreed quantity, it goes to approval instead of straight to the supplier. If you buy a product from two suppliers, each quantity counts against that supplier's contract.

Budget vs actual per site

For every running site, 'Budget vs actual' under Analytics puts three figures side by side:

  • Planned: the cost from the calculation behind your bid, across all of the site's bills of quantities.
  • Invoiced: the suppliers' invoices minus credit notes, net. The share not yet approved is shown separately.
  • Ordered: orders and order confirmations that no invoice covers yet.

Next to them is the revenue from your offer to the client, so you see the expected margin before the final invoice arrives. The breakdown is by trade and product category, the same classes the AI assigns to every line in the bill of quantities and on every invoice. So you see not only that a site is over budget, but where. The site page shows the same as a compact bar. More on reporting in the analytics guide.

Specifications at the award stage

Whether the right product gets delivered is decided before the contract. In the price matrix, the AI compares, for every line, the requirements of the request, such as 'max. 95 mm' or a strength class, with the value each supplier offers, and rates each one OK, Not OK or Not stated. The accepted offer becomes the contract, and from then on its products, prices and quantities apply to every invoice.

How it works

  1. Upload the contract or take over an accepted offer. The AI reads products, prices, units, quantities and payment terms; you review them and import them into the catalog.
  2. Invoices arrive by email, WhatsApp, upload or supplier integration and are matched to the right contract and checked automatically.
  3. Clear up deviations: price deviations and products not in contract are shown on the invoice; the email to the supplier is already prepared.
  4. Approve: on approval, the quantities count towards the contract.
  5. Steer: the call-offs per product are on the contract page, budget vs actual per site under Analytics.

Who it's for

For construction companies that agree framework contracts or project prices with their suppliers and want every invoice to keep to them, for buyers who need to know how much of an agreed quantity is still open, and for site and company management who want to see, per site, how costs are developing against the calculation.

Frequently asked questions

How does Streckenheld know which contract to check an invoice against?

Automatically, from three things: the same supplier, the same site or a contract for all sites, and an invoice date within the contract's term. When several contracts fit, for example one per product group or a site-specific one next to a general one, the invoice is checked against all of them, the site-specific one first. Where that is not enough, you link the contract by hand.

What happens to lines the contract does not cover at all?

They are flagged separately from price deviations as 'Products not in contract'. So you can tell whether a supplier is charging the wrong prices or whether something was bought that the contract does not cover.

When does a quantity count as called off?

When an invoice checked against the contract is approved, and when an order from the catalog is approved. The quantity is converted into the contract's unit. If an approved invoice is moved back to the inbox, its quantity is subtracted again.

Are product specifications checked too?

Yes, already at the award stage: in the price matrix, the AI compares the requirements of every requested line, such as dimensions, output or strength class, with what each supplier offers and rates each one OK, Not OK or Not stated. The accepted offer becomes the contract that later invoices are checked against.

Read next

Material spend under control, from the first site

In 30 minutes we show you, on your own documents, what Streckenheld automates.