first commit

This commit is contained in:
root
2026-03-14 09:42:12 +00:00
commit 0adbd20c2c
10991 changed files with 1646955 additions and 0 deletions

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,161 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.model import (
MatchMixin, ModelSQL, ModelView, fields, sequence_ordered)
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval, Get
from trytond.transaction import Transaction
class Configuration(metaclass=PoolMeta):
__name__ = 'account.configuration'
def get_multivalue(self, name, **pattern):
pool = Pool()
AccountRule = pool.get('account.account.rule')
transaction = Transaction()
context = transaction.context
value = super().get_multivalue(name, **pattern)
account2type = {
'default_account_receivable': 'receivable',
'default_account_payable': 'payable',
'default_category_account_expense': 'expense',
'default_category_account_revenue': 'revenue',
'gift_card_account_expense': 'expense',
'gift_card_account_revenue': 'revenue',
}
if name in account2type:
with transaction.set_context(
account_type=account2type[name],
company=pattern.get('company', context.get('company'))):
value = AccountRule.apply(value)
return value
class AccountRule(sequence_ordered(), MatchMixin, ModelSQL, ModelView):
__name__ = 'account.account.rule'
company = fields.Many2One('company.company', "Company", required=True)
start_date = fields.Date("Start Date")
end_date = fields.Date("End Date")
type = fields.Selection([
('receivable', "Receivable"),
('stock', "Stock"),
('payable', "Payable"),
('revenue', "Revenue"),
('expense', "Expense"),
], "Type", required=True)
origin_account = fields.Many2One('account.account', "Original Account")
return_ = fields.Boolean(
"Return",
help="Check to limit to return operation.")
tax = fields.Many2One(
'account.tax', "Tax",
domain=[
('parent', '=', None),
('company', '=', Eval('company', -1)),
],
states={
'invisible': ~Eval('type').in_(['revenue', 'expense']),
})
account = fields.Many2One(
'account.account', "Substitution Account", required=True)
@classmethod
def __setup__(cls):
super().__setup__()
account_domain = cls._account_domain_per_type()
for field in [cls.origin_account, cls.account]:
field.domain = [
('company', '=', Eval('company', -1)),
Get(account_domain, Eval('type'), []),
]
@classmethod
def _account_domain_per_type(cls):
return {
'receivable': [('type.receivable', '=', True)],
'stock': [('type.stock', '=', True)],
'payable': [('type.payable', '=', True)],
'revenue': [('type.revenue', '=', True)],
'expense': [('type.expense', '=', True)],
}
@classmethod
def default_company(cls):
return Transaction().context.get('company')
@classmethod
def default_return_(cls):
return False
@classmethod
def apply(cls, origin_account=None):
pool = Pool()
Date = pool.get('ir.date')
context = Transaction().context
today = Date.today()
pattern = {
'origin_account': origin_account.id if origin_account else None,
'type': context.get('account_type'),
'return_': context.get('return_', False),
}
date = context.get('date') or today
rules = cls.search([
('company', '=', context.get('company', -1)),
['OR',
('start_date', '=', None),
('start_date', '>=', date),
],
['OR',
('end_date', '=', None),
('end_date', '<=', date),
],
])
taxes = context.get('taxes', [])
for rule in rules:
if rule.tax and rule.tax.id not in taxes:
continue
if rule.match(pattern):
return rule.account.current()
return origin_account
class AccountRuleStock(metaclass=PoolMeta):
__name__ = 'account.account.rule'
warehouse = fields.Many2One(
'stock.location', "Warehouse",
domain=[
('type', '=', 'warehouse'),
],
states={
'invisible': Eval('type') != 'stock',
})
class InvoiceLine(metaclass=PoolMeta):
__name__ = 'account.invoice.line'
@fields.depends('taxes', 'quantity')
def on_change_product(self):
transaction = Transaction()
context = transaction.context
with transaction.set_context(return_=(self.quantity or 0) < 0):
super().on_change_product()
taxes = [t.id for t in (self.taxes or [])]
if set(context.get('taxes') or []) != set(taxes):
with transaction.set_context(taxes=taxes):
self.on_change_product()
class InvoiceLineStock(metaclass=PoolMeta):
__name__ = 'account.invoice.line'
@classmethod
def __setup__(cls):
super().__setup__()
cls.product.context['warehouse'] = Eval('warehouse', -1)
cls.product.depends.add('warehouse')

