TradePact Learn

Understanding TradePactID Status States (Paid, Unpaid, Unknown) and Reconciliation Timing

Understand TradePactID status states (Paid, Unpaid, Unknown), reconciliation sweep timing, anti-enumeration security, and non-custodial direct settlement.

Published

Composed East Asian finance controller in navy suit seated at a daylight Singapore desk verifying invoice status records with amber accents.

When an accounts payable department, finance controller, or counterparty verifies a 15-character TradePactID on TradePact Network, the public status lookup returns one of three discrete states: Paid, Unpaid, or Unknown.

This guide explains the exact protocol rules governing each status state, why an invoice may temporarily display Unpaid immediately after a bank transfer, how the network's 5-minute publisher reconciliation sweep operates, and why the network enforces a strict 6-hour staleness cutoff. Whether you are reconciling an overdue notice or validating payment receipt, understanding these mechanics ensures your finance team handles verification smoothly without unnecessary dispute escalations.

Key Takeaways

  • Three Discrete Public States: The registry discloses only Paid, Unpaid, or Unknown. The public record never displays invoice balances, payment amounts, itemised goods, or banking details.
  • Strict Non-Custodial Architecture: TradePact Network never holds, touches, or routes funds. Payments are made directly to the supplier's designated bank account or through authorised participant payment portals (pay.<domain>).
  • Settlement Confirmation vs Reconciliation: When settling directly via bank transfer, the supplier must mark the invoice as received in their accounting software or receivables ledger before the protocol registers settlement.
  • 5-Minute Asynchronous Reconciliation Sweep: Updates move outward across a secure, one-way publisher seam every 5 minutes (CHASEFLOW_TRADEPACT_RECONCILE_INTERVAL_MIN), supplemented by event-driven latency optimisations.
  • Conservative Unknown Definition: Unknown designates an engagement terminated or closed without verified settlement. It never means an invoice is unpaid, nor does it mean unregistered.
  • Anti-Enumeration 404 vs 503 Outage: Unregistered or malformed identifiers return a byte-identical 404 response. If projection sweeps stall for 6 hours, the lookup returns a byte-identical 503 temporarily unavailable to prevent false public claims.

What Does a TradePact Network Invoice Status Lookup Show?

A TradePact Network invoice status lookup displays a strictly limited, 5-field public record designed to confirm invoice legitimacy while enforcing rigorous commercial privacy.

When a paying party inputs a canonical 15-character identifier (for example, 20260813000001A) at tradepact.network, the query does not connect to a live enterprise resource planning (ERP) system or reveal private debtor accounting ledgers. Under the TradePact Protocol v1.0, the lookup renders a closed data structure governed by the TRADEPACT_PUBLIC_RECORD_FIELDS schema:

{
  "tradePactId": "20260813000001A",
  "invoiceNumber": "INV••••47",
  "invoiceDate": "2026-08-13",
  "status": "Unpaid",
  "participant": {
    "name": "InvoiceMediator",
    "logoUrl": "https://tradepact.network/assets/participants/invoicemediator.png"
  }
}

The Closed 5-Field Public Record Contract

Field NameDescriptionPrivacy & Verification Purpose
tradePactIdCanonical 15-character alphanumeric identifierUnique protocol reference linking correspondence to the shared record.
statusPublic state: Paid, Unpaid, or UnknownVerifies whether the invoice is currently outstanding, settled, or indeterminate.
invoiceNumberMasked invoice reference (e.g. INV••••47)Proves authentic correspondence without publishing the internal invoice serial.
invoiceDateIssuance date (YYYY-MM-DD)Verifies the billing date without disclosing commercial contract terms.
participantManaging participant name and verified logoConfirms which accredited organisation is authorised to manage the invoice.

Every field outside this specification is excluded. As detailed in our analysis of masked invoice lookup privacy and data minimisation, the registry never publishes commercial sums, currency amounts, line items, debtor identities, or bank coordinates.


What Do the Three TradePactID Status States Mean?

The protocol maps internal workflow lifecycles onto three public status states: Paid, Unpaid, and Unknown.

This mapping is intentionally conservative in one direction: the network asserts Paid only when positive evidence of complete settlement has been recorded. Anything short of positive settlement verification remains Unpaid or transitions to Unknown.

+-------------------------------------------------------------+
|               Internal Lifecycle to Public State            |
+-------------------------------------------------------------+
|  active / chasing / paused / draft / pending  -->  Unpaid   |
|  failed (cycle expired without recovery)      -->  Unpaid   |
|  completed (declared or confirmed paid)       -->  Paid     |
|  terminated (withdrawn / cancelled early)     -->  Unknown  |
|  archived                                     -->  Preserved|
+-------------------------------------------------------------+

1. Paid

The Paid status confirms that the invoice has reached complete settlement. Internal system states mapped to Paid require that:

  • The managing participant has recorded the invoice as completed.
  • The supplier or administrator has flagged isDeclaredPaid or isPaymentConfirmed as true.

Once marked Paid, the public record serves as permanent proof that the payment obligation under this reference was fulfilled.

