Check Issuing, Printing and Mailing

API Documentation

Check Issuing

Customers can programmatically issues checks with our API. We require that each check be generated with a specified payee and amount, also known as positive pay amount. All checks issued will have a unique check number. Column uses positive pay verification to ensure the positive pay amount specified at check issuance matches the amount actually cashed by the payee.

To issue checks at Column, you must first fund the account from which you want to issue a check. Column validates the account has sufficient funds equal to or in excess of the issued check amount. Upon issuance, Column locks the issued amount to satisfy an incoming debit on a cashed check or a stop payment instruction is created on the check.

Stop Payment Instructions

Column supports stop payments, allowing a check issuer to cancel a previously issued check that has not yet been deposited by the payee. You can also use our stop payment functionality to enforce check expiry after a select number of days. Column voids checks after 180 days like most banks.

Given Column locks funds at check issuance, we may continue to hold issued check funds for up to 10 business days after a stop payment instruction is created.

When issuing checks through Column, you can print and mail your checks directly with Column or use a third-party service.

Mailing checks with Column

Column offers check printing and mailing services. When you issue a check with our API, you can include the following optional parameters: message to the payee, memo on the check, and payee address. If Column receives both message and payee address, Column will print and mail the check to the specified payee's address on your behalf. Column only supports payee addresses within the United States. The DeliveredbyColumn parameter will be set to true in the response body.

After calling our API to Issue a Check, if a preview is available, the isPreviewPDFAvailable parameter in the response body will be set to true. You can use the Check Preview API to download the check preview.

We provide the delivery status of a check in the DeliveryStatus field in the check transfer object. The delivery status may be as follows: created, mailed, in_transit, in_local_area, processed_for_delivery, delivered, rerouted, returned_to_sender, failed. We also emit webhooks for every status update. Learn more in the check mailing notification & states section.

If you would like to send an optional attachment with your check, you can use the Upload Document API to upload the attachment with check_attachment type first. Then you can specify attachment_document_id in the issue check transfer request. PDFs, HTML, PNGs, and JPGs are allowed as attachments. For PDFs, PNGs, and JPGs, all pages must be sized at 8.5"x11" at 300 DPI. If HTML is supplied, it will be rendered and trimmed to fit as many 8.5"x11" pages as necessary. If a PDF is provided, it must be 6 pages or fewer. The attachment will be printed double-sided in black and white and included in the envelope after the check page.

Stop Payments on Mailed Checks

If a stop payment request is received on a check that has yet to be mailed, we will cancel check mailing. You will see no updates to the check delivery status and will not receive webhooks.

If a stop payment request is received on a check that has already been mailed, Column will continue to update the delivery status for data integrity purposes, but we will not send additional webhooks.                      

Mailing checks with other providers

You can also work with a third party of your choice for check printing and mailing. When you create a check through our API, the response will have the data you need to easily share with your third-party check printing service. If using a third party service, you should not include message and payee address when issuing a check.