6 |
7 | EL ADQUIRENTE ASUME EL COMPROMISO, EN CARÁCTER DE DECLARACION JURADA, DE NO EXPORTAR EL BIEN DURANTE EL PLAZO DE TRES 3 AÑOS CONTADOS A PARTIR DE SU ADQUISICION
8 |
9 |
17 | Display Financial amounts on partner debts views and reports. Financial amounts are amounts on other currency converted to company currency on todays exchange
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
--------------------------------------------------------------------------------
/l10n_ar_account_withholding/models/afip.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | from odoo import models, fields
3 |
4 |
5 | class AfipTablagananciasEscala(models.Model):
6 | _name = 'afip.tabla_ganancias.escala'
7 | _rec_name = 'importe_desde'
8 |
9 | importe_desde = fields.Float(
10 | 'Mas de $',
11 | )
12 | importe_hasta = fields.Float(
13 | 'A $',
14 | )
15 | importe_fijo = fields.Float(
16 | '$',
17 | )
18 | porcentaje = fields.Float(
19 | 'Más el %'
20 | )
21 | importe_excedente = fields.Float(
22 | 'S/ Exced. de $'
23 | )
24 |
25 |
26 | class AfipTablagananciasAlicuotasymontos(models.Model):
27 | _name = 'afip.tabla_ganancias.alicuotasymontos'
28 | _rec_name = 'codigo_de_regimen'
29 |
30 | codigo_de_regimen = fields.Char(
31 | 'Codigo de regimen',
32 | size=6,
33 | required=True,
34 | help='Codigo de regimen de inscripcion en impuesto a las ganancias.'
35 | )
36 | anexo_referencia = fields.Char(
37 | required=True,
38 | )
39 | concepto_referencia = fields.Text(
40 | required=True,
41 | )
42 | porcentaje_inscripto = fields.Float(
43 | '% Inscripto',
44 | help='Elija -1 si se debe calcular s/escala'
45 | )
46 | porcentaje_no_inscripto = fields.Float(
47 | '% No Inscripto'
48 | )
49 | montos_no_sujetos_a_retencion = fields.Float(
50 | )
51 |
--------------------------------------------------------------------------------
/l10n_ar_bank/i18n/es.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | # * l10n_ar_bank
4 | #
5 | # Translators:
6 | # Juan José Scarafía , 2018
7 | #
8 | msgid ""
9 | msgstr ""
10 | "Project-Id-Version: Odoo Server 11.0\n"
11 | "Report-Msgid-Bugs-To: \n"
12 | "POT-Creation-Date: 2019-06-04 22:15+0000\n"
13 | "PO-Revision-Date: 2018-05-18 13:22+0000\n"
14 | "Last-Translator: Juan José Scarafía , 2018\n"
15 | "Language-Team: Spanish (https://www.transifex.com/adhoc/teams/46451/es/)\n"
16 | "MIME-Version: 1.0\n"
17 | "Content-Type: text/plain; charset=UTF-8\n"
18 | "Content-Transfer-Encoding: \n"
19 | "Language: es\n"
20 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
21 |
22 | #. module: l10n_ar_bank
23 | #: model:ir.model,name:l10n_ar_bank.model_res_partner_bank
24 | msgid "Bank Accounts"
25 | msgstr "Cuentas Bancarias"
26 |
27 | #. module: l10n_ar_bank
28 | #: model:ir.model.fields,field_description:l10n_ar_bank.field_res_partner_bank_cbu
29 | msgid "CBU"
30 | msgstr "CBU"
31 |
32 | #. module: l10n_ar_bank
33 | #: model:ir.model.fields,help:l10n_ar_bank.field_res_partner_bank_cbu
34 | msgid "Código Bancario Único Argentino"
35 | msgstr "Código Bancario Único Argentino"
36 |
37 | #. module: l10n_ar_bank
38 | #: code:addons/l10n_ar_bank/l10n_ar_bank.py:22
39 | #, python-format
40 | msgid "El CBU \"%s\" no es válido"
41 | msgstr ""
42 |
--------------------------------------------------------------------------------
/account_withholding_automatic/models/account_move.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | from odoo import models, api, fields
3 |
4 |
5 | class AccountMove(models.Model):
6 | _inherit = "account.move"
7 |
8 | def _get_tax_factor(self):
9 | tax_factor = (self.amount_untaxed / self.amount_total) or 1.0
10 | doc_letter = self.l10n_latam_document_type_id.l10n_ar_letter
11 | # if we receive B invoices, then we take out 21 of vat
12 | # this use of case if when company is except on vat for eg.
13 | if tax_factor == 1.0 and doc_letter == 'B':
14 | tax_factor = 1.0 / 1.21
15 | return tax_factor
16 |
17 | #@api.multi
18 | #def get_taxes_values(self):
19 | # """
20 | # Hacemos esto para disponer de fecha de factura y cia para calcular
21 | # impuesto con código python (por ej. para ARBA).
22 | # Aparentemente no se puede cambiar el contexto a cosas que se llaman
23 | # desde un onchange (ver https://github.com/odoo/odoo/issues/7472)
24 | # entonces usamos este artilugio
25 | # """
26 | # date_invoice = self.date_invoice or fields.Date.context_today(self)
27 | # hacemos try porque al llamarse desde acciones de servidor da error
28 | # try:
29 | #self.env.context.date_invoice = date_invoice
30 | # self.env.context.invoice_company = self.company_id
31 | # except Exception:
32 | # pass
33 | # return super(AccountInvoice, self).get_taxes_values()
34 | #
35 | #
36 | #
37 |
--------------------------------------------------------------------------------
/l10n_ar_account_vat_ledger/migrations/9.0.1.0.0/post-migration.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | ##############################################################################
3 | #
4 | # OpenUpgrade module for Odoo
5 | # @copyright 2015-Today: Odoo Community Association
6 | # @author: Stephane LE CORNEC
7 | #
8 | # This program is free software: you can redistribute it and/or modify
9 | # it under the terms of the GNU Affero General Public License as
10 | # published by the Free Software Foundation, either version 3 of the
11 | # License, or (at your option) any later version.
12 | #
13 | # This program is distributed in the hope that it will be useful,
14 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
15 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 | # GNU Affero General Public License for more details.
17 | #
18 | # You should have received a copy of the GNU Affero General Public License
19 | # along with this program. If not, see .
20 | #
21 | ##############################################################################
22 |
23 | from openupgradelib import openupgrade
24 |
25 |
26 | @openupgrade.migrate()
27 | def migrate(cr, version):
28 | # because we add require vat boolean
29 | openupgrade.logged_query(cr, """
30 | UPDATE account_vat_ledger avl
31 | SET date_from = ap.date_start, date_to = ap.date_stop
32 | FROM account_period ap where avl.period_id = ap.id
33 | """,)
34 |
--------------------------------------------------------------------------------
/l10n_ar_bank/l10n_ar_bank.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import fields, models, api, _
6 | from odoo.exceptions import UserError
7 |
8 |
9 | class ResPartnerBank(models.Model):
10 | _inherit = 'res.partner.bank'
11 |
12 | cbu = fields.Char(
13 | 'CBU',
14 | help=u"Código Bancario Único Argentino"
15 | )
16 |
17 | @api.constrains('cbu')
18 | def check_cbu(self):
19 | for rec in self:
20 | if rec.cbu and not rec.is_valid_cbu():
21 | raise UserError(_('El CBU "%s" no es válido') % rec.cbu)
22 |
23 | def is_valid_cbu(self):
24 | self.ensure_one()
25 |
26 | cbu = self.cbu
27 |
28 | if type(cbu) == int:
29 | cbu = "%022d" % cbu
30 | cbu = cbu.strip()
31 | if len(cbu) != 22:
32 | return False
33 | s1 = sum(int(a) * b for a, b in zip(cbu[0:7], (7, 1, 3, 9, 7, 1, 3)))
34 | d1 = (10 - s1) % 10
35 | if d1 != int(cbu[7]):
36 | return False
37 | s2 = sum(int(a) * b
38 | for a, b in zip(cbu[8:-1],
39 | (3, 9, 7, 1, 3, 9, 7, 1, 3, 9, 7, 1, 3)))
40 | d2 = (10 - s2) % 10
41 | if d2 != int(cbu[-1]):
42 | return False
43 |
44 | return True
45 |
--------------------------------------------------------------------------------
/l10n_ar_account_withholding/views/afip_activity_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | afip.activity.form
6 | afip.activity
7 |
8 |
15 |
16 |
17 |
18 |
19 | afip.activity.tree
20 | afip.activity
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 | AFIP activity
31 | ir.actions.act_window
32 | afip.activity
33 | tree,form
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/account_withholding/__manifest__.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | #
3 | # Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar)
4 | # All Rights Reserved.
5 | #
6 | # This program is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU Affero General Public License as
8 | # published by the Free Software Foundation, either version 3 of the
9 | # License, or (at your option) any later version.
10 | #
11 | # This program is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU Affero General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU Affero General Public License
17 | # along with this program. If not, see .
18 | #
19 | ##############################################################################
20 | {
21 | 'license': 'AGPL-3',
22 | 'category': 'Accounting & Finance',
23 | 'data': [
24 | 'views/account_tax_view.xml',
25 | 'views/account_payment_view.xml',
26 | 'data/account_payment_method_data.xml',
27 | ],
28 | 'depends': [
29 | 'account',
30 | # for payment method description and company_id field on form view
31 | 'l10n_ar',
32 | ],
33 | 'installable': True,
34 | 'name': 'Retenciones en pagos',
35 | 'test': [],
36 | 'version': '13.0.1.0.0',
37 | }
38 |
--------------------------------------------------------------------------------
/l10n_ar_account_withholding/views/account_payment_group_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | account.payment.group.form
7 | account.payment.group
8 |
9 |
10 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
--------------------------------------------------------------------------------
/account_financial_amount/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ============================
14 | Accounting Financial Amounts
15 | ============================
16 |
17 | Add financial amounts on account move lines.
18 |
19 | IMPORTANTE: This module should not be installed alone, it is going to be installed by other modules automatically.
20 |
21 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
22 | :alt: Try me on Runbot
23 | :target: http://runbot.adhoc.com.ar/
24 |
25 | Bug Tracker
26 | ===========
27 |
28 | Bugs are tracked on `GitHub Issues
29 | `_. In case of trouble, please
30 | check there if your issue has already been reported. If you spotted it first,
31 | help us smashing it by providing a detailed and welcomed feedback.
32 |
33 | Credits
34 | =======
35 |
36 | Images
37 | ------
38 |
39 | * |company| |icon|
40 |
41 | Contributors
42 | ------------
43 |
44 | Maintainer
45 | ----------
46 |
47 | |company_logo|
48 |
49 | This module is maintained by the |company|.
50 |
51 | To contribute to this module, please visit https://www.adhoc.com.ar.
52 |
--------------------------------------------------------------------------------
/account_withholding_automatic/__manifest__.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | #
3 | # Copyright (C) 2015 ADHOC SA (http://www.adhoc.com.ar)
4 | # All Rights Reserved.
5 | #
6 | # This program is free software: you can redistribute it and/or modify
7 | # it under the terms of the GNU Affero General Public License as
8 | # published by the Free Software Foundation, either version 3 of the
9 | # License, or (at your option) any later version.
10 | #
11 | # This program is distributed in the hope that it will be useful,
12 | # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 | # GNU Affero General Public License for more details.
15 | #
16 | # You should have received a copy of the GNU Affero General Public License
17 | # along with this program. If not, see .
18 | #
19 | ##############################################################################
20 | {
21 | 'author': 'ADHOC SA',
22 | 'license': 'AGPL-3',
23 | 'category': 'Accounting & Finance',
24 | 'data': [
25 | 'views/account_tax_view.xml',
26 | 'views/account_payment_group_view.xml',
27 | 'views/account_payment_view.xml',
28 | 'security/ir.model.access.csv',
29 | ],
30 | 'demo': [
31 | ],
32 | 'depends': [
33 | 'account_payment_group',
34 | 'account_withholding',
35 | ],
36 | 'installable': True,
37 | 'name': 'Retenciones automaticas en pagos',
38 | 'test': [],
39 | 'version': '13.0.1.1.0',
40 | }
41 |
--------------------------------------------------------------------------------
/account_payment_group/hooks.py:
--------------------------------------------------------------------------------
1 | # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
2 | import logging
3 | from openerp import api, SUPERUSER_ID
4 | _logger = logging.getLogger(__name__)
5 |
6 |
7 | def post_init_hook(cr, registry):
8 | """
9 | Create a payment group for every existint payment
10 | """
11 | env = api.Environment(cr, SUPERUSER_ID, {})
12 | # payments = env['account.payment'].search(
13 | # [('payment_type', '!=', 'transfer')])
14 | # on v10, on reconciling from statements, if not partner is choosen, then
15 | # a payment is created with no partner. We still make partners mandatory
16 | # on payment groups. So, we dont create payment groups for payments
17 | # without partner_id
18 | payments = env['account.payment'].search(
19 | [('partner_id', '!=', False)])
20 |
21 | for payment in payments:
22 |
23 | _logger.info('creating payment group for payment %s' % payment.id)
24 | env['account.payment.group'].create({
25 | 'company_id': payment.company_id.id,
26 | 'partner_type': payment.partner_type,
27 | 'partner_id': payment.partner_id.id,
28 | 'payment_date': payment.payment_date,
29 | # en realidad aparentemente odoo no migra nada a communication
30 | # tal vez a este campo deberíamos llevar el viejo name que ahora
31 | # name es la secuencia
32 | 'communication': payment.communication,
33 | 'payment_ids': [(4, payment.id, False)],
34 | 'state': (
35 | payment.state in ['sent', 'reconciled'] and
36 | 'posted' or payment.state),
37 | })
38 |
--------------------------------------------------------------------------------
/l10n_ar_afipws_fe/models/product_uom.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields, api, _
6 | from odoo.exceptions import UserError
7 | import logging
8 |
9 | _logger = logging.getLogger(__name__)
10 |
11 |
12 | class ProductUom(models.Model):
13 | _inherit = "uom.uom"
14 |
15 | afip_code = fields.Char('AFIP Code')
16 |
17 | def action_get_pyafipws_product_uoms(self):
18 | self.get_pyafipws_product_uoms()
19 |
20 | def get_pyafipws_product_uoms(self, afip_ws='wsfex', company=False):
21 | self.ensure_one()
22 | # if not company, then we search one that uses argentinian localization
23 | if not company:
24 | company = self.env['res.company'].search(
25 | [('localization', '=', 'argentina')],
26 | limit=1)
27 | if not company:
28 | raise UserError(_(
29 | 'No company found using argentinian localization'))
30 | ws = company.get_connection(afip_ws).connect()
31 |
32 | if afip_ws == "wsfex":
33 | res = ws.GetParamUMed(sep=' ')
34 | else:
35 | raise UserError(_('AFIP WS %s not implemented') % (
36 | afip_ws))
37 | title = _('Unit of mesures:\n%s' % '\n'.join(res))
38 | msg = " - ".join([
39 | ws.Excepcion,
40 | ws.ErrMsg,
41 | ws.Obs])
42 | _logger.info('%s\n%s' % (title, msg))
43 | raise UserError(title + msg)
44 |
--------------------------------------------------------------------------------
/l10n_ar_stock/wizards/arba_cot_wizard_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | arba.cot.wizard.form
6 | arba.cot.wizard
7 |
8 |
27 |
28 |
29 |
30 |
31 | Asistente para Código de Operaciones de Traslado
32 | arba.cot.wizard
33 | form
34 | form
35 | new
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/l10n_ar_account_agipinfo/views/account_vat_report_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | Account VAT Ledger AGIP
6 | account.vat.ledger
7 |
8 |
9 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
--------------------------------------------------------------------------------
/l10n_ar_report_fe/models.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | from odoo import models, fields, api, _
4 | import logging
5 | import datetime
6 | from datetime import datetime, timedelta, date
7 |
8 | class AccountMoveLine(models.Model):
9 | _inherit = 'account.move.line'
10 |
11 | def _compute_price_subtotal_vat(self):
12 | for line in self:
13 | if line.tax_ids:
14 | for tax_id in line.tax_ids:
15 | if tax_id.tax_group_id.tax_type == 'vat':
16 | line.price_subtotal_vat = line.price_subtotal * ( 1 + tax_id.amount / 100 )
17 | else:
18 | line.price_subtotal_vat = line.price_subtotal
19 | else:
20 | line.price_subtotal_vat = 0
21 |
22 |
23 | price_subtotal_vat = fields.Float('price_subtotal_vat',compute=_compute_price_subtotal_vat)
24 |
25 |
26 | """
27 | class AccountMove(models.Model):
28 | _inherit = 'account.move'
29 |
30 | def _compute_cae_barcode(self):
31 | #company.partner_id.document_number,
32 | #o.journal_id.journal_class_id.afip_code,
33 | #o.journal_id.point_of_sale,
34 | #int(o.afip_cae or 0),
35 | #int(o.afip_cae_due is not False and flatdate(o.afip_cae_due) or 0)
36 | for inv in self:
37 | inv.cae_barcode = str(inv.company_id.partner_id.main_id_number) + str(inv.journal_document_type_id.document_type_id.code) + \
38 | str(inv.journal_id.point_of_sale_number) + str(inv.afip_auth_code or 0) + str(inv.afip_auth_code_due or 0).replace('-','')
39 |
40 | cae_barcode = fields.Char('CAE Barcode',compute=_compute_cae_barcode)
41 | """
42 |
--------------------------------------------------------------------------------
/l10n_ar_report_stock/models.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 |
3 | from odoo import models, fields, api, _
4 | import logging
5 | import datetime
6 | from datetime import datetime, timedelta, date
7 |
8 | class AccountMoveLine(models.Model):
9 | _inherit = 'account.move.line'
10 |
11 | def _compute_price_subtotal_vat(self):
12 | for line in self:
13 | if line.tax_ids:
14 | for tax_id in line.tax_ids:
15 | if tax_id.tax_group_id.tax_type == 'vat':
16 | line.price_subtotal_vat = line.price_subtotal * ( 1 + tax_id.amount / 100 )
17 | else:
18 | line.price_subtotal_vat = line.price_subtotal
19 | else:
20 | line.price_subtotal_vat = 0
21 |
22 |
23 | price_subtotal_vat = fields.Float('price_subtotal_vat',compute=_compute_price_subtotal_vat)
24 |
25 |
26 | """
27 | class AccountMove(models.Model):
28 | _inherit = 'account.move'
29 |
30 | def _compute_cae_barcode(self):
31 | #company.partner_id.document_number,
32 | #o.journal_id.journal_class_id.afip_code,
33 | #o.journal_id.point_of_sale,
34 | #int(o.afip_cae or 0),
35 | #int(o.afip_cae_due is not False and flatdate(o.afip_cae_due) or 0)
36 | for inv in self:
37 | inv.cae_barcode = str(inv.company_id.partner_id.main_id_number) + str(inv.journal_document_type_id.document_type_id.code) + \
38 | str(inv.journal_id.point_of_sale_number) + str(inv.afip_auth_code or 0) + str(inv.afip_auth_code_due or 0).replace('-','')
39 |
40 | cae_barcode = fields.Char('CAE Barcode',compute=_compute_cae_barcode)
41 | """
42 |
--------------------------------------------------------------------------------
/account_check/wizard/account_check_action_wizard.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import api, fields, models, _
6 | from odoo.exceptions import ValidationError
7 |
8 |
9 | class AccountCheckActionWizard(models.TransientModel):
10 | _name = 'account.check.action.wizard'
11 | _description = 'Account Check Action Wizard'
12 |
13 | date = fields.Date(
14 | default=fields.Date.context_today,
15 | required=True,
16 | )
17 | journal_id = fields.Many2one('account.journal',string='Diario')
18 | action_type = fields.Char(
19 | 'Action type passed on the context',
20 | required=True,
21 | )
22 |
23 | def action_confirm(self):
24 | self.ensure_one()
25 | if self.action_type not in [
26 | 'claim', 'bank_debit', 'bank_deposit','reject', 'customer_return']:
27 | raise ValidationError(_(
28 | 'Action %s not supported on checks') % self.action_type)
29 | checks = self.env['account.check'].browse(
30 | self._context.get('active_ids'))
31 | for check in checks:
32 | if self.action_type == 'bank_deposit':
33 | res = check.bank_deposit(date=self.date,journal_id=self.journal_id)
34 | else:
35 | res = getattr(
36 | check.with_context(action_date=self.date,journal_id=self.journal_id), self.action_type)()
37 | if len(checks) == 1:
38 | return res
39 | else:
40 | return True
41 |
--------------------------------------------------------------------------------
/account_financial_amount/models/account_move_line.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import api, models, fields
6 |
7 |
8 | class AccountMoveLine(models.Model):
9 | _inherit = 'account.move.line'
10 |
11 | financial_amount_residual = fields.Monetary(
12 | compute='_compute_financial_amounts',
13 | string='Residual Financial Amount',
14 | currency_field='company_currency_id',
15 | )
16 | financial_amount = fields.Monetary(
17 | compute='_compute_financial_amounts',
18 | string='Financial Amount',
19 | currency_field='company_currency_id',
20 | )
21 |
22 | @api.depends('debit', 'credit')
23 | def _compute_financial_amounts(self):
24 | date = fields.Date.today()
25 | for line in self:
26 | financial_amount = (
27 | line.currency_id and line.currency_id._convert(
28 | line.amount_currency,
29 | line.company_id.currency_id,
30 | line.company_id, date) or (
31 | line.balance))
32 | financial_amount_residual = (
33 | line.currency_id and line.currency_id._convert(
34 | line.amount_residual_currency,
35 | line.company_id.currency_id,
36 | line.company_id, date) or
37 | line.amount_residual)
38 | line.financial_amount = financial_amount
39 | line.financial_amount_residual = financial_amount_residual
40 |
--------------------------------------------------------------------------------
/account_withholding/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ========================
14 | Withholdings on Payments
15 | ========================
16 |
17 | TODO
18 |
19 | Installation
20 | ============
21 |
22 | To install this module, you need to:
23 |
24 | #. Do this ...
25 |
26 | Configuration
27 | =============
28 |
29 | To configure this module, you need to:
30 |
31 | #. Go to ...
32 |
33 | Usage
34 | =====
35 |
36 | To use this module, you need to:
37 |
38 | #. Go to ...
39 |
40 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
41 | :alt: Try me on Runbot
42 | :target: http://runbot.adhoc.com.ar/
43 |
44 | Bug Tracker
45 | ===========
46 |
47 | Bugs are tracked on `GitHub Issues
48 | `_. In case of trouble, please
49 | check there if your issue has already been reported. If you spotted it first,
50 | help us smashing it by providing a detailed and welcomed feedback.
51 |
52 | Credits
53 | =======
54 |
55 | Images
56 | ------
57 |
58 | * |company| |icon|
59 |
60 | Contributors
61 | ------------
62 |
63 | Maintainer
64 | ----------
65 |
66 | |company_logo|
67 |
68 | This module is maintained by the |company|.
69 |
70 | To contribute to this module, please visit https://www.adhoc.com.ar.
71 |
--------------------------------------------------------------------------------
/currencies/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ==================================
14 | Automatic Withholdings on Payments
15 | ==================================
16 |
17 | TODO
18 |
19 | Installation
20 | ============
21 |
22 | To install this module, you need to:
23 |
24 | #. Do this ...
25 |
26 | Configuration
27 | =============
28 |
29 | To configure this module, you need to:
30 |
31 | #. Go to ...
32 |
33 | Usage
34 | =====
35 |
36 | To use this module, you need to:
37 |
38 | #. Go to ...
39 |
40 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
41 | :alt: Try me on Runbot
42 | :target: http://runbot.adhoc.com.ar/
43 |
44 | Bug Tracker
45 | ===========
46 |
47 | Bugs are tracked on `GitHub Issues
48 | `_. In case of trouble, please
49 | check there if your issue has already been reported. If you spotted it first,
50 | help us smashing it by providing a detailed and welcomed feedback.
51 |
52 | Credits
53 | =======
54 |
55 | Images
56 | ------
57 |
58 | * |company| |icon|
59 |
60 | Contributors
61 | ------------
62 |
63 | Maintainer
64 | ----------
65 |
66 | |company_logo|
67 |
68 | This module is maintained by the |company|.
69 |
70 | To contribute to this module, please visit https://www.adhoc.com.ar.
71 |
--------------------------------------------------------------------------------
/account_withholding_automatic/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ==================================
14 | Automatic Withholdings on Payments
15 | ==================================
16 |
17 | TODO
18 |
19 | Installation
20 | ============
21 |
22 | To install this module, you need to:
23 |
24 | #. Do this ...
25 |
26 | Configuration
27 | =============
28 |
29 | To configure this module, you need to:
30 |
31 | #. Go to ...
32 |
33 | Usage
34 | =====
35 |
36 | To use this module, you need to:
37 |
38 | #. Go to ...
39 |
40 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
41 | :alt: Try me on Runbot
42 | :target: http://runbot.adhoc.com.ar/
43 |
44 | Bug Tracker
45 | ===========
46 |
47 | Bugs are tracked on `GitHub Issues
48 | `_. In case of trouble, please
49 | check there if your issue has already been reported. If you spotted it first,
50 | help us smashing it by providing a detailed and welcomed feedback.
51 |
52 | Credits
53 | =======
54 |
55 | Images
56 | ------
57 |
58 | * |company| |icon|
59 |
60 | Contributors
61 | ------------
62 |
63 | Maintainer
64 | ----------
65 |
66 | |company_logo|
67 |
68 | This module is maintained by the |company|.
69 |
70 | To contribute to this module, please visit https://www.adhoc.com.ar.
71 |
--------------------------------------------------------------------------------
/account_check/res_company.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import fields, models, api, _
6 | from odoo.exceptions import UserError
7 | import logging
8 | _logger = logging.getLogger(__name__)
9 |
10 |
11 | class ResCompany(models.Model):
12 | _inherit = 'res.company'
13 |
14 | rejected_check_account_id = fields.Many2one(
15 | 'account.account',
16 | 'Rejected Checks Account',
17 | help='Rejection Checks account, for eg. "Rejected Checks"',
18 | )
19 | deferred_check_account_id = fields.Many2one(
20 | 'account.account',
21 | 'Deferred Checks Account',
22 | help='Deferred Checks account, for eg. "Deferred Checks"',
23 | )
24 | holding_check_account_id = fields.Many2one(
25 | 'account.account',
26 | 'Holding Checks Account',
27 | help='Holding Checks account for third checks, '
28 | 'for eg. "Holding Checks"',
29 | )
30 |
31 | def _get_check_account(self, check_type):
32 | self.ensure_one()
33 | if check_type == 'holding':
34 | account = self.holding_check_account_id
35 | elif check_type == 'rejected':
36 | account = self.rejected_check_account_id
37 | elif check_type == 'deferred':
38 | account = self.deferred_check_account_id
39 | else:
40 | raise UserError(_("Check type %s not implemented!") % check_type)
41 | if not account:
42 | raise UserError(_(
43 | 'No checks %s account defined for company %s'
44 | ) % (check_type, self.name))
45 | return account
46 |
--------------------------------------------------------------------------------
/account_check/models/res_company.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import fields, models, api, _
6 | from odoo.exceptions import UserError
7 | import logging
8 | _logger = logging.getLogger(__name__)
9 |
10 |
11 | class ResCompany(models.Model):
12 | _inherit = 'res.company'
13 |
14 | rejected_check_account_id = fields.Many2one(
15 | 'account.account',
16 | 'Rejected Checks Account',
17 | help='Rejection Checks account, for eg. "Rejected Checks"',
18 | )
19 | deferred_check_account_id = fields.Many2one(
20 | 'account.account',
21 | 'Deferred Checks Account',
22 | help='Deferred Checks account, for eg. "Deferred Checks"',
23 | )
24 | holding_check_account_id = fields.Many2one(
25 | 'account.account',
26 | 'Holding Checks Account',
27 | help='Holding Checks account for third checks, '
28 | 'for eg. "Holding Checks"',
29 | )
30 |
31 | def _get_check_account(self, check_type):
32 | self.ensure_one()
33 | if check_type == 'holding':
34 | account = self.holding_check_account_id
35 | elif check_type == 'rejected':
36 | account = self.rejected_check_account_id
37 | elif check_type == 'deferred':
38 | account = self.deferred_check_account_id
39 | else:
40 | raise UserError(_("Check type %s not implemented!") % check_type)
41 | if not account:
42 | raise UserError(_(
43 | 'No checks %s account defined for company %s'
44 | ) % (check_type, self.name))
45 | return account
46 |
--------------------------------------------------------------------------------
/account_check/views/account_checkbook_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | account.checkbook.tree
6 | account.checkbook
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | account.checkbook.form
21 | account.checkbook
22 |
23 |
39 |
40 |
41 |
42 |
43 |
--------------------------------------------------------------------------------
/l10n_ar_account_withholding/views/account_payment_view.xml.bkp:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | account.payment.tree
8 | account.payment
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 | account.payment.tree
21 | account.payment
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
--------------------------------------------------------------------------------
/l10n_ar_afipws_fe/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | =============================
14 | Factura Electrónica Argentina
15 | =============================
16 |
17 | DOCS: http://www.afip.gob.ar/fe/documentos/WSBFEv1%20-%20Manual%20para%20el%20desarrollador.pdf
18 |
19 | Installation
20 | ============
21 |
22 | To install this module, you need to:
23 |
24 | #. Do this ...
25 |
26 | Configuration
27 | =============
28 |
29 | To configure this module, you need to:
30 |
31 | #. Go to ...
32 |
33 | Usage
34 | =====
35 |
36 | To use this module, you need to:
37 |
38 | #. Go to ...
39 |
40 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
41 | :alt: Try me on Runbot
42 | :target: http://runbot.adhoc.com.ar/
43 |
44 | Bug Tracker
45 | ===========
46 |
47 | Bugs are tracked on `GitHub Issues
48 | `_. In case of trouble, please
49 | check there if your issue has already been reported. If you spotted it first,
50 | help us smashing it by providing a detailed and welcomed feedback.
51 |
52 | Credits
53 | =======
54 |
55 | Images
56 | ------
57 |
58 | * |company| |icon|
59 |
60 | Contributors
61 | ------------
62 |
63 | Maintainer
64 | ----------
65 |
66 | |company_logo|
67 |
68 | This module is maintained by the |company|.
69 |
70 | To contribute to this module, please visit https://www.adhoc.com.ar.
71 |
--------------------------------------------------------------------------------
/l10n_ar_afipws_fe/__manifest__.py:
--------------------------------------------------------------------------------
1 | {
2 | "name": "Factura Electrónica Argentina",
3 | 'version': '12.0.1.3.0',
4 | 'category': 'Localization/Argentina',
5 | 'sequence': 14,
6 | 'author': 'ADHOC SA, Moldeo Interactive,Odoo Community Association (OCA)',
7 | 'license': 'AGPL-3',
8 | 'summary': '',
9 | 'depends': [
10 | 'l10n_ar_afipws',
11 | 'uom',
12 | 'l10n_latam_invoice_document',
13 | 'l10n_ar',
14 | 'account_move_tax'
15 | #'l10n_ar_account',
16 | # TODO improove this, we add this dependency because of demo data only
17 | # becuase demo data needs de chart account installed, we should
18 | # take this data tu l10n_ar_chart and set electronic if available
19 | # we try adding this demo data on l10n_ar_chart but if done, we should
20 | # add dependency to this module and also duplicate invoice data so
21 | # it does not use same id
22 | # 'l10n_ar_chart',
23 | ],
24 | 'external_dependencies': {
25 | },
26 | 'data': [
27 | #'wizard/afip_ws_consult_wizard_view.xml',
28 | #'wizard/afip_ws_currency_rate_wizard_view.xml',
29 | #'wizard/res_config_settings_view.xml',
30 | 'views/move_view.xml',
31 | #'views/l10n_latam_document_type_view.xml',
32 | 'views/account_journal_view.xml',
33 | 'views/product_uom_view.xml',
34 | 'views/res_currency_view.xml',
35 | #'views/report_invoice.xml',
36 | #'views/menuitem.xml',
37 | ],
38 | 'demo': [
39 | # 'demo/account_journal_expo_demo.yml',
40 | # '../l10n_ar_account/demo/account_customer_expo_invoice_demo.yml',
41 | # 'demo/account_journal_demo.yml',
42 | # '../l10n_ar_account/demo/account_customer_invoice_demo.yml',
43 | # 'demo/account_journal_demo_without_doc.yml',
44 | ],
45 | 'images': [
46 | ],
47 | 'installable': True,
48 | 'auto_install': False,
49 | 'application': False,
50 | }
51 |
--------------------------------------------------------------------------------
/l10n_ar_bank/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | =======================================================
14 | Agregado de CBU a bancos y listado de Bancos Argentinos
15 | =======================================================
16 |
17 | Listado de entidades financieras habilitadas por el BCRA.
18 |
19 | Este módulo le permite tener a disposición el listado actualizado de las entidades bancarias de la República Argentina.
20 |
21 | Installation
22 | ============
23 |
24 | To install this module, you need to:
25 |
26 | #. Do this ...
27 |
28 | Configuration
29 | =============
30 |
31 | To configure this module, you need to:
32 |
33 | #. Go to ...
34 |
35 | Usage
36 | =====
37 |
38 | To use this module, you need to:
39 |
40 | #. Go to ...
41 |
42 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
43 | :alt: Try me on Runbot
44 | :target: http://runbot.adhoc.com.ar/
45 |
46 | Bug Tracker
47 | ===========
48 |
49 | Bugs are tracked on `GitHub Issues
50 | `_. In case of trouble, please
51 | check there if your issue has already been reported. If you spotted it first,
52 | help us smashing it by providing a detailed and welcomed feedback.
53 |
54 | Credits
55 | =======
56 |
57 | Images
58 | ------
59 |
60 | * |company| |icon|
61 |
62 | Contributors
63 | ------------
64 |
65 | Maintainer
66 | ----------
67 |
68 | |company_logo|
69 |
70 | This module is maintained by the |company|.
71 |
72 | To contribute to this module, please visit https://www.adhoc.com.ar.
73 |
--------------------------------------------------------------------------------
/account_withholding/models/account_tax.py:
--------------------------------------------------------------------------------
1 | from odoo import models, fields, api
2 |
3 |
4 | class AccountTaxTemplate(models.Model):
5 | _inherit = "account.tax.template"
6 |
7 | type_tax_use = fields.Selection(
8 | selection_add=[
9 | ('customer', 'Customer Payment'),
10 | ('supplier', 'Supplier Payment'),
11 | ],
12 | )
13 |
14 |
15 | class AccountTax(models.Model):
16 | """
17 | We could also use inherits but we should create methods of chart template
18 | """
19 | _inherit = "account.tax"
20 |
21 | type_tax_use = fields.Selection(
22 | selection_add=[
23 | ('customer', 'Customer Payment'),
24 | ('supplier', 'Supplier Payment'),
25 | ],
26 | )
27 | amount = fields.Float(
28 | default=0.0,
29 | )
30 | withholding_sequence_id = fields.Many2one(
31 | 'ir.sequence',
32 | 'Secuencia de impuestos',
33 | domain=[('code', '=', 'account.tax.withholding')],
34 | context=(
35 | "{'default_code': 'account.tax.withholding',"
36 | " 'default_name': name}"),
37 | help='If no sequence provided then it will be required for you to'
38 | ' enter withholding number when registering one.',
39 | # 'default_prefix': 'x-', 'default_padding': 8}",
40 | copy=False
41 | )
42 |
43 | @api.model
44 | def create(self, vals):
45 | tax = super(AccountTax, self).create(vals)
46 | if tax.type_tax_use == 'supplier' and not tax.withholding_sequence_id:
47 | tax.withholding_sequence_id = self.withholding_sequence_id.\
48 | sudo().create({
49 | 'name': tax.name,
50 | 'implementation': 'no_gap',
51 | # 'prefix': False,
52 | 'padding': 8,
53 | 'number_increment': 1,
54 | 'code': 'account.tax.withholding',
55 | 'company_id': tax.company_id.id,
56 | }).id
57 | return tax
58 |
--------------------------------------------------------------------------------
/l10n_ar_stock/views/stock_production_lot_views.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | stock.production.lot.form
6 | stock.production.lot
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 | stock.production.lot.form
17 | stock.production.lot
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 | stock.production.lot.tree
28 | stock.production.lot
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 | stock.production.lot.filter
39 | stock.production.lot
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
--------------------------------------------------------------------------------
/account_payment_fix/i18n/ca.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | # * account_payment_fix
4 | #
5 | # Translators:
6 | # Juan José Scarafía , 2018
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Odoo Server 11.0\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2018-09-25 00:09+0000\n"
12 | "PO-Revision-Date: 2018-09-25 00:09+0000\n"
13 | "Last-Translator: Juan José Scarafía , 2018\n"
14 | "Language-Team: Catalan (https://www.transifex.com/adhoc/teams/46451/ca/)\n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: \n"
18 | "Language: ca\n"
19 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20 |
21 | #. module: account_payment_fix
22 | #: model:ir.ui.menu,name:account_payment_fix.menu_finance_bank_and_cash
23 | msgid "Bank and Cash"
24 | msgstr ""
25 |
26 | #. module: account_payment_fix
27 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_destination_journal_ids
28 | msgid "Destination Journal"
29 | msgstr ""
30 |
31 | #. module: account_payment_fix
32 | #: model:ir.model,name:account_payment_fix.model_account_invoice
33 | msgid "Invoice"
34 | msgstr ""
35 |
36 | #. module: account_payment_fix
37 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_journal_ids
38 | msgid "Journal"
39 | msgstr "Diari"
40 |
41 | #. module: account_payment_fix
42 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_description
43 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_ids
44 | msgid "Payment Method"
45 | msgstr ""
46 |
47 | #. module: account_payment_fix
48 | #: model:ir.model,name:account_payment_fix.model_account_payment_method
49 | msgid "Payment Methods"
50 | msgstr ""
51 |
52 | #. module: account_payment_fix
53 | #: model:ir.model,name:account_payment_fix.model_account_payment
54 | msgid "Payments"
55 | msgstr ""
56 |
--------------------------------------------------------------------------------
/account_payment_fix/i18n/gl.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | # * account_payment_fix
4 | #
5 | # Translators:
6 | # Juan José Scarafía , 2018
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Odoo Server 11.0\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2018-09-25 00:09+0000\n"
12 | "PO-Revision-Date: 2018-09-25 00:09+0000\n"
13 | "Last-Translator: Juan José Scarafía , 2018\n"
14 | "Language-Team: Galician (https://www.transifex.com/adhoc/teams/46451/gl/)\n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: \n"
18 | "Language: gl\n"
19 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
20 |
21 | #. module: account_payment_fix
22 | #: model:ir.ui.menu,name:account_payment_fix.menu_finance_bank_and_cash
23 | msgid "Bank and Cash"
24 | msgstr ""
25 |
26 | #. module: account_payment_fix
27 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_destination_journal_ids
28 | msgid "Destination Journal"
29 | msgstr ""
30 |
31 | #. module: account_payment_fix
32 | #: model:ir.model,name:account_payment_fix.model_account_invoice
33 | msgid "Invoice"
34 | msgstr ""
35 |
36 | #. module: account_payment_fix
37 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_journal_ids
38 | msgid "Journal"
39 | msgstr "Diario"
40 |
41 | #. module: account_payment_fix
42 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_description
43 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_ids
44 | msgid "Payment Method"
45 | msgstr ""
46 |
47 | #. module: account_payment_fix
48 | #: model:ir.model,name:account_payment_fix.model_account_payment_method
49 | msgid "Payment Methods"
50 | msgstr ""
51 |
52 | #. module: account_payment_fix
53 | #: model:ir.model,name:account_payment_fix.model_account_payment
54 | msgid "Payments"
55 | msgstr ""
56 |
--------------------------------------------------------------------------------
/account_payment_fix/i18n/tr.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | # * account_payment_fix
4 | #
5 | # Translators:
6 | # Juan José Scarafía , 2018
7 | msgid ""
8 | msgstr ""
9 | "Project-Id-Version: Odoo Server 11.0\n"
10 | "Report-Msgid-Bugs-To: \n"
11 | "POT-Creation-Date: 2018-09-25 00:09+0000\n"
12 | "PO-Revision-Date: 2018-09-25 00:09+0000\n"
13 | "Last-Translator: Juan José Scarafía , 2018\n"
14 | "Language-Team: Turkish (https://www.transifex.com/adhoc/teams/46451/tr/)\n"
15 | "MIME-Version: 1.0\n"
16 | "Content-Type: text/plain; charset=UTF-8\n"
17 | "Content-Transfer-Encoding: \n"
18 | "Language: tr\n"
19 | "Plural-Forms: nplurals=2; plural=(n > 1);\n"
20 |
21 | #. module: account_payment_fix
22 | #: model:ir.ui.menu,name:account_payment_fix.menu_finance_bank_and_cash
23 | msgid "Bank and Cash"
24 | msgstr ""
25 |
26 | #. module: account_payment_fix
27 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_destination_journal_ids
28 | msgid "Destination Journal"
29 | msgstr ""
30 |
31 | #. module: account_payment_fix
32 | #: model:ir.model,name:account_payment_fix.model_account_invoice
33 | msgid "Invoice"
34 | msgstr ""
35 |
36 | #. module: account_payment_fix
37 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_journal_ids
38 | msgid "Journal"
39 | msgstr "Yevmiye"
40 |
41 | #. module: account_payment_fix
42 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_description
43 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_ids
44 | msgid "Payment Method"
45 | msgstr ""
46 |
47 | #. module: account_payment_fix
48 | #: model:ir.model,name:account_payment_fix.model_account_payment_method
49 | msgid "Payment Methods"
50 | msgstr ""
51 |
52 | #. module: account_payment_fix
53 | #: model:ir.model,name:account_payment_fix.model_account_payment
54 | msgid "Payments"
55 | msgstr ""
56 |
--------------------------------------------------------------------------------
/currencies/models/res_currency.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields, api
6 | from odoo.exceptions import ValidationError
7 | import datetime
8 |
9 | class ResCurrency(models.Model):
10 | _inherit = "res.currency"
11 |
12 | def _compute_inverse_rate(self):
13 | for rec in self:
14 | if rec.rate > 0:
15 | rec.inverse_rate = 1 / rec.rate
16 |
17 | inverse_rate = fields.Float('Tasa inversa',compute=_compute_inverse_rate)
18 |
19 | def get_currency_rate(self):
20 | self.ensure_one()
21 | res = self.get_pyafipws_currency_rate()
22 | raise ValidationError('%s'%(res[0]))
23 |
24 | @api.model
25 | def update_pyafipws_currency_rate(self, afip_ws='wsfe', company=False):
26 | # if not company, we use any that has valid certificates
27 |
28 | currencies = self.env['res.currency'].search([('l10n_ar_afip_code','!=',False)])
29 | for currency in currencies:
30 | if afip_ws == "wsfex":
31 | rate = ws.GetParamCtz(self.l10n_ar_afip_code)
32 | elif afip_ws == "wsfe":
33 | try:
34 | res = currency.get_pyafipws_currency_rate()
35 | if res:
36 | vals = {
37 | 'name': str(datetime.date.today()),
38 | 'rate': 1 / res[0],
39 | 'currency_id': currency.id
40 | }
41 | rate_id = self.env['res.currency.rate'].search([('currency_id','=',currency.id),('name','=',str(datetime.date.today()))])
42 | if not rate_id:
43 | return_id = self.env['res.currency.rate'].create(vals)
44 | except:
45 | continue
46 |
47 |
48 |
--------------------------------------------------------------------------------
/l10n_ar_account_withholding/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ==============================================
14 | Automatic Argentinian Withholdings on Payments
15 | ==============================================
16 |
17 | Tablas modificadas según: http://www.afip.gob.ar/noticias/20160526GananciasRegRetencionModificacion.asp
18 |
19 | TODO:
20 | -A script de instalación sumarle algo tipo esto, por ahora se puede correr manual. En realidad solo es necesario si estamos en localización o algo que requiera doble validation
21 | -UPDATE account_payment_group SET retencion_ganancias='no_aplica' WHERE retencion_ganancias is null;
22 | - el ajuste de calculo de impuestos en pedidos de venta (por compatibilidad con arba) lo hicimos en sale_usability, habria que hacerlo en un modulo de la localización
23 |
24 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
25 | :alt: Try me on Runbot
26 | :target: http://runbot.adhoc.com.ar/
27 |
28 | Bug Tracker
29 | ===========
30 |
31 | Bugs are tracked on `GitHub Issues
32 | `_. In case of trouble, please
33 | check there if your issue has already been reported. If you spotted it first,
34 | help us smashing it by providing a detailed and welcomed feedback.
35 |
36 | Credits
37 | =======
38 |
39 | Images
40 | ------
41 |
42 | * |company| |icon|
43 |
44 | Contributors
45 | ------------
46 |
47 | Maintainer
48 | ----------
49 |
50 | |company_logo|
51 |
52 | This module is maintained by the |company|.
53 |
54 | To contribute to this module, please visit https://www.adhoc.com.ar.
55 |
--------------------------------------------------------------------------------
/l10n_ar_stock/models/res_company.py:
--------------------------------------------------------------------------------
1 | from odoo import models, api, _
2 | # import odoo.tools as tools
3 | try:
4 | from pyafipws.cot import COT
5 | except ImportError:
6 | COT = None
7 | # from pyafipws.padron import PadronAFIP
8 | from odoo.exceptions import UserError
9 | import logging
10 | _logger = logging.getLogger(__name__)
11 |
12 |
13 | class ResCompany(models.Model):
14 | _inherit = "res.company"
15 |
16 | @api.model
17 | def get_arba_cot_login_url(self, environment_type):
18 | if environment_type == 'production':
19 | arba_login_url = (
20 | 'https://cot.arba.gov.ar/TransporteBienes/'
21 | 'SeguridadCliente/presentarRemitos.do')
22 | else:
23 | arba_login_url = (
24 | 'http://cot.test.arba.gov.ar/TransporteBienes/'
25 | 'SeguridadCliente/presentarRemitos.do')
26 | return arba_login_url
27 |
28 |
29 | def arba_cot_connect(self):
30 | """
31 | Method to be called
32 | """
33 | self.ensure_one()
34 | cuit = self.partner_id.cuit_required()
35 |
36 | if not self.arba_cit:
37 | raise UserError(_(
38 | 'You must configure ARBA CIT on company %s') % (
39 | self.name))
40 |
41 | ws = COT()
42 | # en este caso si deberia andar cot en test y es más critico que para
43 | # arba donde obtenemos
44 | environment_type = self._get_environment_type()
45 | _logger.info(
46 | 'Getting connection to ARBA on %s mode' % environment_type)
47 |
48 | # argumentos de conectar: self, url=None, proxy="",
49 | # wrapper=None, cacert=None, trace=False, testing=""
50 | arba_cot_url = self.get_arba_cot_login_url(environment_type)
51 | ws.Usuario = cuit
52 | ws.Password = self.arba_cit
53 | ws.Conectar(url=arba_cot_url)
54 | _logger.info(
55 | 'Connection getted to ARBA COT with url "%s" and CUIT %s' % (
56 | arba_cot_url, cuit))
57 | return ws
58 |
--------------------------------------------------------------------------------
/account_check/wizard/res_config_settings_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | res.config.settings.inherit
5 | res.config.settings
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 | Accounts used on checks operations
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
--------------------------------------------------------------------------------
/account_withholding_automatic/views/account_payment_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 | account.payment.withholding.form
7 | account.payment
8 |
9 |
10 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/l10n_ar_account_withholding/views/afip_tabla_ganancias_escala_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
18 |
19 |
20 | afip.tabla_ganancias.escala.tree
21 | afip.tabla_ganancias.escala
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 | AFIP tax
35 | ir.actions.act_window
36 | afip.tabla_ganancias.escala
37 | tree
38 |
39 |
40 |
41 |
42 |
43 |
44 |
46 |
--------------------------------------------------------------------------------
/l10n_ar_account_withholding/models/account_invoice.py:
--------------------------------------------------------------------------------
1 | # -*- coding: utf-8 -*-
2 | from odoo import models, api, fields
3 |
4 |
5 | class AccountInvoice(models.Model):
6 | _inherit = "account.invoice"
7 |
8 | def _get_tax_factor(self):
9 | tax_factor = super(AccountInvoice, self)._get_tax_factor()
10 | doc_letter = self.document_type_id.document_letter_id.name
11 | # if we receive B invoices, then we take out 21 of vat
12 | # this use of case if when company is except on vat for eg.
13 | if tax_factor == 1.0 and doc_letter == 'B':
14 | tax_factor = 1.0 / 1.21
15 | return tax_factor
16 |
17 | def get_taxes_values(self):
18 | """
19 | Hacemos esto para disponer de fecha de factura y cia para calcular
20 | impuesto con código python (por ej. para ARBA).
21 | Aparentemente no se puede cambiar el contexto a cosas que se llaman
22 | desde un onchange (ver https://github.com/odoo/odoo/issues/7472)
23 | entonces usamos este artilugio
24 | """
25 | date_invoice = self.date_invoice or fields.Date.context_today(self)
26 | # hacemos try porque al llamarse desde acciones de servidor da error
27 | try:
28 | self.env.context.date_invoice = date_invoice
29 | self.env.context.invoice_company = self.company_id
30 | except Exception:
31 | pass
32 | return super(AccountInvoice, self).get_taxes_values()
33 |
34 |
35 | class AccountInvoiceLine(models.Model):
36 | _inherit = "account.invoice.line"
37 |
38 | def _compute_price(self):
39 | # ver nota en get_taxes_values
40 | invoice = self.invoice_id
41 | date_invoice = invoice.date_invoice or fields.Date.context_today(self)
42 | # hacemos try porque al llamarse desde acciones de servidor da error
43 | try:
44 | self.env.context.date_invoice = date_invoice
45 | self.env.context.invoice_company = self.company_id
46 | except Exception:
47 | pass
48 | return super(AccountInvoiceLine, self)._compute_price()
49 |
--------------------------------------------------------------------------------
/account_withholding_automatic/views/account_payment_group_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | account.payment.group.form
8 | account.payment.group
9 |
10 |
11 |
12 |
13 | {'invisible': ['|', ('partner_type', '!=', 'supplier'), ('state', 'not in', ['draft', 'confirmed'])]}
14 |
15 |
16 | {'invisible': ['|', ('partner_type', '!=', 'supplier'), ('state', 'not in', ['draft', 'confirmed'])]}
17 |
18 |
19 |
20 |
21 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
--------------------------------------------------------------------------------
/account_check/models/account_move.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields, api
6 |
7 |
8 | class AccountMove(models.Model):
9 | _inherit = 'account.move'
10 |
11 | # we add this field so that when invoice is validated we can reconcile
12 | # move lines between check and invoice lines
13 | # igual se setea para todos los rechazos, tal vez mas adelante lo usamos
14 | # para otra cosa
15 | rejected_check_id = fields.Many2one(
16 | 'account.check',
17 | 'Rejected Check',
18 | )
19 |
20 | def action_cancel(self):
21 | """
22 | Si al cancelar la factura la misma estaba vinculada a un rechazo
23 | intentamos romper la conciliacion del rechazo
24 | """
25 | for rec in self.filtered(lambda x: x.rejected_check_id):
26 | check = rec.rejected_check_id
27 | deferred_account = check.company_id._get_check_account('deferred')
28 | if (
29 | check.state == 'rejected' and
30 | check.type == 'issue_check' and
31 | deferred_account.reconcile):
32 | deferred_account_line = rec.move_id.line_ids.filtered(
33 | lambda x: x.account_id == deferred_account)
34 | deferred_account_line.remove_move_reconcile()
35 | return super(AccountMove, self).action_cancel()
36 |
37 | def action_move_create(self):
38 | """
39 | Si al validar la factura, la misma tiene un cheque de rechazo asociado
40 | intentamos concilarlo
41 | """
42 | res = super(AccountInvoice, self).action_move_create()
43 | for rec in self.filtered(lambda x: x.rejected_check_id):
44 | check = rec.rejected_check_id
45 | if check.state == 'rejected' and check.type == 'issue_check':
46 | rec.rejected_check_id.handed_reconcile(rec.move_id)
47 | return res
48 |
--------------------------------------------------------------------------------
/account_payment_fix/README.rst:
--------------------------------------------------------------------------------
1 | .. |company| replace:: ADHOC SA
2 |
3 | .. |company_logo| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-logo.png
4 | :alt: ADHOC SA
5 | :target: https://www.adhoc.com.ar
6 |
7 | .. |icon| image:: https://raw.githubusercontent.com/ingadhoc/maintainer-tools/master/resources/adhoc-icon.png
8 |
9 | .. image:: https://img.shields.io/badge/license-AGPL--3-blue.png
10 | :target: https://www.gnu.org/licenses/agpl
11 | :alt: License: AGPL-3
12 |
13 | ======================================
14 | Account Payment Fixes and Improvements
15 | ======================================
16 |
17 | Several modification, fixes or improvements to payments:
18 |
19 | * Fix domains for payment method, journal and partner on payment view so that is not loosed when you enter an already created payment.
20 | * It also fix available payment methods when you change several times the journal
21 | * It also restrict destination journal selection if available inbound methods
22 | * We also recreate the menu "Bank and Cash"
23 | * Allow to make payments of child companies
24 |
25 | Installation
26 | ============
27 |
28 | To install this module, you need to:
29 |
30 | #. Just install it
31 |
32 | Configuration
33 | =============
34 |
35 | To configure this module, you need to:
36 |
37 | #. No configuration required
38 |
39 | .. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
40 | :alt: Try me on Runbot
41 | :target: http://runbot.adhoc.com.ar/
42 |
43 | Bug Tracker
44 | ===========
45 |
46 | Bugs are tracked on `GitHub Issues
47 | `_. In case of trouble, please
48 | check there if your issue has already been reported. If you spotted it first,
49 | help us smashing it by providing a detailed and welcomed feedback.
50 |
51 | Credits
52 | =======
53 |
54 | Images
55 | ------
56 |
57 | * |company| |icon|
58 |
59 | Contributors
60 | ------------
61 |
62 | Maintainer
63 | ----------
64 |
65 | |company_logo|
66 |
67 | This module is maintained by the |company|.
68 |
69 | To contribute to this module, please visit https://www.adhoc.com.ar.
70 |
--------------------------------------------------------------------------------
/account_payment_fix/i18n/es.po:
--------------------------------------------------------------------------------
1 | # Translation of Odoo Server.
2 | # This file contains the translation of the following modules:
3 | # * account_payment_fix
4 | #
5 | # Translators:
6 | # Juan José Scarafía , 2018
7 | # Mariana Luz Torres , 2019
8 | #
9 | msgid ""
10 | msgstr ""
11 | "Project-Id-Version: Odoo Server 11.0\n"
12 | "Report-Msgid-Bugs-To: \n"
13 | "POT-Creation-Date: 2019-01-16 15:29+0000\n"
14 | "PO-Revision-Date: 2018-05-17 22:02+0000\n"
15 | "Last-Translator: Mariana Luz Torres , 2019\n"
16 | "Language-Team: Spanish (https://www.transifex.com/adhoc/teams/46451/es/)\n"
17 | "MIME-Version: 1.0\n"
18 | "Content-Type: text/plain; charset=UTF-8\n"
19 | "Content-Transfer-Encoding: \n"
20 | "Language: es\n"
21 | "Plural-Forms: nplurals=2; plural=(n != 1);\n"
22 |
23 | #. module: account_payment_fix
24 | #: model:ir.ui.menu,name:account_payment_fix.menu_finance_bank_and_cash
25 | msgid "Bank and Cash"
26 | msgstr "Caja y Bancos"
27 |
28 | #. module: account_payment_fix
29 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_destination_journal_ids
30 | msgid "Destination Journal"
31 | msgstr "Diario de Destino"
32 |
33 | #. module: account_payment_fix
34 | #: model:ir.model,name:account_payment_fix.model_account_invoice
35 | msgid "Invoice"
36 | msgstr "Factura"
37 |
38 | #. module: account_payment_fix
39 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_journal_ids
40 | msgid "Journal"
41 | msgstr "Diario"
42 |
43 | #. module: account_payment_fix
44 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_description
45 | #: model:ir.model.fields,field_description:account_payment_fix.field_account_payment_payment_method_ids
46 | msgid "Payment Method"
47 | msgstr "Método de Pago"
48 |
49 | #. module: account_payment_fix
50 | #: model:ir.model,name:account_payment_fix.model_account_payment_method
51 | msgid "Payment Methods"
52 | msgstr "Métodos de pago"
53 |
54 | #. module: account_payment_fix
55 | #: model:ir.model,name:account_payment_fix.model_account_payment
56 | msgid "Payments"
57 | msgstr "Pagos"
58 |
--------------------------------------------------------------------------------
/l10n_ar_stock/wizards/arba_cot_wizard.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import fields, models, api
6 |
7 |
8 | class ArbaCotWizard(models.TransientModel):
9 | _name = 'arba.cot.wizard'
10 | _description = 'arba.cot.wizard'
11 |
12 | datetime_out = fields.Datetime(
13 | required=True,
14 | help='Fecha de salida. No debe ser inferior a ayer ni superior a '
15 | 'dentro de 30 días.'
16 | )
17 | tipo_recorrido = fields.Selection(
18 | [('U', 'Urbano'), ('R', 'Rural'), ('M', 'Mixto')],
19 | required=True,
20 | default='M',
21 | )
22 | carrier_id = fields.Many2one(
23 | 'delivery.carrier',
24 | string="Carrier",
25 | required=True,
26 | )
27 | # TODO implementar validaciones de patentes
28 | patente_vehiculo = fields.Char(
29 | help='Requerido si CUIT Transportista = CUIT Compañía\n'
30 | '3 letras y 3 numeros o 2 letras, 3 números y 2 letras'
31 | )
32 | patente_acomplado = fields.Char(
33 | help='3 letras y 3 numeros o 2 letras, 3 números y 2 letras'
34 | )
35 | prod_no_term_dev = fields.Selection(
36 | [('0', 'No'), ('1', 'Si')],
37 | string='Productos no terminados / devoluciones',
38 | default='0',
39 | required=True,
40 | )
41 | # TODO implementar asistente de importe
42 | importe = fields.Float(
43 | )
44 |
45 | @api.multi
46 | def confirm(self):
47 | self.ensure_one()
48 | if self._context.get('active_model') != 'stock.picking':
49 | return True
50 | pickings = self.env['stock.picking'].browse(
51 | self._context.get('active_ids'))
52 | pickings.do_pyafipws_presentar_remito(
53 | fields.Date.from_string(self.datetime_out), self.tipo_recorrido,
54 | self.carrier_id.partner_id, self.patente_vehiculo,
55 | self.patente_acomplado, self.prod_no_term_dev, self.importe)
56 |
--------------------------------------------------------------------------------
/account_check/models/account_invoice.py:
--------------------------------------------------------------------------------
1 | ##############################################################################
2 | # For copyright and license notices, see __manifest__.py file in module root
3 | # directory
4 | ##############################################################################
5 | from odoo import models, fields, api
6 |
7 |
8 | class AccountInvoice(models.Model):
9 | _inherit = 'account.invoice'
10 |
11 | # we add this field so that when invoice is validated we can reconcile
12 | # move lines between check and invoice lines
13 | # igual se setea para todos los rechazos, tal vez mas adelante lo usamos
14 | # para otra cosa
15 | rejected_check_id = fields.Many2one(
16 | 'account.check',
17 | 'Rejected Check',
18 | )
19 |
20 |
21 | def action_cancel(self):
22 | """
23 | Si al cancelar la factura la misma estaba vinculada a un rechazo
24 | intentamos romper la conciliacion del rechazo
25 | """
26 | for rec in self.filtered(lambda x: x.rejected_check_id):
27 | check = rec.rejected_check_id
28 | deferred_account = check.company_id._get_check_account('deferred')
29 | if (
30 | check.state == 'rejected' and
31 | check.type == 'issue_check' and
32 | deferred_account.reconcile):
33 | deferred_account_line = rec.move_id.line_ids.filtered(
34 | lambda x: x.account_id == deferred_account)
35 | deferred_account_line.remove_move_reconcile()
36 | return super(AccountInvoice, self).action_cancel()
37 |
38 |
39 | def action_move_create(self):
40 | """
41 | Si al validar la factura, la misma tiene un cheque de rechazo asociado
42 | intentamos concilarlo
43 | """
44 | res = super(AccountInvoice, self).action_move_create()
45 | for rec in self.filtered(lambda x: x.rejected_check_id):
46 | check = rec.rejected_check_id
47 | if check.state == 'rejected' and check.type == 'issue_check':
48 | rec.rejected_check_id.handed_reconcile(rec.move_id)
49 | return res
50 |
--------------------------------------------------------------------------------
/l10n_ar_afipws/views/afipws_connection_view.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | afipws.auth.form
5 | afipws.connection
6 |
7 |
23 |
24 |
25 |
26 |
27 | afipws.auth.tree
28 | afipws.connection
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 | AFIP Connections
43 | ir.actions.act_window
44 | afipws.connection
45 | tree,form
46 |
47 |
48 |
49 |
50 |
51 |
--------------------------------------------------------------------------------