2. Unpaid

The Unpaid status indicates that the invoice is actively registered on the network and remains unsettled. Internal states that map to Unpaid include:

  • draft or pending: Registered on the network, awaiting active workflow engagement.
  • active, chasing, or paused: An open receivables engagement currently underway under participant rules.
  • failed: The structured follow-up cycle concluded its scheduled timeline without recording payment.

An Unpaid status does not imply hostility or dispute; it simply reflects that the creditor ledger has not yet recorded complete settlement.

3. Unknown

The Unknown status is an explicit protocol state, not an error. It indicates that the network can no longer make a factual assertion regarding whether the invoice was paid.

The primary internal lifecycle state mapping to Unknown is terminated. When a creditor terminates an engagement early—such as writing off the balance internally, recalling the invoice to negotiate directly, or closing the file without reporting an outcome—the network cannot verify whether the counterparty settled the debt. Asserting Unpaid about a company when the engagement was discontinued would be an unverified claim. Therefore, the protocol marks the public record Unknown.

Importantly, Unknown never means an invoice is unregistered. An unregistered or invalid identifier produces an anti-enumeration 404 response, never an Unknown status record.

Preserving Status in Archived Records

When historical records are archived, the protocol preserves the exact public state held immediately prior to archival (status_before_archive). An invoice settled prior to archival displays Paid; an invoice archived while active displays Unpaid; an invoice archived following cancellation displays Unknown. Archival never masks or alters the underlying historical outcome.


Why Does a TradePactID Show "Unpaid" After You Have Paid?

If your finance team transferred funds this morning and the status lookup still displays Unpaid, the explanation lies in payment reconciliation timing, not a system dispute.

Common causes for this temporary latency include:

1. Direct Settlement vs Custodial Escrow

TradePact Network is strictly non-custodial. The network is neither a bank, nor a payment processor, nor an escrow agent. When you execute a bank transfer via FAST, GIRO, MEPS, or international wire, the money lands directly in your supplier's corporate bank account.

Because TradePact Network does not sit in the fund flow, the network cannot observe the banking transaction directly. The status changes only when:

  1. The supplier's finance team identifies the incoming credit in their bank statement.
  2. The supplier reconciles the transaction in their accounting system or receivables platform.
  3. The platform publishes the updated settlement state across the network seam.

If you paid via an authorised participant payment portal (e.g. pay.invoicemediator.com), card and instant rail transactions log an immediate settlement event (isPaymentConfirmed), which queues the record for projection within minutes.

2. Correcting Misconceptions About Reporting Delays

Some automated search summaries and forum posts confuse B2B receivables registries with consumer credit bureaus, suggesting that payment updates take 30 to 60 days under statutory Fair Credit Reporting Act (FCRA) cycles. This is factually incorrect.

TradePact Network is not a credit bureau and does not publish credit scores. It is an operational B2B verification registry. Status transitions occur within minutes of supplier reconciliation, not across multi-week bureau reporting windows.

3. Verification Checklist for Paying Parties

If your payment has not reflected on tradepact.network after 2 business days:

  1. Verify Bank Reference: Confirm that your remittance advice included the correct invoice number and canonical TradePactID.
  2. Notify Managing Participant: Reply directly to the payment notification email or use the contact link on the verified participant portal.
  3. Request Ledger Reconciliation: Contact your supplier's accounts receivable team to confirm they have matched your remittance to their open sales ledger.

How Does the 5-Minute Publisher Reconciliation Sweep Work?

TradePact Network operates on an asynchronous, decoupled architecture to ensure resilience, data integrity, and strict separation between core accounting platforms and the public status site.

+-----------------------+                    +--------------------------+
|  ChaseFlow Engine     |                    |  TradePact Network       |
|  (Internal DB)        |                    |  (Public Projection DB)  |
+-----------------------+                    +--------------------------+
           |                                              ^
           |  1. Event: publishInvoicesSoon([id])         |
           |     (Latency optimisation)                   |
           +------------------- HTTP ---------------------+  /_seam/v1/publish
           |                                              |
           |  2. Periodic Sweep: 5-Minute Full Sweep      |
           |     (CHASEFLOW_TRADEPACT_RECONCILE_INTERVAL) |
           +------------------- HTTP ---------------------+

The One-Way Publisher Seam

Public status records are maintained on independent database infrastructure behind tradepact.network. Internal infrastructure never allows external visitors to query core receivables databases directly. Instead, internal systems push published records outward across a hardened HTTP endpoint (/_seam/v1/publish).

The seam operates under two synchronisation mechanisms:

  1. Event-Driven Dispatch (publishInvoicesSoon): When an invoice changes state (such as an admin marking an invoice paid or a portal payment confirming), an event-driven hook triggers a targeted push to update the specific record on the public registry with minimal latency.
  2. Periodic Reconciliation Sweep: Every 5 minutes (CHASEFLOW_TRADEPACT_RECONCILE_INTERVAL_MIN), a background reconciliation worker performs a full-diff sweep. It identifies any records that experienced network timeouts or transient delivery issues, synchronising the public projection with verified internal reality.

