Polymr
Shared picture of the plant

One value. Three sources. A trail you can follow.

This is the live, shared picture of the plant that Polymr reads from. Six things kept in sync with your ERP and other systems of record, with every field stamped with where it came from. You can take any value and trace it back to the document, system, or person that produced it.

Items master. Every cell points back to the system that produced it.

The item master is the shared picture made visible. The view below shows one parent item with its indented BOM three levels deep. Every line is kept in sync with the systems of record at the field level. Each row carries a stamp on the cost cell showing where that number came from. When SAP and a supplier email disagree, the conflict surfaces in the cell instead of quietly being overwritten.

app.polymr.tech/inventory/items/PMR-4031/bom

PMR-4031 · brake hub assembly

Revision v6 · Indented BOM · 11 lines across 3 levels

Polymr ERP
rev v6Released 2026-05-29 16:42 · CN-1187ActiveMake/buy rollup · 38% make, 62% buy
ComponentQty / parentUnit costSourceStamped
PMR-4031brake hub assembly1$ 52.90makerouter RT-218
PMR-HF-22hub forging1$ 22.40buyV-218 · PO-84142
RAW-A36-ZA36 zinc bar2.4 lb$ 6.10buyV-301 · index
PMR-BR-08bearing race2$ 3.05buyV-201 · PO-84198
PMR-CN-44cone insert1$ 1.85buyV-218 · PO-84179
RAW-STL-101018 cold-rolled0.4 lb$ 0.62buyV-301 · index
PMR-SR-FKseal ring FKM1$ 2.20buyV-244 · contract
HW-B8-A325bolt M8x24 A3254$ 0.18buyV-301 · catalog
HW-W8-SPLlock washer split 8mm4$ 0.06buyV-301 · catalog
PMR-FN-Zfinish zinc B6331 op$ 5.40makeworkcentre WC-FN-02
PMR-LB-CRlabour cure line1 op$ 9.40makerouter RT-218 · L2
Rolled cost / ea$ 52.90composite from level 1 children, refreshed 09:13

Six things, six kinds of source, a rule for how stale each can get.

The grid below shows Polymr's six core things against the six kinds of source that feed them. Each cell shows how old the last reading is. If a cell is older than the allowed limit, Polymr refuses to read from it instead of quietly using stale data.

ENTITIES x SOURCES . freshness ages illustrativeERPPDMMESPortalInboxEDIItemsBOMsRoutingsInventorySuppliersOpen POs12s4sn/a3m14sn/a21s6sn/an/an/an/an/a11s1.4sn/an/an/an/an/a1.2sn/an/an/a38sn/an/a4m11mn/a24sn/an/a3m7s6mwithin budgetapproaching refusalstale, reasoning refusesnot wired
Illustrative ages. The staleness limits are part of each source's contract; Polymr will not act on a value older than the limit.

Every cell remembers who supplied it.

The trail behind a value is not stored in a separate audit table off to the side. It lives in the same place as the value. Each field carries a value, the system that produced it, the document the value came from, the person who confirmed it (if anyone), when it was observed, and how confident we are. Old values are kept, not overwritten, so you can pull the history of a single field in one query.

When Polymr reads a value, it reads the trail too. A recommendation that cites a cost basis cites a PO line. The PO line cites a supplier email. The email is one click away in the console. Every write Polymr performs can be rebuilt from the documents that produced it.

item.PMR-4031.unit_price
conflict
$52.90current value
V-218 inbox
agrees
subject: revised quote
$52.9012:42:03
prior: $54.20
V-218 portal
agrees
price grid line 3
$52.9012:38:17
prior: $55.20
SAP MARA
prior
master record
$54.20rev v5
Two sources agree on $52.90; SAP MARA still holds $54.20 from the rev v5 sync. Reasoning reads both sides. Resolution is operator-driven, not silent.
One cell, drilled apart. Three sources, one conflict surfaced rather than silently resolved.

Polymr refuses to act on stale data.

For every kind of source, we set a limit on how old the data is allowed to be. Inventory streams in real time, because a planning workflow that reads stale inventory proposes the wrong things. Supplier data pulled from a portal that updates twice a week carries a limit measured in hours. Each limit is part of the contract for that source, and Polymr enforces it as a hard rule, not a soft warning.

When Polymr reads a value that is older than its limit, it gets back a "stale" answer instead of the value. The workflow that needed the field stops and writes an audit row. Nothing quietly runs against an old number. The fix is to check the connector that fell behind, and the audit trail tells you exactly which source and which field failed in one query.