---
title: "Receipts and delivery states"
description: "Every accepted lead gets a receipt. What each state means, how retries and repair work, and how long a receipt and its lead are kept. Accepted is not delivered."
url: "https://formparcel.live/docs/reference/receipts"
---

# Receipts and delivery states

Every accepted lead gets a receipt. What each state means, how retries and repair work, and how long a receipt and its lead are kept. Accepted is not delivered.

## Accepted is not delivered

A lead is **accepted** when FormParcel has stored it, and that is when it gets its receipt. Delivery to a Sheet is a separate step that can succeed, wait or fail, and the receipt shows both. The counts always add up:

**Accepted = Delivered + In flight + Needs action.**

- **In flight**: the lead is stored and delivery is under way or scheduled. No action is needed yet.
- **Needs action**: something needs a person. The lead is kept, and the receipt names the fix.
- **Delivered**: every destination the lead goes to has confirmed it.

Example lead Receipt sub_…Zk9QxT

Sheet Sheet: Delivered.

FormParcel writes the receipt ID into the `_submission_id` column of the Sheet it creates, column A. That is how you find a lead's row from its receipt.

## States

Each row has its own anchor, so a link such as `#reconnect-google` lands on it. The wording is the dashboard’s. The dashboard also shows a time on Retrying and Confirming with Google when the next attempt is due.

| State | What it means | What to do |
| --- | --- | --- |
| **In flight** |   |   |
| Accepted | FormParcel saved the lead and is about to deliver it. | Nothing. |
| Delivering | The lead is saved and is being written to the Sheet now. | Nothing. |
| Retrying | Google did not accept the last attempt. The lead is saved and is tried again automatically, with longer waits between attempts. The receipt shows when the next attempt is due. | Nothing yet. |
| Confirming with Google | Google did not say whether the row was written. Before it writes again, FormParcel checks the Sheet for the lead's receipt ID, so no duplicate row is written. | Nothing. |
| **Needs action** |   |   |
| New fields to review | The lead has fields the Sheet has no columns for. It is saved, and nothing was written to the Sheet. | Review the fields: add a column for each new field, or ignore the ones you do not want in the Sheet. |
| Sheet columns changed | The Sheet's header row no longer matches the form. The lead is saved, and nothing was written, so it cannot land in the wrong columns. | Fix the header row and re-check the Sheet, or use a new Sheet. |
| Waiting to resend | The destination is reachable again. The lead is saved and waiting to be sent. | Nothing: it is sent automatically. Or retry all waiting leads now. |
| Sheet needs repair | The Sheet is in Trash, missing, or no longer editable. The lead is saved, and nothing was written. | Replace the Sheet, or restore it and re-check it. Waiting leads are then sent again automatically. |
| Reconnect Google | Google access was revoked or expired. The lead is saved, and nothing was written to the Sheet. | Reconnect Google. Waiting leads are then sent again automatically. |
| Connect Google | The form's Sheet has no Google connection. The lead is saved, and nothing was written. | Connect Google. Waiting leads are then sent automatically. |
| Delivery paused | Delivery is paused by a platform configuration problem, not by Google. The lead is saved. | Nothing you can fix. The lead is sent once the problem is fixed. |
| Delivery failed | The lead was saved but could not be delivered. If it was not delivered before its retention deadline, its content was deleted and it can no longer be sent; the receipt remains. | Retry delivery while the lead content is still kept. |
| Email needs a recipient | No one can receive the lead's email yet: no recipient has confirmed, or every address bounced. The lead is saved. | Add or confirm a recipient. Waiting leads are then emailed automatically. |
| Email paused | FormParcel could not send email, for a reason on its side. The lead is saved. | Nothing you can fix. The lead is emailed once sending is restored. |
| Email failed | The email provider reported that the email did not reach its recipient, and it is not retried on its own. The lead is saved. | Check the recipient's address, then retry delivery. |
| Email outcome unknown | The email provider never confirmed the email, and it was too long ago to send it again safely. | Check with the recipient. Retry delivery if it did not arrive. |
| **Delivered** |   |   |
| Delivered | Google Sheets confirmed the lead was written to the Sheet. | Open it in the Sheet. |
| **Not counted** |   |   |
| Held as spam | The submission came without FormParcel's bot check, failed it, or looked automated or repeated (a third submission from one sender in a day, the same message twice, many links or link markup), so it is in the Spam folder. It was not delivered and does not count toward your plan. Held submissions are deleted after 30 days. | If it is a real lead, choose Not spam. It is then counted and delivered. |
| Stopped: marked as spam | You marked the lead as spam before it reached this destination, so it was not sent there. What was already delivered elsewhere stays. A lead that was already delivered somewhere still counts toward your plan; one that was not does not. | If it is a real lead, choose Not spam. It is then sent here. |
| Email turned off | Email was turned off for this form, so no email was sent for this lead. Its other destinations are not affected. | Nothing. |

