> ## 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.

# Failures

> Document and provider classifications that stop stamping.

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>;
}

**Failed** means continuing could create an invalid or inconsistent fiscal document. The workspace note shows the observed values and the classification ID.

Failures are about the document path — source data, fiscal evidence, linked parents, or a provider rejection — not about “try the same stamp again hoping it works.”

## Kinds of failure

| Kind                   | What it usually means                                      |
| ---------------------- | ---------------------------------------------------------- |
| **Business**           | Source data, fiscal evidence, or linked documents disagree |
| **Provider rejection** | Facturapi or SAT rejected the submission                   |
| **Configuration**      | The workspace deliberately skipped the configured route    |

After you identify the classification, use [Troubleshooting](/troubleshooting) for the next action. Corrective stamp retry on a failed document needs proven correction and is often support-owned — see [Retry](/stamping/retry/overview). For why Lambda pauses instead of guessing, see [Rules](/stamping/rules).

## Classification reference

<InvoiceErrorReference status="failed" />
