← Exception queue

JOB-0048Ilves Metalli Oy

Customer CUS-008 · Completed · opened 27.07.2025 at 00:06 · completed 02.09.2025 at 00:06

Work centres: CNC-1, WELD-1

Incomplete

Why no margin is shown

  • Import is stalestale_import

    import run RUN-STALE-TIMECLOCK finished 96,00 h before the clock, over the policy limit of 48 h

    Evidence (1 rows · Context reference: 1)
    Context referenceContext rows — they show the job exists

    These rows show that the job exists and was billed. They did not produce the amount, so they do not explain it.

    TableSourceRowVersionTime (UTC)MappingQualityField
    timeclocktimeclockRUN-STALE-TIMECLOCK114.09.2026 at 00:00synthetic/v1In order
  • Unattributed subcontract costunattributed_subcontract

    1 unattributed subcontract cost row(s) fall in this job's period: the export left them without a job, so this job cannot be certified

    Evidence (1 rows · Context reference: 1)
    Context referenceContext rows — they show the job exists

    These rows show that the job exists and was billed. They did not produce the amount, so they do not explain it.

    TableSourceRowVersionTime (UTC)MappingQualityField
    erperpSUB-UNATTRIBUTED-000001117.09.2026 at 11:00synthetic/v1In order

The line-by-line comparison is withheld because the job is blocked: components computed from an incomplete cost basis cannot be compared with the quote basis.

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

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.

The job is blocked: its cost basis is incomplete, so the bridge's differences are not reportable either. They are shown so that the missing posting is visible.

  • 1Revenue differencerevenue_varianceCausal−425,86 €
    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
    Invoice line invoice_lineinvoicingIL-000292117.09.2026 at 23:42synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000293110.09.2025 at 22:29synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000294109.05.2026 at 12:21synthetic/v1In order
    Invoice line invoice_lineinvoicingIL-000295112.09.2026 at 02:56synthetic/v1In order
    Credit line credit_lineinvoicingCR-00034103.04.2026 at 15:13synthetic/v1In order
  • 2Material quantity differencematerial_quantity_varianceCausal+697,07 €
    Evidence (10 rows · Causal reference: 10)
    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-000395123.08.2025 at 21:10synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000396112.08.2025 at 04:46synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000397105.08.2025 at 04:11synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000398112.08.2025 at 21:22synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000399117.08.2025 at 08:07synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000400115.08.2025 at 10:49synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000401129.07.2025 at 15:47synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000402131.08.2025 at 12:35synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000403115.08.2025 at 14:45synthetic/v1In orderqty
    Material consumption material_consumptionerpMC-000404127.08.2025 at 10:56synthetic/v1In orderqty
  • 3Material price differencematerial_price_varianceCausal+120,74 €
    Evidence (10 rows · Causal reference: 10)
    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-000395123.08.2025 at 21:10synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000396112.08.2025 at 04:46synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000397105.08.2025 at 04:11synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000398112.08.2025 at 21:22synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000399117.08.2025 at 08:07synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000400115.08.2025 at 10:49synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000401129.07.2025 at 15:47synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000402131.08.2025 at 12:35synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000403115.08.2025 at 14:45synthetic/v1In orderunitCost
    Material consumption material_consumptionerpMC-000404127.08.2025 at 10:56synthetic/v1In orderunitCost
  • 4Labour hours differencelabour_hours_varianceCausal+1 037,26 €
    Evidence (13 rows · Causal reference: 13)
    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-000704116.08.2025 at 01:02synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000705121.08.2025 at 10:28synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000706123.08.2025 at 16:53synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000707129.08.2025 at 20:13synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000708121.08.2025 at 21:51synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000709129.07.2025 at 14:50synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000710130.07.2025 at 21:20synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000711101.09.2025 at 04:37synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000712113.08.2025 at 20:16synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000713121.08.2025 at 08:15synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000714112.08.2025 at 15:48synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000715106.08.2025 at 04:03synthetic/v1In orderhours
    Time entry time_entrytimeclockTE-000716126.08.2025 at 10:43synthetic/v1In orderhours
  • 5Labour rate differencelabour_rate_varianceCausal−0,01 €
    Evidence (13 rows · Causal reference: 13)
    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-000704116.08.2025 at 01:02synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000705121.08.2025 at 10:28synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000706123.08.2025 at 16:53synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000707129.08.2025 at 20:13synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000708121.08.2025 at 21:51synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000709129.07.2025 at 14:50synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000710130.07.2025 at 21:20synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000711101.09.2025 at 04:37synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000712113.08.2025 at 20:16synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000713121.08.2025 at 08:15synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000714112.08.2025 at 15:48synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000715106.08.2025 at 04:03synthetic/v1In orderrate
    Time entry time_entrytimeclockTE-000716126.08.2025 at 10:43synthetic/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_unexplainedNo claim0,00 €

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

Reconciliation0,00 €tolerance 172,40 €
  • Import is stalethe margin of JOB-0048 is not reportable: import run RUN-STALE-TIMECLOCK finished 96,00 h before the clock, over the policy limit of 48 h (rows RUN-STALE-TIMECLOCK)
  • Unattributed subcontract costthe margin of JOB-0048 is not reportable: 1 unattributed subcontract cost row(s) fall in this job's period: the export left them without a job, so this job cannot be certified (rows SUB-UNATTRIBUTED-000001)
The stored note

tolerance 17240 minor units; stale_import: the margin of JOB-0048 is not reportable: import run RUN-STALE-TIMECLOCK finished 96,00 h before the clock, over the policy limit of 48 h (rows RUN-STALE-TIMECLOCK) | unattributed_subcontract: the margin of JOB-0048 is not reportable: 1 unattributed subcontract cost row(s) fall in this job's period: the export left them without a job, so this job cannot be certified (rows SUB-UNATTRIBUTED-000001)

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 (1)Blocked: margin —

  • High highStale or incomplete importR9No amount: the finding blocks reporting.

    Postings on JOB-0048 cannot be certified as current (Import is stale, Unattributed subcontract cost).

    The job is blocked (Incomplete) · work centres CNC-1, WELD-1 · version job-margin-rules/2026-09-20.1 · computed 21.09.2026 at 14:48

    Evidence (2 rows · Context reference: 2)
    Context referenceContext rows — they show the job exists

    These rows show that the job exists and was billed. They did not produce the amount, so they do not explain it.

    TableSourceRowVersionTime (UTC)MappingQualityField
    Import run import_runtimeclockRUN-STALE-TIMECLOCK114.09.2026 at 00:00synthetic/v1In order
    Subcontract cost subcontract_costerpSUB-UNATTRIBUTED-000001117.09.2026 at 11:00synthetic/v1In order