Skip to content

Commit

Permalink
[IMP] accounting/l10n_ca: cpa 500 payment export
Browse files Browse the repository at this point in the history
  • Loading branch information
samueljlieber committed Nov 7, 2024
1 parent 78ff40e commit 9cd1072
Show file tree
Hide file tree
Showing 3 changed files with 141 additions and 0 deletions.
2 changes: 2 additions & 0 deletions content/applications/finance/accounting/bank.rst
Original file line number Diff line number Diff line change
Expand Up @@ -110,6 +110,8 @@ You can edit the currency used to enter the statements.
.. seealso::
:doc:`get_started/multi_currency`

.. _bank_accounts/number:

Account number
--------------

Expand Down
4 changes: 4 additions & 0 deletions content/applications/finance/accounting/vendor_bills.rst
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@ amounts on time.
- Tutorial `Registering a vendor bill <https://www.odoo.com/slides/slide/registering-a-vendor-bill-1683?fullscreen=1>`_
- :doc:`/applications/inventory_and_mrp/purchase/manage_deals/manage`

.. _vendor_bills/create:

Bill creation
=============

Expand Down Expand Up @@ -68,6 +70,8 @@ Click :guilabel:`Confirm` when the document is completed. The status of your doc
Once confirmed, it is no longer possible to update it. Click :guilabel:`Reset to draft` if
changes are required.

.. _vendor_bills/payment:

Bill Payment
============

Expand Down
135 changes: 135 additions & 0 deletions content/applications/finance/fiscal_localizations/canada.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@ Canada
.. |COA| replace:: :abbr:`CoA (Chart of Accounts)`
.. |AR| replace:: :abbr:`AR (Accounts Receivable)`
.. |AP| replace:: :abbr:`AP (Accounts Payable)`
.. |CPA| replace:: :abbr:`CPA (Chartered Professional Accountant)`
.. |FCN| replace:: :abbr:`FCN (Next File Creation Number)`

The Odoo Canada localization package provides tailored features and configurations for Canadian
businesses.
Expand Down Expand Up @@ -42,6 +44,9 @@ localization:
* - :guilabel:`Canada - Accounting Reports`
- `l10n_ca_reports`
- Adds Canadian accounting reports.
* - :guilabel:`CPA005 Payments`
- `l10n_ca_payment_cpa005`
- Enables the export of payments as :ref:`CPA 005 files <l10n_ca/cpa005>` for use in Canada.
* - :guilabel:`Canadian Checks Layout`
- `l10n_ca_check_printing`
- Enables the printing of payments on pre-printed check paper. Supports the three most common
Expand All @@ -55,6 +60,25 @@ localization:
- `Check on bottom: ADP standard
<https://checkdepot.net/collections/computer-checks/odoo+Bottom-Check>`_


Company
-------

Configure the company record by navigating to :menuselection:`Settings --> General Settings` and
find the :guilabel:`Companies` section. From here, select the :icon:`oi-arrow-right`
:guilabel:`Update Info` button to modify the following company fields:

- :guilabel:`Company Name`: name of the company.
- :guilabel:`Address`: the complete address of the company, be sure the :guilabel:`Country` is set
as :guilabel:`Canada`.
- :guilabel:`Short Name used in Canadian EFT`: 15 character field used to represent a short version
of the *Originator's name* in Canadian EFT files. It is typically used for bank statements. Most
banks **require** this value to be all uppercase.

.. note::
Both the :guilabel:`Company Name` and the :guilabel:`Short Name used in Canadian EFT` appear in
the :ref:`CPA 005 file <l10n_ca/cpa005>`.

.. _l10n_ca/coa:

Chart of accounts
Expand Down Expand Up @@ -309,3 +333,114 @@ In the Odoo Canadian localization, pre-authorized debits are facilitated through
- :doc:`Setting up payment providers <../payment_providers>`
- `Stripe's pre-authorized debit payments documentation
<https://docs.stripe.com/payments/acss-debit>`_

.. _l10n_ca/cpa005:

|CPA| 005 file to pay vendors
=============================

To use the |CPA| 005 file, a type of electronic funds transfer (EFT) document, to pay vendors, first
configure the :ref:`Bank journal <l10n_ca/cpa005/bank-journal>` and
:ref:`Vendor <l10n_ca/cpa005/vendor>`. Then, follow the :ref:`workflow <l10n_ca/cpa005/workflow>`.

