diff --git a/account_payment_analytic/README.rst b/account_payment_analytic/README.rst
new file mode 100644
index 00000000..4b3bf352
--- /dev/null
+++ b/account_payment_analytic/README.rst
@@ -0,0 +1,16 @@
+********************************
+Hibou - Account Payment Analytic
+********************************
+
+Need to track Analytic Accounts on payments? Look no further!
+
+For more information and add-ons, visit `Hibou.io `_.
+
+
+=======
+License
+=======
+
+Please see `LICENSE `_.
+
+Copyright Hibou Corp. 2019
diff --git a/account_payment_analytic/__init__.py b/account_payment_analytic/__init__.py
new file mode 100644
index 00000000..0650744f
--- /dev/null
+++ b/account_payment_analytic/__init__.py
@@ -0,0 +1 @@
+from . import models
diff --git a/account_payment_analytic/__manifest__.py b/account_payment_analytic/__manifest__.py
new file mode 100644
index 00000000..f9437af9
--- /dev/null
+++ b/account_payment_analytic/__manifest__.py
@@ -0,0 +1,19 @@
+{
+ 'name': 'Payment Analytic',
+ 'version': '11.0.1.0.0',
+ 'author': 'Hibou Corp. ',
+ 'category': 'Accounting',
+ 'summary': 'Record Analytic Account on Payment',
+ 'description': """
+Record Analytic Account on Payment
+""",
+ 'website': 'https://hibou.io/',
+ 'depends': [
+ 'account',
+ ],
+ 'data': [
+ 'views/account_payment_views.xml',
+ ],
+ 'installable': True,
+ 'auto_install': False,
+}
diff --git a/account_payment_analytic/models/__init__.py b/account_payment_analytic/models/__init__.py
new file mode 100644
index 00000000..ab350b87
--- /dev/null
+++ b/account_payment_analytic/models/__init__.py
@@ -0,0 +1 @@
+from . import account_payment
diff --git a/account_payment_analytic/models/account_payment.py b/account_payment_analytic/models/account_payment.py
new file mode 100644
index 00000000..afa3fa2c
--- /dev/null
+++ b/account_payment_analytic/models/account_payment.py
@@ -0,0 +1,29 @@
+from odoo import api, fields, models
+
+
+class AccountAbstractPayment(models.AbstractModel):
+ _inherit = 'account.abstract.payment'
+
+ account_analytic_id = fields.Many2one('account.analytic.account', string='Analytic Account')
+
+
+class AccountRegisterPayment(models.TransientModel):
+ _inherit = 'account.register.payments'
+
+ @api.multi
+ def _prepare_payment_vals(self, invoices):
+ res = super(AccountRegisterPayment, self)._prepare_payment_vals(invoices)
+ if self.account_analytic_id:
+ res['account_analytic_id'] = self.account_analytic_id.id
+ return res
+
+
+class AccountPayment(models.Model):
+ _inherit = 'account.payment'
+
+ def _get_shared_move_line_vals(self, debit, credit, amount_currency, move_id, invoice_id=False):
+ res = super(AccountPayment, self)._get_shared_move_line_vals(debit, credit, amount_currency, move_id, invoice_id=invoice_id)
+ if self.account_analytic_id:
+ # Note the field name is not an accident! res is `account.move.line`
+ res['analytic_account_id'] = self.account_analytic_id.id
+ return res
diff --git a/account_payment_analytic/views/account_payment_views.xml b/account_payment_analytic/views/account_payment_views.xml
new file mode 100644
index 00000000..05fb1437
--- /dev/null
+++ b/account_payment_analytic/views/account_payment_views.xml
@@ -0,0 +1,49 @@
+
+
+
+
+ account.register.payments.wizard.inherit
+ account.register.payments
+
+
+
+
+
+
+
+
+
+
+ account.payment.form.inherit
+ account.payment
+
+
+
+
+
+
+
+
+
+ account.payment.tree.inherit
+ account.payment
+
+
+
+
+
+
+
+
+
+ account.supplier.payment.tree.inherit
+ account.payment
+
+
+
+
+
+
+
+
+
\ No newline at end of file