View File

@@ -0,0 +1,81 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tryton>
<data>
<record model="ir.ui.view" id="account_rule_view_list">
<field name="model">account.account.rule</field>
<field name="type">tree</field>
<field name="name">account_rule_list</field>
</record>
<record model="ir.ui.view" id="account_rule_view_form">
<field name="model">account.account.rule</field>
<field name="type">form</field>
<field name="name">account_rule_form</field>
</record>
<record model="ir.action.act_window" id="act_account_rule_form">
<field name="name">Account Rules</field>
<field name="res_model">account.account.rule</field>
<!-- Migration from 7.4: force empty domain for multi company -->
<field name="domain" eval="None"/>
</record>
<record model="ir.action.act_window.view" id="act_account_rule_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="account_rule_view_list"/>
<field name="act_window" ref="act_account_rule_form"/>
</record>
<record model="ir.action.act_window.view" id="act_account_rule_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="account_rule_view_form"/>
<field name="act_window" ref="act_account_rule_form"/>
</record>
<menuitem
parent="account.menu_general_account_configuration"
action="act_account_rule_form"
sequence="50"
id="menu_account_rule_form"/>
<record model="ir.model.access" id="access_account_rule">
<field name="model">account.account.rule</field>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="False"/>
<field name="perm_create" eval="False"/>
<field name="perm_delete" eval="False"/>
</record>
<record model="ir.model.access" id="access_account_rule_account_admin">
<field name="model">account.account.rule</field>
<field name="group" ref="account.group_account_admin"/>
<field name="perm_read" eval="True"/>
<field name="perm_write" eval="True"/>
<field name="perm_create" eval="True"/>
<field name="perm_delete" eval="True"/>
</record>
<record model="ir.rule.group" id="rule_group_account_rule_companies">
<field name="name">User in companies</field>
<field name="model">account.account.rule</field>
<field name="global_p" eval="True"/>
</record>
<record model="ir.rule" id="rule_account_rule_companies">
<field name="domain"
eval="[('company', 'in', Eval('companies', []))]"
pyson="1"/>
<field name="rule_group" ref="rule_group_account_rule_companies"/>
</record>
</data>
<data depends="stock">
<record model="ir.ui.view" id="account_rule_view_list_stock">
<field name="model">account.account.rule</field>
<field name="inherit" ref="account_rule_view_list"/>
<field name="name">account_rule_list_stock</field>
</record>
<record model="ir.ui.view" id="account_rule_view_form_stock">
<field name="model">account.account.rule</field>
<field name="inherit" ref="account_rule_view_form"/>
<field name="name">account_rule_form_stock</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Compte de substitució"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Data final"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Compte original"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Devolució"
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Data inicial"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Impost"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Tipus"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Magatzem"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Marcar per limitar només a operacions de devolució."
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr "Regla de comptabilització"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Regles de comptabilització"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Usuari a les empreses"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Regles de comptabilització"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Despesa"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "A pagar"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "A cobrar"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Ingressos"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Existències"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,80 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Anzuwendendes Konto"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Enddatum"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Ursprungskonto"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Rückgabe/-nahme"
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Startdatum"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Steuer"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Typ"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Logistikstandort"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
"Auswählen, um die Kontenregel auf Rückgabe/-nahme Aktionen zu beschränken."
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr "Kontenregel"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Kontenregeln"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Benutzer in Unternehmen"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Kontenregeln"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Aufwand"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Verbindlichkeiten"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Forderungen"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Ertrag"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Lager"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Cuenta de sustitución"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Fecha final"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Cuenta original"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Devolución"
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Fecha inicial"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Impuesto"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Tipo"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Almacén"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Marcar para limitar la operaciones de devolucion."
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr "Regla de comptabilització"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Reglas de contabilización"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Usuario en las empresas"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Reglas de contabilización"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Gastos"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "A pagar"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "A cobrar"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Ingresos"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Existencias"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Compte de substitution"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Date de fin"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Compte d'origine"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Retour"
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Date de début"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Taxe"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Type"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Entrepôt"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Cochez pour limiter aux opérations de retour."
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr "Règle de compte"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Règles de compte"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Utilisateur dans les sociétés"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Règles de compte"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Charge"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "À payer"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "À recevoir"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Produit"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Stock"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Pajak"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Gudang"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Biaya"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Utang"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Piutang"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Pendapatan"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Persediaan"