A post that was refused at intake, such as one blocked as spam, is not an accepted lead. It has no receipt and is never counted in the totals above. The reasons are on [Responses and error codes](https://formparcel.live/docs/reference/responses).

## Test leads

A lead sent with **Send a test lead** is a real receipt, marked as a test, and the name in its Sheet row starts with `[TEST]`. It shows in the receipt counts, so they match the rows in your Sheet, but it never counts as your first real lead, and it does not count toward your plan’s monthly limit.

## The receipt ID in the Sheet

The receipt ID starts with `sub_`. FormParcel writes it into the `_submission_id` column, column A, of every row it adds. Searching that column for the ID finds the lead’s row, and a row’s ID finds its receipt. If a row looks duplicated, search column A for the ID: a retry that finds the ID already there writes nothing more.

When Google reports the row, the receipt also names it, next to the ID in column A.

For a delivered lead the receipt shows how long it took from Accepted to Delivered. The figure is measured from that lead’s own times. It is not a typical speed and not a promise.

## Retries and repair

When Google does not accept an attempt, the lead stays stored and FormParcel tries again on its own, with longer waits between attempts. The wait before each attempt is:

| Attempt | Wait before it |
| --- | --- |
| 1 | 1 minute |
| 2 | 5 minutes |
| 3 | 15 minutes |
| 4 | 1 hour |
| 5 onward | 6 hours |

Each wait varies by up to 20% either way, so many retries do not arrive at Google together. FormParcel makes at most 10 attempts for each delivery. When Google says how long to wait, with a `Retry-After` header, FormParcel waits that long instead, and that wait does not use up an attempt.

- **Confirming with Google.** When Google does not say whether a row was written, FormParcel looks for the lead’s receipt ID in the Sheet before it writes again. If the ID is there, nothing more is written, so a retry never makes an unexplained duplicate row.
- **Needs action.** A problem that waiting cannot fix, such as Reconnect Google, Sheet needs repair or Sheet columns changed, pauses delivery. The lead is kept. When you fix it, the waiting leads are sent again automatically. The fixes are on [Troubleshooting](https://formparcel.live/docs/help/troubleshooting).
- **Retry delivery.** After the last attempt, the receipt says Delivery failed. Use **Retry delivery** on it while the lead’s content is still kept.
- **What stops a retry.** The attempt limit, and the retention deadline below. Once a lead’s content is deleted it can no longer be sent. The receipt stays.

## Email

Each email destination adds a row to the receipt. A lead that goes to a Sheet and to email shows one state for each, and is called delivered only when both are. For email, Delivered means the email provider accepted the message for the confirmed recipients. It does not mean the message reached an inbox. The email states are Email needs a recipient, Email paused, Email failed and Email outcome unknown. In each case the lead is saved.

A failed or soft-bounced email is retried automatically. The provider recognises a repeat of the same send for 24 hours, and automatic email retries stop at 23 hours, inside that window. A second copy is therefore rare: it takes a lost response, a day of failures and then a resend. Sheet rows are protected separately and are never duplicated by a retry. See [Email notifications](https://formparcel.live/docs/setup/email).

## Auto-reply

When a form has the auto-reply on, the receipt also has an auto-reply line: **Sent**, **Skipped** with the reason, **Failed** or **Queued**. The auto-reply is not a delivery destination. It never changes the state of the receipt, and a skipped or failed reply never affects the lead. See [Auto-reply](https://formparcel.live/docs/setup/autoresponder).

## How long a receipt and its lead are kept

Lead content is deleted 7 days after a lead is accepted, or after up to 30 days if it was never delivered. The receipt stays: its status, times and attempts hold no lead content. Receipt history is 30 days on the Free plan and 1 year on Starter and Agency. Older delivered receipts are hidden, not deleted, and a receipt that needs action is always shown.

You can also delete one lead’s content yourself from its receipt. The receipt and the evidence of every delivery that already happened stay. The other limits are on [Limits and retention](https://formparcel.live/docs/reference/limits#retention), and the security side is on the [security page](https://formparcel.live/security).
