Can I print Company checks from Tryton?

Is there a set up to print company check. When I searched the Docs all it showed was to print PO or Sales. I need to cut a check to a vendor. Do I need different software for that? I figured there was a way in Tryton to do it. I just have not figured it out yet. Thanks TelematicMan

So I guess I will need another software for to complete the printing check process. If so any recommendations on what software might be able to work with Tryton or integrate closely? Thanks

you can do your own procedures via Reports — trytond latest documentation

I apologize for I do not understand exactly what you mean? My own “Procedures” are you saying my business printing on a check to my vendor is a "Procedure or called a Procedure in Tryton terminology?

That printing a on check from Tryton could be done as a report? Im not should quite how this would work using a report template as every paper check will have different numbers on it.
I am not an account and trying to gather this info for someone else who is also new to Tryton. Currently they print checks from QuickBooks. Thank You.

I guess I am looking for something like this

A module allows to print your payments on pre-printed check paper.
A module adds the address to the Payee section of a check

Is there such a Module for Tryton? Thanks

I found this in an old thread from Aug 2019

Is the why I cannot find a module to do this ? The module does not exist yet so the work around is to manually run them? Thanks

I think that the reason why you can not find such a module to do this is that not many countries use checks anymore, in Europe even France (which is notorious - at least in Belgium :stuck_out_tongue_winking_eye: - for its love of checks) is switching to electronic payments.

Moreover if I understood you correctly it’s probably just an issue of designing your own report in order to print correctly on your check template.

If you think Belgium is bad you have not seen America! It is still like a requirement here to make payments to most things. Sure employees can have their checks direct deposited but most companies still use good “old” checks here in the US LOL. Thanks

Igualmente pasa aquí en Venezuela, algunos procesos no han sido automatizados y es necesario pagar con cheques, aunque la tendencia es ir a la banca electronica, por los momentos sigo usando el sistema viejo para hacer os cheques y continuo en paralelo con tryton


We at Argentina develop account_check_ar to register checks an the flows of them. It depends on account_voucher_ar, but that’s because we register our payments with that module. Probably, it could be modify it to work with account_stament module. Hope it helps!

It will be great to describe which Workflows related to checks do you need.
This may be a starting point to develop a solution that works for all countries.

Thank you for all the help! I will find out which Modules but I believe it will be to pay our vendors and some of the remote employees.

Lukio Thank you I will look into this!


The module create two kind of check models:

  • AccountIssuedCheck (created by the company).


  • number (Char)
  • amount (Numeric)
  • date (Date)
  • date_out (Date)
  • receiving_party (Many2One ->
  • on_order (Char)
  • signature (Char)
  • clearing. (Selection: [24, 48, 72])
  • origin (Char).
  • voucher (account.voucher -> account_voucher_ar)
  • bank_account (Many2One: bank.account of the company)
  • electronic (Boolean). Implementation of an electronic check.
  • state: [draft, issued, debited])

transitions: draft -> issued -> debited.


  1. At account_voucher_ar when you create a payment for a supplier, you can create or add checks in draft state. When the payment is completed, the check state changes to issued and the receiving_party is filled.

  2. When you know that the check was debited from your bank account, you have a wizard to select the check and change it to debited. Internaly, will create the account move.

  3. If you made a mistake and move the check to debited, you can returned the state to issued again by other Wizard. Internaly, will cancel the account move.

  • AccountThirdCheck (created by third companies).

  • number (Char)

  • amount (Numeric)

  • date_in (Date)

  • date (Date)

  • date_out (Date)

  • debit_date (Date)

  • source_party (Many2One ->

  • destiny_party (Many2One ->

  • not_to_order (Boolean)

  • on_order (Char)

  • signatory (Char)

  • clearing. (Selection: [24, 48, 72])

  • origin (Char).

  • voucher_in (account.voucher -> account_voucher_ar)

  • voucher_out (account.voucher -> account_voucher_ar)

  • reject_debit_note (Many2One: account.invoice)

  • account_bank_out (Many2One: bank.account of the company)

  • bank (Many2One: bank)

  • electronic (Boolean). Implementation of an electronic check.

  • state: [draft, held, deposited, delivered, rejected,reverted])



  • draft -> held
  • held -> deposited
  • held-> delivered
  • deposited->delivered
  • delivered->reverted
  • reverted->rejected.
  1. At account_voucher_ar when you create a payment for a customer, you can create or add checks in draft state. When the payment is completed, the check state changes to held and the source_party is filled. If you are paying to a supplier, then you can add checks in state held or reverted. When the payment is completed, the check changes to state delivered and destiny_party is filled.

  2. If you have a check but it was not deliver to you by a voucher, you can created in draft state, and then change his state to held by a Wizard. Internaly, will create the account move.

  3. When you know that the check was deposited into your bank account, you have a Wizard to achieve it. You can select checks in held or reverted state. The state will change to deposited, and account_bank_out will be filled.

  4. If you made a mistake or the check was returned to you, then you can set it to reverted by another Wizard. It will change the check state to reverted and create a new account move. The account bank out field, will be set to none.

If you need to reject the check you have a button that is active at reverted state to set it to rejected. Then, manually you need to create a new account invoice to the party who delivered to you that check for bank expenses.

Hope it helps!

This should be managed instead by account.payment using a dedicated payment journal for check.

This should be managed by account.statement using a dedicated statement journal for check.

I completly agree here. I’m just wondering if we can improve the base module to be able to manage also checks.

In Spain some banks allow you to send the check details using a custom file format (here is for example bank sabadell one’s) and then they process the payment of the check like a normal file transfer.

I think the only missing field is the cheque number and the bank account. As the source and destination parties are always available (the party and the company).

Well this is a de-materialized check deposit process. So it could be generated by the statement once posted.
But indeed to properly manage check deposit, we need to have a dedicated document than account statement because we need to manage failure.