# Originating checks

## Lifecycle

Check Transfer status lifecycle

|                      |                                                                                                                                                                |
| -------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `pending_submission` | The transfer is pending submission to the check printer.                                                                                                       |
| `pending_reviewing`  | The transfer is pending review by Increase.                                                                                                                    |
| `pending_mailing`    | The physical check is queued for mailing.                                                                                                                      |
| `mailed`             | The physical check has been mailed.                                                                                                                            |
| `deposited`          | The physical check has been deposited.                                                                                                                         |
| `returned`           | The transfer has been returned.                                                                                                                                |
| `stopped`            | A stop-payment was requested for this check.                                                                                                                   |
| `requires_attention` | A rare status set when a transfer needs manual intervention from the Increase team. [More about requires_attention](/documentation/requires-attention-status). |

Optionally, transfers can be held for approval by another team member. In that case, you will see two additional statuses:

|                    |                                                            |
| ------------------ | ---------------------------------------------------------- |
| `pending_approval` | The transfer requires approval from a member of your team. |
| `canceled`         | The transfer has been canceled.                            |

## Sending a Check Transfer with Increase

Originating a Check Transfer via the Increase API kicks off several steps involving you, Increase, the Federal Reserve, and the receiving bank.

1. You make a `POST /check_transfers` call with the [details](/documentation/api/check-transfers#create-a-check-transfer) of how much you'd like to send and data about the recipient. A Check Transfer is created with a status of `pending_submission`.
2. A Pending Transaction is immediately created. By default, the Pending Transaction is for the full amount of the transfer in order to hold funds. (For more on this, see "Pending transaction options" below.)

3. Occasionally a transfer is pulled aside for manual review by Increase, in which case its status changes to `pending_reviewing` and then returns to `pending_submission` once the review is complete. (For more on this, see "Reviews" below.)
4. When the check is submitted to the check printer, Increase updates the Check Transfer object with its `submission` [details](/documentation/api/check-transfers#check-transfer-object.submission) and the status is updated to `pending_mailing`.
5. When the check is mailed by the printer, Increase updates the Check Transfer object with its `mailing` [details](/documentation/api/check-transfers#check-transfer-object.mailing) and the status is updated to `mailed`.
6. Once the recipient deposits the check, Increase creates an [Inbound Check Deposit](/documentation/inbound-check-deposits) object and decides if the deposit should be allowed. If so, we populate the Check Transfer object's `accepted_inbound_deposit_id` attribute and update its status to `deposited`.
7. A Transaction is created for the full amount of the transfer and funds are removed from your Account. The Pending Transaction is marked as `complete`.

## Printing checks

By default Increase will print and mail your checks and you will be able to access all `physical_check` [details](/documentation/api/check-transfers#check-transfer-object.physical_check) on the Check Transfer object. A typical printed check will look like the below image. Please note that fields have been annotated by their field names for documentation purposes. The overlays will not be printed.

![Physical Check image](/images/docs-check-image.jpg)

For custom printing needs, Increase can design a check template for you. If you're interested, contact [support@increase.com](mailto:support@increase.com).

By default checks are fulfilled via USPS First Class mail. Checks will be printed by the end of the next business day after they're ordered. Our printer is located near a major airport in the center of the US and checks typically arrive in 3-5 business days depending on the destination.

For higher-priority checks, you can send via FedEx Overnight by setting the [`shipping_method`](/documentation/api/check-transfers#create-a-check-transfer.physical_check.shipping_method) to `fedex_overnight`.

> [!WARNING]
> FedEx does not ship to P.O. boxes.

| Shipping method  | Shipment timing                     | Typical arrival                  |
| ---------------- | ----------------------------------- | -------------------------------- |
| USPS First Class | By the end of the next business day | 3-5 business days after shipping |
| FedEx Overnight  | Same day if ordered by 2pm ET       | Next business morning            |

You may also include an "attachment" with your check, which is a document that will be included in the envelope. This must be a US-letter-sized PDF with a maximum of 998 pages for USPS First Class and a maximum of 50 pages for FedEx Overnight. Attachments will be printed in greyscale. Content within 1/8" of the document edge will not be printed. To do this, first [create a File](/documentation/api/files#create-a-file) with purpose [`check_attachment`](/documentation/api/files#create-a-file.purpose.check_attachment) and pass that File's ID when [creating a Check Transfer](/documentation/api/check-transfers#create-a-check-transfer.physical_check.attachment_file_id).

You can see pricing for USPS and FedEx shipping and attachments on your [fees page](https://dashboard.increase.com/fees).

## Printing your own checks

Alternatively, you can print your own checks by setting the `fulfillment_method` to `third_party` when creating a Check Transfer. When this is set, the Check Transfer status will be set to `mailed` and you will be responsible for printing and mailing a check with the provided account number, routing number, check number, and amount.

## Stop payment requests

You can stop payment on a Check Transfer any time before a check is deposited. After stopping the check transfer, the check is voided and deposit attempts won't be honored. The Check Transfer status is updated to `stopped` and additional details will be available in the `stop_payment_request` [sub-hash](/documentation/api/check-transfers#check-transfer-object.stop_payment_request). Because the check can't be deposited, the funds held by the Pending Transaction are released back to your Account's available balance.

## Pending transaction options

When a Check Transfer is created, a Pending Transaction is immediately created. By default, the Pending Transaction is for the full amount of the transfer, but this behavior can be configured by setting the [`balance_check`](/documentation/api/check-transfers#create-a-check-transfer.balance_check) parameter. Based on the parameter value, the Pending Transaction will be:

1.  **`balance_check: full` (default)**: A Pending Transaction is immediately created for the full amount of the transfer in order to hold funds. This ensures you have sufficient funds available when the check is created and will have enough money when the check deposit comes through.
2.  **`balance_check: none`**: A $0 Pending Transaction is created instead. No balance check is performed when the check transfer is initiated, meaning funds are not reserved upfront. The balance will still be checked when the check is deposited. If there are insufficient funds at that time, the deposit will be declined.

## Evaluating deposit attempts

When a recipient deposits a check, we create an Inbound Check Deposit object, decide whether to allow it, and either accept or decline the deposit. For a full walkthrough of that lifecycle — including how to add your own evaluation logic and how returns work — see [Inbound check deposits](/documentation/inbound-check-deposits).

## Handling returned mail

If Increase prints and mails your checks, we automatically handle returned mail on your behalf. We do this by setting the [`return_address`](/documentation/api/check-transfers#check-transfer-object.physical_check.return_address) to an Increase owned lockbox. If a check is returned due to a delivery failure, you'll receive a [tracking update](/documentation/api/check-transfers#check-transfer-object.physical_check.tracking_updates).

## Approvals

For transfers that require approval from another team member, the Check Transfer is created with a status of `pending_approval` and a Pending Transaction is created to hold funds.

If the transfer is approved, the Check Transfer object updates with its `approval` [details](/documentation/api/check-transfers#check-transfer-object.approval), the status is changed to `pending_submission`, and things progress normally.

If the transfer is not approved, the Check Transfer object updates with its `cancellation` [details](/documentation/api/check-transfers#check-transfer-object.cancellation) and the status is changed to `canceled`. The Pending Transaction status updates to `complete`, no transfer information is submitted, and no additional Transactions are created.

## Reviews

Occasionally a Check Transfer will need to be manually reviewed by an Increase operator. When this occurs the Check Transfer object status will be set to `pending_reviewing`.

Once reviewed, the status changes back to `pending_submission` and things progress normally.

## Checks without Check Transfers

While for most cases we recommend using Check Transfers for ease of bookkeeping and fraud prevention, in some cases you may want to process checks where you don't know the amount up front (such as printing your own checkbooks). This is done with an Account Number that has `inbound_checks.status` set to `allowed`; see [Checks without Check Transfers](/documentation/inbound-check-deposits#checks-without-check-transfers) for details.
