Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[16.0][mig] account_banking_ach_direct_debit #127

Open
wants to merge 15 commits into
base: 16.0
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
110 changes: 110 additions & 0 deletions account_banking_ach_direct_debit/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
================================
Account Banking ACH Direct Debit
================================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:533476dea56dcec3ccffacf4c86fd8c18995db4b435411b2b23e95829d503248
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fl10n--usa-lightgray.png?logo=github
:target: https://github.com/OCA/l10n-usa/tree/16.0/account_banking_ach_direct_debit
:alt: OCA/l10n-usa
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/l10n-usa-16-0/l10n-usa-16-0-account_banking_ach_direct_debit
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/l10n-usa&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

Create ACH files for Direct Debit

Module to export direct debit payment orders in Nacha file format.

**Table of contents**

.. contents::
:local:

Installation
============

This module depends on :

* account_banking_ach_base
* carta-ach
* stdnum

Configuration
=============

1. Your Company record must have the Legal ID specified.
2. Your Bank must have the Routing Number specified.


For defining a payment mode that uses ACH direct debit:

#. Go to *Accounting > Configuration > Management > Payment Modes*.
#. Create a Customer Invoice.
#. Select the Payment Method *ACH* (which is automatically created upon module installation).

Usage
=====

In the menu *Accounting > Payments > Debit Order*, create a new debit
order and select the Payment Mode dedicated to ACH Direct Debit that
you created during the configuration step.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/l10n-usa/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/l10n-usa/issues/new?body=module:%20account_banking_ach_direct_debit%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* Thinkwell Designs

Contributors
~~~~~~~~~~~~

* Dave Burkholder <dave@thinkwelldesigns.com>
* Maxime Chambreuil <mchambreuil@opensourceintegrators.com>
* Serpent Consulting Services Pvt. Ltd. <support@serpentcs.com>
* Murtaza Mithaiwala mmithaiwala@@opensourceintegrators.com>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/l10n-usa <https://github.com/OCA/l10n-usa/tree/16.0/account_banking_ach_direct_debit>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
3 changes: 3 additions & 0 deletions account_banking_ach_direct_debit/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
23 changes: 23 additions & 0 deletions account_banking_ach_direct_debit/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Copyright 2018 Thinkwell Designs <dave@thinkwelldesigns.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

{
"name": "Account Banking ACH Direct Debit",
"summary": "Create ACH files for Direct Debit",
"version": "16.0.1.0.0",
"license": "AGPL-3",
"author": "Thinkwell Designs, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/l10n-usa",
"category": "Banking addons",
"depends": [
"account_banking_ach_base",
],
"data": [
"data/mandate_expire_cron.xml",
"data/account_payment_method.xml",
"views/account_payment_order.xml",
"views/account_banking_mandate_view.xml",
],
"demo": ["demo/ach_direct_debit_demo.xml"],
"installable": True,
}
10 changes: 10 additions & 0 deletions account_banking_ach_direct_debit/data/account_payment_method.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="ach_direct_debit" model="account.payment.method">
<field name="name">ACH</field>
<field name="code">ACH-In</field>
<field name="payment_type">inbound</field>
<field name="bank_account_required" eval="True" />
<field name="mandate_required" eval="True" />
</record>
</odoo>
15 changes: 15 additions & 0 deletions account_banking_ach_direct_debit/data/mandate_expire_cron.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="ach_mandate_expire_cron" model="ir.cron">
<field name="name">Set ACH Direct Debit Mandates to Expired</field>
<field name="active" eval="True" />
<field name="user_id" ref="base.user_root" />
<field name="state">code</field>
<field name="interval_number">1</field>
<field name="interval_type">days</field>
<field name="numbercall">-1</field>
<field name="doall" eval="False" />
<field name="model_id" ref="model_account_banking_mandate" />
<field name="code">model._achdd_mandate_set_state_to_expired()</field>
</record>
</odoo>
37 changes: 37 additions & 0 deletions account_banking_ach_direct_debit/demo/ach_direct_debit_demo.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo noupdate="1">
<record id="payment_mode_inbound_ach_dd1" model="account.payment.mode">
<field name="name">ACH Direct Debit of customers</field>
<field name="company_id" ref="base.main_company" />
<field name="bank_account_link">variable</field>
<field name="payment_method_id" ref="ach_direct_debit" />
<field
name="default_journal_ids"
search="[('type', 'in', ('sale', 'sale_refund'))]"
/>
</record>
<!-- Camptocamp -->
<record id="res_partner_12_mandate" model="account.banking.mandate">
<field name="partner_bank_id" ref="account_payment_mode.res_partner_12_iban" />
<field name="format">ach</field>
<field name="type">recurrent</field>
<field name="recurrent_sequence_type">first</field>
<field name="signature_date" eval="time.strftime('%Y-01-01')" />
<field name="state">valid</field>
</record>
<record id="base.res_partner_12" model="res.partner">
<field name="customer_payment_mode_id" ref="payment_mode_inbound_ach_dd1" />
</record>
<!-- Agrolait -->
<record id="res_partner_2_mandate" model="account.banking.mandate">
<field name="partner_bank_id" ref="account_payment_mode.res_partner_2_iban" />
<field name="format">ach</field>
<field name="type">recurrent</field>
<field name="recurrent_sequence_type">first</field>
<field name="signature_date" eval="time.strftime('%Y-%m-01')" />
<field name="state">valid</field>
</record>
<record id="base.res_partner_2" model="res.partner">
<field name="customer_payment_mode_id" ref="payment_mode_inbound_ach_dd1" />
</record>
</odoo>
Original file line number Diff line number Diff line change
@@ -0,0 +1,194 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_banking_ach_direct_debit
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 14.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"

