Add configurable fiscal invoice defaults
Publicar paquete PyPI / publish (push) Successful in 1m18s

This commit is contained in:
José Arturo García
2026-09-30 23:34:18 -04:00
parent 3b5d900221
commit 9acb5142b9
4 changed files with 179 additions and 43 deletions
+48 -1
View File
@@ -7,6 +7,8 @@ from trytond.model import fields, ModelSQL
from trytond.modules.company.model import CompanyValueMixin
from trytond.pool import PoolMeta, Pool
from trytond.transaction import Transaction
from trytond.modules.ncf_manager.fiscal import (
EXPENSE_TYPE, PAYMENT_METHOD, REVENUE_TYPE)
from trytond.modules.ncf_manager.ncf_manager import NCF_TYPE
@@ -36,10 +38,37 @@ class Configuration(metaclass=PoolMeta):
help="Default supplier NCF type for new parties."
))
default_customer_revenue_type = fields.MultiValue(fields.Selection(
REVENUE_TYPE,
"Default Customer Revenue Type",
sort=False,
help="Default revenue type for new customer invoices."
))
default_supplier_expense_type = fields.MultiValue(fields.Selection(
EXPENSE_TYPE,
"Default Supplier Expense Type",
sort=False,
help="Default expense type for new supplier invoices."
))
default_payment_method = fields.MultiValue(fields.Selection(
PAYMENT_METHOD,
"Default Payment Method",
sort=False,
help="Default payment method for new invoices."
))
@classmethod
def multivalue_model(cls, field):
pool = Pool()
if field in {'default_customer_ncf_type', 'default_supplier_ncf_type'}:
if field in {
'default_customer_ncf_type',
'default_supplier_ncf_type',
'default_customer_revenue_type',
'default_supplier_expense_type',
'default_payment_method',
}:
return pool.get('account.configuration.default_ncf_type')
return super(Configuration, cls).multivalue_model(field)
@@ -60,6 +89,24 @@ class DefaultNcfType(ModelSQL, CompanyValueMixin):
sort=False
)
default_customer_revenue_type = fields.Selection(
REVENUE_TYPE,
"Default Customer Revenue Type",
sort=False
)
default_supplier_expense_type = fields.Selection(
EXPENSE_TYPE,
"Default Supplier Expense Type",
sort=False
)
default_payment_method = fields.Selection(
PAYMENT_METHOD,
"Default Payment Method",
sort=False
)
@classmethod
def __register__(cls, module_name):
"""