← Exception queue

JOB-0085Teräs Metalli Oy

Customer CUS-005 · Completed · opened 09.02.2026 at 12:42 · completed 25.03.2026 at 12:42

Work centres: CNC-1, CNC-2, WELD-1

7 444,98 €
36,41 %
In order

No blocking findings: the margin is reportable.

Quote basis and actual

ItemQuote basisActual
Revenue (allocated)21 393,10 €20 445,38 €
Material8 042,06 €7 865,97 €
Labour92,70 h × 61,60 €/h4 568,27 €
Subcontract0,00 €0,00 €
Other variable costs566,16 €566,16 €
Margin7 444,98 €

The estimated margin is not a stored figure: the quote basis stores the items, and the bridge sets out the difference between estimated and actual line by line.

Snapshot computed 21.09.2026 at 14:48 · definition job-margin/2026-09-20.1 · inputs 4d67ad5a55a6

The margin bridge

The bridge explains the arithmetic difference: each line says how much of the gap between the estimated and the actual margin that driver accounts for. It does not establish a cause. Why a price or an hours figure moved is a different question, and this view does not answer it.

  • 1Revenue differencerevenue_varianceCausal−947,72 €
    Evidence (8 rows · Causal reference: 8)
    Causal referenceThe rows that produced the amount

    These rows produced the amount: every figure is computed from these rows.

    TableSourceRowVersionTime (UTC)MappingQualityField
    Invoice line invoice_lineinvoicingIL-000517128.08.2026 at 22:45synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000518130.07.2026 at 23:03synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000519104.07.2026 at 21:59synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000520102.06.2026 at 23:51synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000521113.08.2026 at 05:36synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000522126.04.2026 at 22:42synthetic/v1In order
    Credit line credit_lineinvoicingCR-00069110.08.2026 at 08:07synthetic/v1In order
    Credit line credit_lineinvoicingCR-00070122.08.2026 at 14:58synthetic/v1In order
  • 2Material quantity differencematerial_quantity_varianceCausal+63,05 €
    Evidence (5 rows · Causal reference: 5)
    Causal referenceThe rows that produced the amount

    These rows produced the amount: every figure is computed from these rows.

    TableSourceRowVersionTime (UTC)MappingQualityField
    Material consumption material_consumptionerpMC-000676116.03.2026 at 20:50synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000677115.02.2026 at 21:19synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000678114.02.2026 at 19:51synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000679109.03.2026 at 09:59synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000680112.03.2026 at 04:41synthetic/v1In orderqty
  • 3Material price differencematerial_price_varianceCausal+113,00 €
    Evidence (5 rows · Causal reference: 5)
    Causal referenceThe rows that produced the amount

    These rows produced the amount: every figure is computed from these rows.

    TableSourceRowVersionTime (UTC)MappingQualityField
    Material consumption material_consumptionerpMC-000676116.03.2026 at 20:50synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000677115.02.2026 at 21:19synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000678114.02.2026 at 19:51synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000679109.03.2026 at 09:59synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000680112.03.2026 at 04:41synthetic/v1In orderunitCost
  • 4Labour hours differencelabour_hours_varianceCausal+1 142,06 €
    Evidence (18 rows · Causal reference: 18)
    Causal referenceThe rows that produced the amount

    These rows produced the amount: every figure is computed from these rows.

    TableSourceRowVersionTime (UTC)MappingQualityField
    Time entry time_entrytimeclockTE-001263119.02.2026 at 20:08synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001264108.03.2026 at 16:57synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001265127.02.2026 at 05:36synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001266106.03.2026 at 02:30synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001267124.02.2026 at 02:58synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001268104.03.2026 at 06:54synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001269110.03.2026 at 15:07synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001270124.02.2026 at 23:04synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001271117.02.2026 at 16:39synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001272112.02.2026 at 08:03synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001273116.03.2026 at 13:46synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001274112.02.2026 at 01:34synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001275128.02.2026 at 21:15synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001276118.02.2026 at 23:21synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001277109.03.2026 at 11:57synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001278122.03.2026 at 22:34synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001279101.03.2026 at 22:43synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-001280121.03.2026 at 20:27synthetic/v1In orderhours
  • 5Labour rate differencelabour_rate_varianceCausal−0,01 €
    Evidence (18 rows · Causal reference: 18)
    Causal referenceThe rows that produced the amount

    These rows produced the amount: every figure is computed from these rows.

    TableSourceRowVersionTime (UTC)MappingQualityField
    Time entry time_entrytimeclockTE-001263119.02.2026 at 20:08synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001264108.03.2026 at 16:57synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001265127.02.2026 at 05:36synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001266106.03.2026 at 02:30synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001267124.02.2026 at 02:58synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001268104.03.2026 at 06:54synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001269110.03.2026 at 15:07synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001270124.02.2026 at 23:04synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001271117.02.2026 at 16:39synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001272112.02.2026 at 08:03synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001273116.03.2026 at 13:46synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001274112.02.2026 at 01:34synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001275128.02.2026 at 21:15synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001276118.02.2026 at 23:21synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001277109.03.2026 at 11:57synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001278122.03.2026 at 22:34synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001279101.03.2026 at 22:43synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-001280121.03.2026 at 20:27synthetic/v1In orderrate
  • 6Subcontract differencesubcontract_varianceNo claim0,00 €

    No claim A zero line points at no source rows: it claims nothing, so no evidence is to be expected.

  • 7Rework differencerework_varianceNo claim0,00 €

    No claim A zero line points at no source rows: it claims nothing, so no evidence is to be expected.

  • 8Other variable cost differenceother_variable_varianceNo claim0,00 €

    No claim A zero line points at no source rows: it claims nothing, so no evidence is to be expected.

  • 9Unexplained differenceresidual_unexplainedCausal+0,04 €
    Evidence (24 rows · Causal reference: 24)
    Causal referenceThe rows that produced the amount

    These rows produced the amount: every figure is computed from these rows.

    TableSourceRowVersionTime (UTC)MappingQualityField
    Material consumption material_consumptionerpMC-000676116.03.2026 at 20:50synthetic/v1In order
    Material consumption material_consumptionerpMC-000677115.02.2026 at 21:19synthetic/v1In order
    Material consumption material_consumptionerpMC-000678114.02.2026 at 19:51synthetic/v1In order
    Material consumption material_consumptionerpMC-000679109.03.2026 at 09:59synthetic/v1In order
    Material consumption material_consumptionerpMC-000680112.03.2026 at 04:41synthetic/v1In order
    Time entry time_entrytimeclockTE-001263119.02.2026 at 20:08synthetic/v1In order
    Time entry time_entrytimeclockTE-001264108.03.2026 at 16:57synthetic/v1In order
    Time entry time_entrytimeclockTE-001265127.02.2026 at 05:36synthetic/v1In order
    Time entry time_entrytimeclockTE-001266106.03.2026 at 02:30synthetic/v1In order
    Time entry time_entrytimeclockTE-001267124.02.2026 at 02:58synthetic/v1In order
    Time entry time_entrytimeclockTE-001268104.03.2026 at 06:54synthetic/v1In order
    Time entry time_entrytimeclockTE-001269110.03.2026 at 15:07synthetic/v1In order
    Time entry time_entrytimeclockTE-001270124.02.2026 at 23:04synthetic/v1In order
    Time entry time_entrytimeclockTE-001271117.02.2026 at 16:39synthetic/v1In order
    Time entry time_entrytimeclockTE-001272112.02.2026 at 08:03synthetic/v1In order
    Time entry time_entrytimeclockTE-001273116.03.2026 at 13:46synthetic/v1In order
    Time entry time_entrytimeclockTE-001274112.02.2026 at 01:34synthetic/v1In order
    Time entry time_entrytimeclockTE-001275128.02.2026 at 21:15synthetic/v1In order
    Time entry time_entrytimeclockTE-001276118.02.2026 at 23:21synthetic/v1In order
    Time entry time_entrytimeclockTE-001277109.03.2026 at 11:57synthetic/v1In order
    Time entry time_entrytimeclockTE-001278122.03.2026 at 22:34synthetic/v1In order
    Time entry time_entrytimeclockTE-001279101.03.2026 at 22:43synthetic/v1In order
    Time entry time_entrytimeclockTE-001280121.03.2026 at 20:27synthetic/v1In order
    Other variable cost other_variable_costerpOVC-00080115.03.2026 at 07:55synthetic/v1In order
Reconciliation0,04 €tolerance 102,23 €
  • Rounding difference0,04 € of the difference between the estimated and the actual margin of JOB-0085 is inside the 0,04 € the source data's own rounding accounts for: a rounding difference, not an amount no driver can place (tolerance 102,23 €)
The stored note

tolerance 10223 minor units; pyoeristysero: 0,04 € of the difference between the estimated and the actual margin of JOB-0085 is inside the 0,04 € the source data's own rounding accounts for: a rounding difference, not an amount no driver can place (tolerance 102,23 €)

The bridge is computed from the stored snapshot. The next step is always the same: open the line's evidence and check the source rows.

Findings (0)Margin 7 444,98 € · 36,41 %

None of v0's nine rules fired for this job. That is not the same as there being nothing to look at — it means that no finding was detected on these rows.