Because every record carries a cryptographic canonical digest, unchanged records are evaluated and confirmed without redundant database writes.


Lookup Errors: Understanding 404 Anti-Enumeration vs 503 Staleness

When performing a status query, your browser or API client may occasionally receive an HTTP error. The network handles system errors and missing records using strict cryptographic and security principles.

HTTP CodeError MessageUnderlying ConditionOperational Action
404no record foundUnregistered, malformed, unpublished, or mistyped TradePactID.Check identifier syntax; verify with supplier whether the invoice was registered.
503temporarily unavailableProjection database initialising, or background sweep delayed beyond 6 hours.System protection triggered; retry after 15–30 minutes. Do not assume invoice is unpaid.

Anti-Enumeration: Why Unregistered Records Return Byte-Identical 404s

In public financial registries, malicious actors frequently attempt automated enumeration attacks—submitting sequential reference numbers to discover corporate identities, trading volumes, or billing activity.

To eliminate this risk, TradePact Network enforces a strict anti-enumeration defence:

  • Unregistered identifiers, malformed strings, deleted records, and unpublished IDs all return a byte-identical 404 no record found response.
  • The server takes no query parameters into its error templates, preventing timing attacks or side-channel leakage.
  • If you enter an identifier and receive a 404, the system discloses nothing about whether the identifier ever existed or which participant was associated with it.

The 6-Hour Staleness Threshold: Why the Network Goes Dark

A functioning registry must never publish outdated claims about a business. The most damaging scenario in commercial receivables is a settled invoice publicly displaying Unpaid because a backend synchronization task silently stalled.

To safeguard trading reputations, the TradePact Protocol enforces a dual-threshold monitoring watchdog (checkTradePactSweepFreshness):

  1. ~30-Minute Early Warning (sweep_delayed): If background sweeps fail to complete for six consecutive intervals (~30 minutes), the system logs an internal warning metric. Public queries continue to resolve while engineering investigates.
  2. 6-Hour Staleness Cutoff (sweep_stale): If the public projection has not completed a full reconciliation sweep for 6 hours (TRADEPACT_PROJECTION_STALE_MIN), the public lookup service deliberately stops answering. Both the web interface and the JSON API return a byte-identical 503 temporarily unavailable.

Going dark is an intentional safety mechanism. As documented in our technical architecture, presenting a temporary system outage is preferable to publishing unrefreshed, false statements about a real operating company.


How to Verify Participant Notices and Payment Portals

When receiving correspondence citing a TradePactID, finance controllers should verify both the participant brand and the destination URL before authorizing payments.

All legitimate communications adhere to published governance rules:

  1. Authorised Participant Brands: Correspondence originates from accredited network participants, such as InvoiceMediator or PaymentMediator. Learn more about TradePact Network participants and admission criteria.
  2. Dedicated Payment Domains: Online payment links use dedicated subdomains strictly formatted as pay.<participant-domain> (for example, https://pay.invoicemediator.com). Never enter credentials or payment details on third-party URL shorteners or unverified hosts.
  3. Cross-Check with Registry: Enter the 15-character TradePactID at https://tradepact.network to confirm that the participant named in your email matches the managing_participant shown on the public record.

If you represent an accounts payable department, trade platform, or software provider, you can review our shared receivables record overview or access the Participant Console for technical integration specifications.


Frequently Asked Questions

Does an "Unpaid" status mean my company is considered a bad payer?

No. The Unpaid status simply reflects that an invoice is currently open and has not yet been reconciled as settled in the creditor's ledger. It contains no subjective credit rating, default tag, or negative commentary.

Why does my TradePactID return an "Unknown" status instead of "Paid"?

An Unknown status occurs when an invoice workflow was terminated early or closed without verified confirmation of payment (for instance, if a commercial dispute was resolved outside the network or the creditor withdrew the record). Because the network cannot independently verify whether settlement took place, it outputs Unknown to avoid publishing an inaccurate claim.

How quickly does the public status change to "Paid" after I make a bank transfer?

For direct bank transfers, status updates typically occur within a few hours of your supplier reconciling the payment in their ledger. Once reconciled, the network's 5-minute periodic reconciliation sweep and event hooks update the public record on tradepact.network.

What should I do if a status lookup returns a 503 "temporarily unavailable" error?

A 503 error indicates that the network's projection database is undergoing maintenance or has halted public answers because data freshness exceeded the 6-hour staleness threshold. Wait 15 to 30 minutes before retrying. A 503 error does not mean your invoice is overdue or invalid.

Can any party view how much money our company owes by checking our TradePactID?

No. The public record enforces strict data minimisation under the TRADEPACT_PUBLIC_RECORD_FIELDS contract. Amounts, currency figures, line items, and debtor corporate names are never disclosed on the public status registry.


Watch the customer journey, the interactive demo and get started for free

Have a TradePactID from an invoice?

Look up a TradePactID on the network →
← All articles