.. _l10n_ca/cpa005/bank-journal:

Configuration
-------------

Bank journal
~~~~~~~~~~~~

Navigate to :menuselection:`Accounting --> Configuration --> Journals` and then select the
:guilabel:`Bank` journal.

In the :guilabel:`Bank` journal record, select the :guilabel:`Outgoing Payments` tab.

Be sure :guilabel:`Canadian EFT` is listed under the :guilabel:`Payment Method`.

In the :guilabel:`Canadian EFT/CPA configuration`, configure the fields that where provided by the
bank and are needed for generating the EFT file:

- :guilabel:`Destination Data Center`: 5-digit ID.
- :guilabel:`Originator ID`: 10-digit code.

.. important::
Some banks require the :guilabel:`Originator ID` to combine the :guilabel:`Destination Data
Center` ID with the routing number. Please check with the bank for the expected format.

- :guilabel:`Next File Creation Number (FCN)`: used when validating a Canadian EFT batch payment and
is printed in the XML file. The |FCN| is a 4-digit sequence from `0001` to `9999`.

.. important::
Some banks require a specific |FCN| number, please check with the bank.

.. tip::
If any details of the |FCN| need to be adjusted, go to :menuselection:`Settings --> Technical
--> Sequences` and search for `FCN`.

Next, select the :guilabel:`Journal Entries` tab and configure the following fields:

- :guilabel:`Account Number`: Select an existing bank account number or :ref:`create a new one
<bank_accounts/number>` by selecting the :icon:`oi-arrow-right` :guilabel:`(Internal link)` icon.

Be sure to select a :guilabel:`Bank`, set a :guilabel:`Financial Institution ID Number`, and to
enable :guilabel:`Send Money`.
- :guilabel:`Bank`: Automatically selected depending on the :guilabel:`Account Number`.

.. important::
To validate the bank account, the user **must** have the permission to do so. To confirm,
navigate to :menuselection:`Settings --> Users & Companies --> Users`, select the user, and in
the :guilabel:`Access Rights` tab find the :guilabel:`Accounting` section.

From here, make sure the :guilabel:`Bank` field is set to :guilabel:`Validate bank account`.

.. _l10n_ca/cpa005/vendor:

Vendor
~~~~~~

Navigate to :menuselection:`Accounting --> Vendors --> Vendors` and choose a vendor to set up their
bank account information.

In the :guilabel:`Accounting` tab, be sure to configure :guilabel:`Bank Accounts`.

.. _l10n_ca/cpa005/workflow:

Workflow
--------

First, :ref:`create the vendor bills <vendor_bills/create>` and :ref:`register the payments
<vendor_bills/payment>`.

- :guilabel:`Payment Type`: select :guilabel:`Send`.
- :guilabel:`Vendor`: select the vendor to assign to this payment.
- :guilabel:`Ammount`: set a payment amount.
- :guilabel:`Date`: select the date of the payment.
- :guilabel:`Memo`: write in a memo description.
- :guilabel:`Journal`: select :guilabel:`Bank`.
- :guilabel:`Payment Method`: select :guilabel:`Canadian EFT`.
- :guilabel:`EFT/CPA transaction code`: select the desired transaction code.
- :guilabel:`Vendor Bank Account`: select the vendor's bank account.

.. note::
Alternativly, a :doc:`payment can be created independently <../accounting/payments>`. Be sure to
select :guilabel:`Canadian EFT` as the :guilabel:`Payment Method`.

Finally, create a batch payment by navigating to :menuselection:`Accounting --> Vendors -->
Payments`. Select the checkboxes for each of the vendor payments to include in the batch, then
select the :guilabel:`Create Batch` button to create a new batch payment.

.. tip::
The payments included in a batch are not restricted by the same vendor.

Existing batch payments can be managed from :menuselection:`Accounting --> Vendors --> Batch
Payments`. The export :file:`.txt` file displays in the chatter of the batch payment.

.. note::
Please be aware that after importing the :file:`.txt` file to the bank, it may take up to 48
hours to process the payment. Plan ahead if a deadline exists, such as payroll, to avoid legal
issues.

.. important::
Please validate the batch payment only once the date is confirmed. It is difficult to modify a
validated batch payment.

0 comments on commit 9cd1072

Please sign in to comment.