View File

@@ -0,0 +1,81 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Conto sostitutivo"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Azienda"
#, fuzzy
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Data Fine"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Conto originale"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
#, fuzzy
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Data di inizio"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Magazzino"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Vervangende grootboekrekening"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Eind datum"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Oorspronkelijke grootboekrekening"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Retour"
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Start datum"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Belasting"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Soort"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Magazijn"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Vink aan om te beperken tot retour verwerking."
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr "Grootboek regel"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Grootboek regels"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Gebruiker in bedrijven"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Grootboek regels"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Kosten"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Te betalen"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Te ontvangen"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Omzet"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Voorraad"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,82 @@
#
#, fuzzy
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Conta de Substituição"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Empresa"
#, fuzzy
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Data de Término"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Conta Original"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Retornar"
#, fuzzy
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Data de Inicio"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Imposto"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Tipo"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Armazém"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Marque para limitar a operação de retorno."
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr "Regra da Conta"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Regras da Conta"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Usuário em Empresas"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Regras da Conta"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Despesa"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Pagável"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Recebível"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Receita"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Estoque"

View File

@@ -0,0 +1,80 @@
#
#, fuzzy
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Furnizor"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,83 @@
#
#, fuzzy
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr "Nadomestni konto"
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr "Družba"
#, fuzzy
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr "Končni datum"
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr "Izvorni konto"
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr "Vračilo"
#, fuzzy
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr "Začetni datum"
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr "Davek"
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr "Vrsta"
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr "Skladišče"
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr "Izberite, da pravilo konta omejite na izvajanje vračil."
#, fuzzy
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr "Pravilo konta"
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr "Pravila konta"
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr "Uporabniki v družbah"
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr "Pravila konta"
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr "Odhodek"
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr "Dolg"
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr "Terjatev"
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr "Prihodek"
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr "Zaloga"

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,79 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.account.rule,account:"
msgid "Substitution Account"
msgstr ""
msgctxt "field:account.account.rule,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.account.rule,end_date:"
msgid "End Date"
msgstr ""
msgctxt "field:account.account.rule,origin_account:"
msgid "Original Account"
msgstr ""
msgctxt "field:account.account.rule,return_:"
msgid "Return"
msgstr ""
msgctxt "field:account.account.rule,start_date:"
msgid "Start Date"
msgstr ""
msgctxt "field:account.account.rule,tax:"
msgid "Tax"
msgstr ""
msgctxt "field:account.account.rule,type:"
msgid "Type"
msgstr ""
msgctxt "field:account.account.rule,warehouse:"
msgid "Warehouse"
msgstr ""
msgctxt "help:account.account.rule,return_:"
msgid "Check to limit to return operation."
msgstr ""
msgctxt "model:account.account.rule,string:"
msgid "Account Rule"
msgstr ""
msgctxt "model:ir.action,name:act_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "model:ir.rule.group,name:rule_group_account_rule_companies"
msgid "User in companies"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_account_rule_form"
msgid "Account Rules"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Expense"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Payable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Receivable"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Revenue"
msgstr ""
msgctxt "selection:account.account.rule,type:"
msgid "Stock"
msgstr ""

View File

@@ -0,0 +1,26 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
from trytond.transaction import Transaction
class Party(metaclass=PoolMeta):
__name__ = 'party.party'
@property
def account_payable_used(self):
pool = Pool()
AccountRule = pool.get('account.account.rule')
account = super().account_payable_used
with Transaction().set_context(account_type='payable'):
account = AccountRule.apply(account)
return account
@property
def account_receivable_used(self):
pool = Pool()
AccountRule = pool.get('account.account.rule')
account = super().account_receivable_used
with Transaction().set_context(account_type='receivable'):
account = AccountRule.apply(account)
return account

View File

