CTR-S2P-SUITE · version 2
Source-to-Pay Suite — Purchase requisitions
Privacy approval carries a condition: the requester name must be pseudonymized before it reaches the spine, which the staging boundary now enforces.
What the contract says
These are the terms the connector is generated against. more
Review state
Neither review is performed by the team that wrote the contract.
Validation and drift
Drift is only detectable on a contract that has been read against a sample.
The field list
6 fields · 2 key · 2 personal. The validation rule on each row is what admits or rejects a record at the staging boundary.
| Field | Source | Target | Type | Flags | Drift | Validation |
|---|---|---|---|---|---|---|
| Requisition id | BANFN | requisition.ref | string(10) | keyinternal | In contract | Unique. Reused numbers across company codes are a known source behavior and are namespaced on entry. |
| Line number | BNFPO | requisition.line | integer | keyinternal | In contract | Positive. Gaps are permitted; duplicates are not. |
| Supplier tax identifier | STCEG | requisition.supplierTaxId | string(20) | nullableinternal | Type changed Arriving as unvalidated free text in the last sample. more | Structured by jurisdiction. Validated against the country format table before admission. |
| Requested by | AFNAM | requisition.requesterHash | string(64) | personalconfidential | In contract | Pseudonymized at the boundary. This is the condition attached to the privacy approval. |
| Net value | PREIS | requisition.netValue | decimal(15,2) | internal | In contract | Positive. Must carry a currency or the line is quarantined. |
| Approval delegate | ZZDELEG | (unmapped) | string(12) | nullablepersonalconfidential | New and unmapped Present in the source payload since a source release earlier this month. more | Not declared in this version of the contract. |
What has passed the staging boundary against this contract
2 batches · 12,200 arrived · 11,019 admitted · 1,181 quarantined · 0 rejected
| Batch | Arrived | In | Admitted | Quarantined | Rejected | Result | Gate |
|---|---|---|---|---|---|---|---|
| STG-0004 | Aug 18, 08:00 | 6,220 | 5,839 | 381 | 0 | Partly admitted | 5,839 admitted · 381 quarantined · 0 rejected outright. |
| STG-0005 | Aug 18, 07:00 | 5,980 | 5,180 | 800 | 0 | Partly admitted | 5,180 admitted · 800 quarantined · 0 rejected outright. |
Rejects raised against these batches
4 reasons covering 1,181 records. Each one names a field, what was observed and what the contract expected.
Replay windows
1 window recorded against this contract.
Write-back routes into this system
2 routes designed against Source-to-Pay Suite.
What goes stale when this feed does
5 asserted figures depend on Source-to-Pay Suite. more
| Figure | Where it is shown | Role | On stale | Note |
|---|---|---|---|---|
| Open purchase order commitment | Reconciliation ledger REC-02 | contributing | Mark it stale | Requisition and award records explain the movement in the balance but do not set it. |
| Touchless processing rate | AI GBS towers | contributing | Mark it stale | Requisition-side touchless volume is folded into the same rate. |
| Active supplier records | Procurement cockpit | primary | Suppress the figure | The supplier master is the source. more |
| Units held in intake quarantine | Intake quality | contributing | Mark it stale | Requisition-side holds are the second largest group. |
| Work units under management | Subway map, function cockpit | contributing | Mark it stale | Requisition and invoice work units arrive on this feed. |
A contract, a validation rule, a freshness commitment and a replay path are real mechanisms and they are what this wave builds. more
The last validation read 8,000 records 6 days ago, which is 24% of a single day at the declared volume. A sample proves the shape of what it read and nothing beyond it.