#. module: account_banking_ach_direct_debit
#: code:addons/account_banking_ach_direct_debit/models/account_banking_mandate.py:0
#, python-format
msgid "0 ACH Mandates had to be set to Expired"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model,name:account_banking_ach_direct_debit.model_account_banking_mandate
msgid "A generic banking mandate"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:account.payment.method,name:account_banking_ach_direct_debit.ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__format__ach
msgid "ACH"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:account.payment.mode,name:account_banking_ach_direct_debit.payment_mode_inbound_ach_dd1
msgid "ACH Direct Debit of customers"
msgstr ""

#. module: account_banking_ach_direct_debit
#: code:addons/account_banking_ach_direct_debit/models/account_banking_mandate.py:0
#, python-format
msgid ""
"As you changed the bank account attached to this mandate, the 'Sequence "
"Type' has been set back to 'First'."
msgstr ""

#. module: account_banking_ach_direct_debit
#: code:addons/account_banking_ach_direct_debit/models/account_payment_order.py:0
#, python-format
msgid ""
"Automatically switched from <b>First</b> to <b>Recurring</b> when the debit "
"order <a href=# data-oe-model=account.payment.order data-oe-id=%d>%s</a> has"
" been marked as uploaded."
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__scheme__core
msgid "Basic (CORE)"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate__display_name
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_payment_order__display_name
msgid "Display Name"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__scheme__b2b
msgid "Enterprise (B2B)"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__recurrent_sequence_type__final
msgid "Final"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__recurrent_sequence_type__first
msgid "First"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate__id
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_payment_order__id
msgid "ID"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate____last_update
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_payment_order____last_update
msgid "Last Modified on"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate__format
msgid "Mandate Format"
msgstr ""

#. module: account_banking_ach_direct_debit
#: code:addons/account_banking_ach_direct_debit/models/account_banking_mandate.py:0
#, python-format
msgid "Mandate update"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__type__oneoff
#: model_terms:ir.ui.view,arch_db:account_banking_ach_direct_debit.view_mandate_search
msgid "One-Off"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model,name:account_banking_ach_direct_debit.model_account_payment_order
msgid "Payment Order"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.ui.menu,name:account_banking_ach_direct_debit.customer_payment_orders
msgid "Payment Orders"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__type__recurrent
#: model_terms:ir.ui.view,arch_db:account_banking_ach_direct_debit.view_mandate_search
msgid "Recurrent"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields.selection,name:account_banking_ach_direct_debit.selection__account_banking_mandate__recurrent_sequence_type__recurring
msgid "Recurring"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate__scheme
#: model_terms:ir.ui.view,arch_db:account_banking_ach_direct_debit.view_mandate_search
msgid "Scheme"
msgstr ""

#. module: account_banking_ach_direct_debit
#: code:addons/account_banking_ach_direct_debit/models/account_banking_mandate.py:0
#, python-format
msgid "Searching for ACH Mandates that must be set to Expired"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model_terms:ir.ui.view,arch_db:account_banking_ach_direct_debit.view_mandate_search
#: model_terms:ir.ui.view,arch_db:account_banking_ach_direct_debit.view_mandate_tree
msgid "Sequence Type"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate__recurrent_sequence_type
msgid "Sequence Type for Next Debit"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.actions.server,name:account_banking_ach_direct_debit.ach_mandate_expire_cron_ir_actions_server
#: model:ir.cron,cron_name:account_banking_ach_direct_debit.ach_mandate_expire_cron
#: model:ir.cron,name:account_banking_ach_direct_debit.ach_mandate_expire_cron
msgid "Set ACH Direct Debit Mandates to Expired"
msgstr ""

#. module: account_banking_ach_direct_debit
#: code:addons/account_banking_ach_direct_debit/models/account_banking_mandate.py:0
#, python-format
msgid "The following ACH Mandate IDs have been set to expired: %s"
msgstr ""

#. module: account_banking_ach_direct_debit
#: code:addons/account_banking_ach_direct_debit/models/account_banking_mandate.py:0
#, python-format
msgid "The recurrent mandate '%s' must have a sequence type."
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,help:account_banking_ach_direct_debit.field_account_banking_mandate__recurrent_sequence_type
msgid ""
"This field is only used for Recurrent mandates, not for\n"
" One-Off mandates."
msgstr ""

#. module: account_banking_ach_direct_debit
#: model_terms:ir.ui.view,arch_db:account_banking_ach_direct_debit.view_mandate_search
#: model_terms:ir.ui.view,arch_db:account_banking_ach_direct_debit.view_mandate_tree
msgid "Type"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate__type
msgid "Type of Mandate"
msgstr ""

#. module: account_banking_ach_direct_debit
#: model:ir.model.fields,field_description:account_banking_ach_direct_debit.field_account_banking_mandate__unique_mandate_reference
msgid "Unique Mandate Reference"
msgstr ""
Loading
Loading