> ## Documentation Index
> Fetch the complete documentation index at: https://docs.jaantonio.com/llms.txt
> Use this file to discover all available pages before exploring further.

# System errors

> Configuration and recovery classifications that need ops or support.

export function InvoiceErrorReference({status}) {
  if (status !== "failed" && status !== "system_error") {
    throw new Error('InvoiceErrorReference status must be "failed" or "system_error"');
  }
  const groups = data[status] ?? [];
  return <div className="mt-8 space-y-10">
      {groups.map(group => <section key={group.category}>
          <h2 id={group.category}>{group.label}</h2>
          <p>
            {group.entries.length}{" "}
            {group.entries.length === 1 ? "classification" : "classifications"}
          </p>
          <div className="divide-y divide-zinc-200 border-y border-zinc-200 dark:divide-zinc-800 dark:border-zinc-800">
            {group.entries.map(entry => <article className="scroll-mt-24 py-6" id={entry.definitionId} key={entry.definitionId}>
                <h3 id={`${entry.definitionId}-title`}>
                  <a href={`#${entry.definitionId}`}>{entry.title}</a>
                </h3>
                <p>
                  <code>{entry.definitionId}</code>
                </p>
                <p>{entry.meaning}</p>
                <dl className="my-4 grid grid-cols-[minmax(8rem,auto)_1fr] gap-x-4 gap-y-2 text-sm">
                  <dt className="font-medium">Status</dt>
                  <dd>
                    {entry.statusLabel} <code>{entry.status}</code>
                  </dd>
                  <dt className="font-medium">Classification</dt>
                  <dd>
                    {entry.categoryLabel} <code>{entry.category}</code>
                  </dd>
                  <dt className="font-medium">Area</dt>
                  <dd>
                    {entry.scopeLabel} <code>{entry.scope}</code>
                  </dd>
                  <dt className="font-medium">Responsible party</dt>
                  <dd>
                    {entry.ownerLabel} <code>{entry.owner}</code>
                  </dd>
                </dl>
                <p>
                  <strong>What happens next:</strong> {entry.retryLabel}
                </p>
              </article>)}
          </div>
        </section>)}
    </div>;
}

A **system error** means the document is not necessarily wrong. Configuration, provider availability, delivery, or recovery blocked safe continuation.

The workspace may still show **Failed**. The technical status and classification ID identify the support path.

## Kinds of system error

| Kind                 | What it usually means                                        |
| -------------------- | ------------------------------------------------------------ |
| **Configuration**    | Admin must finish setup, credentials, or billing             |
| **Transient system** | Automatic recovery may retry. Avoid duplicates while it runs |
| **Permanent system** | Deliberate retry or Jaantonio support                        |

A system error can happen after stamping — for example outbound delivery failing while the CFDI is already issued. In that case, fix delivery; do not re-stamp.

Transient system issues may continue through [automatic recovery](/stamping/retry/how-it-works). Permanent cases need a deliberate [corrective path](/stamping/retry/paths) or Jaantonio support — not a second blind stamp.

See [How stamping works](/stamping/how-it-works) for why stamp and delivery are separate, [Retry safety](/stamping/retry/safety) for what recovery refuses, and [Troubleshooting](/troubleshooting) for next actions.

## Classification reference

<InvoiceErrorReference status="system_error" />
