Skip to main content

Healthcode invoice submission timestamps

Summary​

The public API now exposes the time an invoice was successfully submitted to Healthcode.

  • UpdateInvoiceHealthcodeInput.submittedAt accepts an optional DateTime when an external integration records a successful submission through updateInvoice.
  • InvoiceHealthcodeStatus.submittedAt is available from both the invoice and invoices queries.

This change is additive and does not affect existing mutation or query clients.

Mutation behaviour​

Pass submittedAt in the existing healthcode block:

mutation RecordHealthcodeSubmission($invoiceId: ID!, $submittedAt: DateTime!) {
updateInvoice(
invoiceId: $invoiceId
invoiceData: {
healthcode: {
status: Unprocessed
providerReference: "EXT-REF-001"
submittedAt: $submittedAt
}
}
) {
data {
id
healthcode {
status
providerReference
submittedAt
updatedAt
}
}
error
}
}

Variables:

{
"invoiceId": "INVOICE_ID",
"submittedAt": "2026-10-29T10:30:00.000Z"
}

The following rules apply:

  • When an update first supplies providerReference, submittedAt defaults to the current server time when omitted.
  • Status-only updates, including NotFound, do not set submittedAt.
  • An explicitly supplied submittedAt is used for the first submission.
  • Once stored, submittedAt is preserved by later status or provider-reference updates.
  • A request that supplies a different submittedAt after one is stored returns Healthcode submittedAt cannot be changed once set.
  • Updating the status of older Healthcode invoices does not manufacture a submission timestamp. Existing invoices remain null unless a timestamp is explicitly supplied.
  • updatedAt continues to change whenever Healthcode information is updated; use submittedAt for the stable successful-submission time.
  • When a healthcode block is supplied, at least one of status, providerReference, or submittedAt is required.

Querying the submission time​

The field is available on singular and list queries:

query InvoiceHealthcodeSubmission($invoiceId: ID!) {
invoice(id: $invoiceId) {
id
healthcode {
submittedAt
updatedAt
}
}

invoices {
data {
id
healthcode {
submittedAt
updatedAt
}
}
}
}

See also​