@@ -0,0 +1,55 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import Pool, PoolMeta
from trytond.transaction import Transaction
class _AccountUsed:
__slots__ = ()
@property
def account_expense_used(self):
with Transaction().set_context(account_type='expense'):
return super().account_expense_used
@property
def account_revenue_used(self):
with Transaction().set_context(account_type='revenue'):
return super().account_revenue_used
@property
def account_stock_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_stock_used
@property
def account_stock_in_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_stock_in_used
@property
def account_stock_out_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_stock_out_used
@property
def account_cogs_used(self):
with Transaction().set_context(account_type='stock'):
return super().account_cogs_used
class Category(_AccountUsed, metaclass=PoolMeta):
__name__ = 'product.category'
def get_account(self, name, **pattern):
pool = Pool()
AccountRule = pool.get('account.account.rule')
account = super().get_account(name, **pattern)
if not self.account_parent:
with Transaction().set_context(self._context):
account = AccountRule.apply(account)
return account
class Template(_AccountUsed, metaclass=PoolMeta):
__name__ = 'product.template'

View File

@@ -0,0 +1,14 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta
from trytond.transaction import Transaction
class Line(metaclass=PoolMeta):
__name__ = 'purchase.line'
def get_invoice_line(self):
with Transaction().set_context(
taxes=[t.id for t in self.taxes],
return_=self.type == 'line' and self.quantity < 0):
return super().get_invoice_line()

View File

@@ -0,0 +1,14 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta
from trytond.transaction import Transaction
class Line(metaclass=PoolMeta):
__name__ = 'sale.line'
def get_invoice_line(self):
with Transaction().set_context(
taxes=[t.id for t in self.taxes],
return_=self.type == 'line' and self.quantity < 0):
return super().get_invoice_line()

View File

@@ -0,0 +1,40 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.pool import PoolMeta
from trytond.transaction import Transaction
class Move(metaclass=PoolMeta):
__name__ = 'stock.move'
def _get_supplier_invoice_line_consignment(self):
transaction = Transaction()
context = transaction.context
invoice_line = super()._get_supplier_invoice_line_consignment()
taxes = [t.id for t in invoice_line.taxes]
if set(context.get('taxes') or []) != set(taxes):
with transaction.set_context(taxes=taxes):
invoice_line = self._get_supplier_invoice_line_consignment()
return invoice_line
def _get_customer_invoice_line_consignment(self):
transaction = Transaction()
context = transaction.context
invoice_line = super()._get_customer_invoice_line_consignment()
taxes = [t.id for t in invoice_line.taxes]
if set(context.get('taxes') or []) != set(taxes):
with transaction.set_context(taxes=taxes):
invoice_line = self._get_customer_invoice_line_consignment()
return invoice_line
def _get_account_stock_move_lines(self, type_):
warehouse = self.warehouse
with Transaction().set_context(
warehouse=warehouse.id if warehouse else None):
return super()._get_account_stock_move_lines(type_)
def _get_account_stock_move_line(self, amount):
warehouse = self.warehouse
with Transaction().set_context(
warehouse=warehouse.id if warehouse else None):
return super()._get_account_stock_move_line(amount)

View File

@@ -0,0 +1,2 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.

View File

