Specimen · constructed for illustration
What actually lands on your desk.
Below is the structure and level of detail of the two central tables in a Convergence Assessment. The figures are illustrative and constructed — not a redacted client engagement — because client work belongs to the clients who paid for it.
Table 1 — Support-floor statement, per environment
The first question, and the one that determines whether anything else can be sequenced. Also the whole of the £2,750 engagement if you want to buy just this.
| Environment | X3 release | SQL Server | Windows Server | Supported end-to-end? | Blocking |
|---|---|---|---|---|---|
| PROD | V12.0.31 (2022 R2) | 2016 SP3 | 2016 | No | SQL EOS 14 Jul 26 · X3 below 12.0.23 floor for SQL 2019 |
| TEST | V12.0.31 | 2016 SP3 | 2019 | No | As PROD |
| TRAIN | V12.0.28 | 2016 SP2 | 2016 | No | Below cumulative-patch prerequisite (12.0.19+ OK, but 3 levels behind PROD) |
| REPORT (replica) | n/a | 2016 SP3 | 2016 | No | Unpatched since Jul 26 |
Target combination — the only one current and supported end to end:
X3 2026 R1 (V12.0.39) · SQL Server 2022 · Windows Server 2025 · MongoDB 8.0.17.4
Consequence: the SQL migration cannot be separated from the ERP upgrade. Eight patch levels and two platform replacements, one project, one outage window. Any plan that sequences these apart will fail at the point SQL 2022 refuses the 12.0.31 build.
Table 2 — Field-level gap analysis (extract: UK CBAM)
Not "you need to capture emissions data". This, per field, per table, with the population state measured rather than assumed.
| Requirement | Field / table | Present? | Populated | Gap | Effort |
|---|---|---|---|---|---|
| 8-digit commodity code | ITMMASTER.CUSREF / ITMFACILIT | Yes | 71% | 8-digit held as 6 in 29% of records; free-text suffix | Data cleanse + validation rule |
| Net mass excl. packaging, 6 dp | ITMMASTER.NETWEI | Yes | 34% | 2 dp scale; gross weight used where net is null; no per-line capture | Schema change + receipt capture |
| Tax point / customs clearance date | — | No | 0% | Held in broker portal only, not in X3 | Interface build |
| Value at import | PORDERQ.NETPRI + landed cost | Yes | 96% | Reconciles to GL; FX date basis needs fixing | Config |
| Proof of origin | BPSUPPLIER (attachment) | Partial | 52% | Unstructured; no expiry tracking | Doc model + workflow |
| Supplier verification report | — | No | 0% | No structure to hold verified vs default values | New table |
| Effective carbon price + FX | — | No | 0% | Carbon Price Relief cannot be evidenced | New table |
| 6-year retention w/ lineage | AUDITH / archive policy | Partial | — | Archive purges at 24 months; will not survive upgrade | Retention redesign |
Read: three of eight requirements have no home in the schema at all, and the single most important field — net mass excluding packaging — is present but at the wrong scale and populated for a third of the item master. That is a schema change plus a goods-receipt capture change, and both have to land on an estate that can still take a patch. Hence Table 1 first.
Table 3 — Sequenced critical path (extract)
| # | Workstream | Must finish by | Because | Blocks |
|---|---|---|---|---|
| 1 | Estate remediation — X3 + SQL + WS | Nov 2026 | WS2016 EOS 12 Jan 27; all schema work lands here | 2, 3, 4, 5 |
| 2 | CBAM schema + goods-receipt capture | Dec 2026 | Charge starts 1 Jan 27; needs a full period of clean data | — |
| 3 | EUDR DDS reference propagation | Dec 2026 | 30 Dec 26, incl. legacy EUTR timber regardless of size | — |
| 4 | Packaging BOM (pEPR / PPWR / DRS) | Mar 2027 | RAM 2027 reporting year; DRS artwork lead time 12–24 months | 6 |
| 5 | DE/SK e-invoicing on 12.0.39 | Dec 2026 | 1 Jan 27; requires the upgrade in 1 | — |
| 6 | DRS GTIN reallocation + EDI resync | Q2 2027 | Retailer catalogue windows, not the 1 Oct 27 date | — |
You are being asked to spend £2,750 or £12,000 on a document. It is reasonable to want to see the shape of it first. If the level of detail above is not what you need, that is useful for both of us to establish before an invoice rather than after one.