@@ -0,0 +1,104 @@
=====================
Account Rule Scenario
=====================
Imports::
>>> from decimal import Decimal
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_tax, get_accounts)
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules(
... ['account_rule', 'product', 'sale'],
... create_company, create_chart)
>>> AccountRule = Model.get('account.account.rule')
>>> Party = Model.get('party.party')
>>> ProductCategory = Model.get('product.category')
>>> ProductTemplate = Model.get('product.template')
>>> ProductUom = Model.get('product.uom')
>>> Sale = Model.get('sale.sale')
>>> Tax = Model.get('account.tax')
Get accounts::
>>> accounts = get_accounts()
>>> account_revenue1 = accounts['revenue']
>>> account_revenue2, = account_revenue1.duplicate()
>>> account_revenue3, = account_revenue1.duplicate()
Create tax::
>>> tax = create_tax(Decimal('.10'))
>>> tax.save()
Setup account rule::
>>> rule1 = AccountRule(type='revenue')
>>> rule1.tax = tax
>>> rule1.account = account_revenue2
>>> rule1.save()
>>> rule2 = AccountRule(type='revenue')
>>> rule2.origin_account = account_revenue1
>>> rule2.return_ = True
>>> rule2.account = account_revenue3
>>> rule2.save()
Create account category::
>>> account_category = ProductCategory(name="Account Category")
>>> account_category.accounting = True
>>> account_category.account_expense = accounts['expense']
>>> account_category.account_revenue = account_revenue1
>>> account_category.save()
Create product::
>>> template = ProductTemplate()
>>> template.name = "Product"
>>> template.default_uom, = ProductUom.find([('name', '=', "Unit")])
>>> template.type = 'service'
>>> template.list_price = Decimal(0)
>>> template.account_category = account_category
>>> template.salable = True
>>> template.save()
>>> product, = template.products
Create customer::
>>> customer = Party(name="Customer")
>>> customer.save()
Test rules with a sale::
>>> sale = Sale()
>>> sale.party = customer
>>> line = sale.lines.new()
>>> line.product = product
>>> line.quantity = 1
>>> line = sale.lines.new()
>>> line.product = product
>>> line.taxes.append(Tax(tax.id))
>>> line.quantity = 2
>>> line = sale.lines.new()
>>> line.product = product
>>> line.quantity = -1
>>> line = sale.lines.new()
>>> line.type = 'comment'
>>> line.description = 'Sample'
>>> sale.click('quote')
>>> sale.click('confirm')
>>> sale.state
'processing'
>>> invoice, = sale.invoices
>>> assertEqual(invoice.lines[0].account, account_revenue1)
>>> assertEqual(invoice.lines[1].account, account_revenue2)
>>> assertEqual(invoice.lines[2].account, account_revenue3)

View File

@@ -0,0 +1,25 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import ModuleTestCase
class AccountRuleTestCase(ModuleTestCase):
'Test Account Rule module'
module = 'account_rule'
extras = [
'account_invoice',
'account_invoice_stock',
'account_stock_continental',
'account_stock_anglo_saxon',
'product',
'purchase',
'purchase_shipment_cost',
'sale',
'sale_gift_card',
'stock',
'stock_consignment',
]
del ModuleTestCase

View File

@@ -0,0 +1,8 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.tests.test_tryton import load_doc_tests
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

View File

@@ -0,0 +1,53 @@
[tryton]
version=7.8.0
depends:
account
company
ir
party
extras_depend:
account_invoice
account_invoice_stock
account_stock_continental
account_stock_anglo_saxon
product
purchase
purchase_shipment_cost
sale
sale_gift_card
stock
stock_consignment
xml:
account.xml
[register]
model:
account.Configuration
account.AccountRule
party.Party
[register account_invoice]
model:
account.InvoiceLine
[register account_invoice_stock]
model:
account.InvoiceLineStock
[register product]
model:
product.Category
product.Template
[register purchase]
model:
purchase.Line
[register sale]
model:
sale.Line
[register stock]
model:
stock.Move
account.AccountRuleStock

View File

@@ -0,0 +1,28 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<form>
<label name="company"/>
<field name="company"/>
<label name="sequence"/>
<field name="sequence"/>
<label name="start_date"/>
<field name="start_date"/>
<label name="end_date"/>
<field name="end_date"/>
<label name="type"/>
<field name="type"/>
<label name="return_"/>
<field name="return_"/>
<label name="tax"/>
<field name="tax"/>
<newline/>
<label name="origin_account"/>
<field name="origin_account"/>
<label name="account"/>
<field name="account"/>
</form>

View File

@@ -0,0 +1,9 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='tax']" position="after">
<label name="warehouse"/>
<field name="warehouse"/>
</xpath>
</data>

View File

@@ -0,0 +1,13 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<tree sequence="sequence">
<field name="company" expand="1" optional="1"/>
<field name="type"/>
<field name="return_"/>
<field name="start_date" optional="1"/>
<field name="end_date" optional="1"/>
<field name="origin_account" expand="1" optional="0"/>
<field name="tax" expand="1" optional="1"/>
<field name="account" expand="2" optional="0"/>
</tree>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0"?>
<!-- This file is part of Tryton. The COPYRIGHT file at the top level of
this repository contains the full copyright notices and license terms. -->
<data>
<xpath expr="//field[@name='tax']" position="after">
<field name="warehouse" expand="1"/>
</xpath>
</data>