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.

View File

@@ -0,0 +1,12 @@
# 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
class Move(metaclass=PoolMeta):
__name__ = 'account.move'
@classmethod
def _get_origin(cls):
return super()._get_origin() + [
'account.dunning.fee.dunning_level']

View File

@@ -0,0 +1,193 @@
# 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 collections import defaultdict
from trytond.model import DeactivableMixin, ModelSQL, ModelView, Unique, fields
from trytond.modules.currency.fields import Monetary
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Eval
from trytond.transaction import Transaction
class Fee(DeactivableMixin, ModelSQL, ModelView):
__name__ = 'account.dunning.fee'
name = fields.Char('Name', required=True, translate=True)
product = fields.Many2One('product.product', 'Product', required=True,
domain=[
('type', '=', 'service'),
('template.type', '=', 'service'),
])
journal = fields.Many2One('account.journal', 'Journal', required=True)
compute_method = fields.Selection([
('list_price', 'List Price'),
('percentage', 'Percentage'),
], 'Compute Method', required=True,
help='Method to compute the fee amount')
percentage = fields.Numeric(
"Percentage", digits=(None, 8),
states={
'invisible': Eval('compute_method') != 'percentage',
'required': Eval('compute_method') == 'percentage',
})
def get_list_price(self, dunning):
pool = Pool()
Product = pool.get('product.product')
with Transaction().set_context(company=dunning.company.id):
product = Product(self.product)
return product.list_price_used
def get_amount(self, dunning):
'Return fee amount and currency'
amount, currency = None, None
if self.compute_method == 'list_price':
currency = dunning.company.currency
amount = currency.round(self.get_list_price(dunning))
elif self.compute_method == 'percentage':
if dunning.second_currency:
amount = dunning.amount_second_currency
currency = dunning.second_currency
else:
amount = dunning.amount
currency = dunning.company.currency
amount = currency.round(amount * self.percentage)
return amount, currency
class Level(metaclass=PoolMeta):
__name__ = 'account.dunning.level'
fee = fields.Many2One('account.dunning.fee', 'Fee')
class Dunning(metaclass=PoolMeta):
__name__ = 'account.dunning'
fees = fields.One2Many(
'account.dunning.fee.dunning_level', 'dunning', 'Fees', readonly=True)
@classmethod
def process(cls, dunnings):
pool = Pool()
FeeDunningLevel = pool.get('account.dunning.fee.dunning_level')
fees = []
for dunning in dunnings:
if dunning.blocked or not dunning.level.fee:
continue
if dunning.level in {f.level for f in dunning.fees}:
continue
fee = FeeDunningLevel(dunning=dunning, level=dunning.level)
fee.amount, fee.currency = dunning.level.fee.get_amount(dunning)
fees.append(fee)
FeeDunningLevel.save(fees)
FeeDunningLevel.process(fees)
super().process(dunnings)
class FeeDunningLevel(ModelSQL, ModelView):
__name__ = 'account.dunning.fee.dunning_level'
dunning = fields.Many2One(
'account.dunning', "Dunning", required=True)
level = fields.Many2One('account.dunning.level', 'Level', required=True)
amount = Monetary(
"Amount", currency='currency', digits='currency')
currency = fields.Many2One('currency.currency', 'Currency')
moves = fields.One2Many('account.move', 'origin', 'Moves', readonly=True)
@classmethod
def __setup__(cls):
super().__setup__()
t = cls.__table__()
cls._sql_constraints = [
('dunning_level_unique', Unique(t, t.dunning, t.level),
'account_dunning_fee.msg_fee_dunning_level_unique'),
]
def get_rec_name(self, name):
return '%s @ %s' % (self.dunning.rec_name, self.level.rec_name)
@classmethod
def search_rec_name(cls, name, clause):
_, operator, value = clause
if operator.startswith('!') or operator.startswith('not '):
bool_op = 'AND'
else:
bool_op = 'OR'
return [bool_op,
('dunning.rec_name', *clause[1:]),
('level.rec_name', *clause[1:]),
]
@classmethod
def process(cls, fees):
pool = Pool()
Move = pool.get('account.move')
moves = []
for fee in fees:
move = fee.get_move_process()
moves.append(move)
Move.save(moves)
Move.post(moves)
def get_move_process(self):
pool = Pool()
Move = pool.get('account.move')
Line = pool.get('account.move.line')
Date = pool.get('ir.date')
Period = pool.get('account.period')
Currency = pool.get('currency.currency')
with Transaction().set_context(company=self.dunning.company.id):
today = Date.today()
move = Move()
move.company = self.dunning.company
move.journal = self.level.fee.journal
move.date = today
move.period = Period.find(move.company, date=today)
move.origin = self
move.description = self.level.fee.name
line = Line()
if self.currency == move.company.currency:
line.debit = self.amount
else:
line.second_currency = self.currency
line.amount_second_currency = self.amount
line.debit = Currency.compute(
self.currency, self.amount, move.company.currency)
line.account = self.dunning.line.account
line.party = self.dunning.line.party
counterpart = Line()
counterpart.credit = line.debit
counterpart.account = self.level.fee.product.account_revenue_used
if counterpart.account and counterpart.account.party_required:
counterpart.party = self.dunning.party
move.lines = [line, counterpart]
return move
# TODO create move with taxes on reconcile of process move line
class Letter(metaclass=PoolMeta):
__name__ = 'account.dunning.letter'
@classmethod
def get_party_letter(cls):
PartyLetter = super().get_party_letter()
class PartyLetterFee(PartyLetter):
@property
def fees(self):
fees = defaultdict(int)
fees.update(super().fees)
for dunning in self.dunnings:
for fee in dunning.fees:
fees[fee.currency] += fee.amount
return fees
return PartyLetterFee

View File

@@ -0,0 +1,128 @@
<?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="dunning_fee_view_form">
<field name="model">account.dunning.fee</field>
<field name="type">form</field>
<field name="name">dunning_fee_form</field>
</record>
<record model="ir.ui.view" id="dunning_fee_view_list">
<field name="model">account.dunning.fee</field>
<field name="type">tree</field>
<field name="name">dunning_fee_list</field>
</record>
<record model="ir.action.act_window" id="act_dunning_fee_form">
<field name="name">Fees</field>
<field name="res_model">account.dunning.fee</field>
</record>
<record model="ir.action.act_window.view"
id="act_dunning_fee_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="dunning_fee_view_list"/>
<field name="act_window" ref="act_dunning_fee_form"/>
</record>
<record model="ir.action.act_window.view"
id="act_dunning_fee_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="dunning_fee_view_form"/>
<field name="act_window" ref="act_dunning_fee_form"/>
</record>
<menuitem
parent="account_dunning.menu_dunning_configuration"
action="act_dunning_fee_form"
sequence="20"
id="menu_dunning_fee_form"/>
<record model="ir.model.access" id="access_dunning_fee">
<field name="model">account.dunning.fee</field>
<field name="perm_read" eval="False"/>
<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_dunning_fee_account_admin">
<field name="model">account.dunning.fee</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.model.access" id="access_dunning_fee_dunning">
<field name="model">account.dunning.fee</field>
<field name="group" ref="account_dunning.group_dunning"/>
<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.ui.view" id="dunning_level_view_form">
<field name="model">account.dunning.level</field>
<field name="inherit"
ref="account_dunning.dunning_level_view_form"/>
<field name="name">dunning_level_form</field>
</record>
<record model="ir.ui.view" id="dunning_level_view_list">
<field name="model">account.dunning.level</field>
<field name="inherit"
ref="account_dunning.dunning_level_view_list"/>
<field name="name">dunning_level_list</field>
</record>
<record model="ir.ui.view" id="dunning_level_view_list_sequence">
<field name="model">account.dunning.level</field>
<field name="inherit"
ref="account_dunning.dunning_level_view_list_sequence"/>
<field name="name">dunning_level_list</field>
</record>
<record model="ir.ui.view" id="dunning_view_form">
<field name="model">account.dunning</field>
<field name="inherit" ref="account_dunning.dunning_view_form"/>
<field name="name">dunning_form</field>
</record>
<record model="ir.ui.view" id="dunning_fee_dunning_level_view_form">
<field name="model">account.dunning.fee.dunning_level</field>
<field name="type">form</field>
<field name="name">dunning_fee_dunning_level_form</field>
</record>
<record model="ir.ui.view" id="dunning_fee_dunning_level_view_list">
<field name="model">account.dunning.fee.dunning_level</field>
<field name="type">tree</field>
<field name="name">dunning_fee_dunning_level_list</field>
</record>
<record model="ir.model.access" id="access_dunning_fee_dunning_level">
<field name="model">account.dunning.fee.dunning_level</field>
<field name="perm_read" eval="False"/>
<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_dunning_fee_dunning_level_account_admin">
<field name="model">account.dunning.fee.dunning_level</field>
<field name="group" ref="account.group_account_admin"/>
<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_dunning_fee_dunning_level_dunning">
<field name="model">account.dunning.fee.dunning_level</field>
<field name="group" ref="account_dunning.group_dunning"/>
<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>
</data>
</tryton>

View File

@@ -0,0 +1,99 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Дневник"
#, fuzzy
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Условие за плащане"
#, fuzzy
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Процент"
#, fuzzy
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Продукт"
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Сума"
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Управление на валути"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Ниво"
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Движения"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
#, fuzzy
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Каталожна цена"
#, fuzzy
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Процент"
#, fuzzy
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,87 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Despeses"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Mètode de càlcul"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Diari"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nom"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Percentatge"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Producte"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Import"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Moneda"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Reclamació"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Nivell"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Moviments"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Despeses"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Mètode per calcular l'import de les despeses"
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Despeses de reclamació contables"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Compte de les despeses de reclamació - Nivell"
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Despeses"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Les despeses han de ser úniques per reclamació i nivell."
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Despeses"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Preu de venda"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Percentatge"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,90 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Namu"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr ""
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr ""
#, fuzzy
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,88 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Gebühren"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Berechnungsmethode"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Journal"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Name"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Prozentsatz"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Artikel"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Betrag"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Währung"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Mahnung"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Stufe"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Buchungssätze"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Gebühr"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Berechnungsmethode für die Mahngebühren"
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Buchhaltung Mahngebühr"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Buchhaltung Mahngebühr Mahnstufe"
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Gebühren"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
"Eine Mahngebühr kann nur einmal pro Mahnung und Mahnstufe vergeben werden."
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Gebühren"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Listenpreis"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Prozentsatz"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,87 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Gastos"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Método de cálculo"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Diario"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nombre"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Porcentaje"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Importe"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Moneda"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Reclamación"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Nivel"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Movimientos"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Gasto"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Método para calcular el importe del gasto"
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Gastos de reclamación contable"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Gatos de reclamación contable - Nivel"
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Gastos"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Los gastos deben ser únicos por reclamación y nivel."
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Gastos"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Precio de venta"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Porcentaje"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,90 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Libro diario"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr ""
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr ""
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Producto"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Cobro"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Cuenta de los gastos de cobro"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Cuenta de los gatos de cobro - Nivel"
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
#, fuzzy
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Los gastos deben ser únicos por cobro y nivel."
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr ""
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr ""

View File

@@ -0,0 +1,91 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Tasud"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Tekita meetod"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Andmik"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nimetus"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Protsent"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Toode"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Väärtus"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Valuuta"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Meenutus"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Tase"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Kanded"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Tasu"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Tasu väärtuse arvestuse metoodika"
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Meenutuse tasu konto"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Meenutuse konto meenutuse-taseme tasu"
#, fuzzy
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Tasud"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Tasu peab olema unikaalne meenutuse ja taseme ulatuses"
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Tasud"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Müügihind"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Protsent"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,91 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "قیمت ها"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "روش محاسبه"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "روزنامه"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "نام"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "درصد"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "محصول"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "مقدار"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "واحد پول"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "دانینگ"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "سطح"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "جابجایی ها"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "قیمت"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "روش محاسبه میزان قیمت"
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "حساب دانینگ قیمت"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "حساب دانینگ قیمت سطح - دانینگ"
#, fuzzy
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "قیمت ها"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "قیمت باید منحصربفرد باشد در هر دانینگ و هر سطح."
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "قیمت ها"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "لیست قیمت"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "درصد"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,89 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr ""
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr ""
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr ""
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr ""
#, fuzzy
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,87 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Frais"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Méthode de calcul"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Journal"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nom"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Pourcentage"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Produit"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Montant"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Devise"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Relance"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Niveau"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Mouvements"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Frais"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Méthode de calcule du montant des frais"
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Frais de relance comptable"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Frais de relance comptable Niveau de relance"
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Frais"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Les frais doivent être unique par relance et niveau."
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Frais"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Prix listé"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Pourcentage"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,97 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Név"
#, fuzzy
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Százalék:"
#, fuzzy
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Termék"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Pénznem"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Szint"
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Raktár mozgás"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
#, fuzzy
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Árlista szerinti ár"
#, fuzzy
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Százalék:"
#, fuzzy
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,87 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Jurnal"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nama"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Persentase"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Produk"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Jumlah"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Mata Uang"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Perpindahan"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr ""
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Persentase"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,89 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Spese"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Metodo di calcolo"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Registro"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nome"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Percentuale"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Prodotto"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Importo"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Valuta"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Sollecito"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Livello"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Movimenti"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Spesa"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Metodo di calcolo delle spese"
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Conto di imputazione della spesa"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Conto di imputazione della spesa per livello di sollecito"
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Spese"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "La spesa dev'essere univocha per ogni sollecito e livello."
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Spese"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Listino prezzi"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Percentuale"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,92 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "ຄ່າທຳນຽມ"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "ວິທີການຄິດໄລ່"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "ປຶ້ມບັນຊີປະຈຳວັນ"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "ຊື່"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "ອັດຕາສ່ວນຮ້ອຍ"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "ຜະລິດຕະພັນ"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "ມູນຄ່າ"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "ສະກຸນເງິນ"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "ການຕິດຕາມໜີ້"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "ຂັ້ນ"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "ເຄື່ອນໄຫວບັນຊີ"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "ຄ່າທຳນຽມ"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "ວິທີການຄິດໄລ່ມູນຄ່າ ຄ່າທຳນຽມ"
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "ຄ່າທຳນຽມບັນຊີຕິດຕາມໜີ້"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "ຂັ້ນການທວງໜີ້ ຄ່າທຳນຽມບັນຊີຕິດຕາມໜີ້"
#, fuzzy
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "ຄ່າທຳນຽມ"
#, fuzzy
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "ຄ່າທຳນຽມຕໍ່ແຕ່ລະການທວງໜີ້ແລະຂັ້ນທວງໜີ້ຕ້ອງບໍ່ຊໍ້າກັນ."
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "ຄ່າທຳນຽມ"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "ລາຍການລາຄາ"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "ອັດຕາສ່ວນຮ້ອຍ"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,90 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Namu"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr ""
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Valiuta"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr ""
#, fuzzy
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,87 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Kosten"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Berekening Methode"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Dagboek"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Naam"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Percentage"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Product"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Bedrag"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Valuta"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Aanmaning"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Niveau"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Boekingen"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Aanmaningskosten"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Methode om het bedrag van de vergoeding te berekenen"
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Aanmaning kosten"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Aanmaning kosten aanmaning niveau"
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Vergoedingen"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "De vergoeding moet uniek zijn voor aanmaning en niveau."
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Vergoedingen"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Catalogusprijs"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Percentage"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,90 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Opłaty"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Metoda obliczeniowa"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Dziennik"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nazwa"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Procent"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Produkt"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Ilość"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Waluta"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Poziom"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Opłata"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
#, fuzzy
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Opłaty"
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Opłaty"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Cena sprzedaży"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Procent"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,92 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Taxas"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Método de Cálculo"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Diário"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nome"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Porcentagem"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Produto"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Montante"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Moeda"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Cobrança"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Nível"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Movimentações"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Taxa"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Método para calcular o montante das taxas"
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Contabilidade Taxas das Cobranças"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Contabilidade Taxas das Cobranças Cobrança-Nível"
#, fuzzy
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Taxas"
#, fuzzy
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Taxa deve ser única por cobrança e por nível."
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Taxas"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Preço de Tabela"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Porcentagem"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,87 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Metoda de Calcul"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Jurnal"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Nume"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Procentaj"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Produs"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Suma"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Moneda"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr ""
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr ""
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr ""

View File

@@ -0,0 +1,99 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Журнал"
#, fuzzy
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Правило оплаты"
#, fuzzy
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Процент"
#, fuzzy
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Товарно материальные ценности (ТМЦ)"
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Сумма"
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Валюты"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Уровень"
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Перемещения"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
#, fuzzy
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Цена"
#, fuzzy
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Процент"
#, fuzzy
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,92 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Stroški"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Način izračuna"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Dnevnik"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Naziv"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Odstotno"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Izdelek"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Znesek"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Valuta"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "Izterjava"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Stopnja"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Promet"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Plačilo"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Načina izračuna višine stroška"
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Strošek izterjave"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Stopnja stroškov izterjave"
#, fuzzy
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Stroški"
#, fuzzy
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Strošek mora biti edinstven po izterjavi in stopnji"
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Stroški"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Prodajna cena"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Odstotno"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,92 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr "Ücretler"
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr "Hesaplama Metodu"
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr "Yevmiye Defteri"
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "Ad"
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "Yüzde"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr "Ürün"
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr "Miktar"
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr "Para Birimi"
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr "İhtarname"
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "Seviye"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr "Hareketler"
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr "Ücret"
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr "Ücret miktarını hesaplamak için metot"
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Hesap İhtarname Ücreti"
#, fuzzy
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr "Hesap İhtarname Ücreti İhtarname Seviyesi"
#, fuzzy
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr "Ücretler"
#, fuzzy
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr "Ücret her bir ihtarname ve seviye için özgün olmalı."
#, fuzzy
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr "Ücretler"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr "Liste Fiyatı"
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "Yüzde"
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,87 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr ""
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr ""
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr ""
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr ""
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr ""
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr ""

View File

@@ -0,0 +1,93 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.dunning,fees:"
msgid "Fees"
msgstr ""
msgctxt "field:account.dunning.fee,compute_method:"
msgid "Compute Method"
msgstr ""
msgctxt "field:account.dunning.fee,journal:"
msgid "Journal"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee,name:"
msgid "Name"
msgstr "纳木"
#, fuzzy
msgctxt "field:account.dunning.fee,percentage:"
msgid "Percentage"
msgstr "百分比"
msgctxt "field:account.dunning.fee,product:"
msgid "Product"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,amount:"
msgid "Amount"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,currency:"
msgid "Currency"
msgstr ""
msgctxt "field:account.dunning.fee.dunning_level,dunning:"
msgid "Dunning"
msgstr ""
#, fuzzy
msgctxt "field:account.dunning.fee.dunning_level,level:"
msgid "Level"
msgstr "层级"
msgctxt "field:account.dunning.fee.dunning_level,moves:"
msgid "Moves"
msgstr ""
msgctxt "field:account.dunning.level,fee:"
msgid "Fee"
msgstr ""
msgctxt "help:account.dunning.fee,compute_method:"
msgid "Method to compute the fee amount"
msgstr ""
#, fuzzy
msgctxt "model:account.dunning.fee,string:"
msgid "Account Dunning Fee"
msgstr "Dunning Fees"
msgctxt "model:account.dunning.fee.dunning_level,string:"
msgid "Account Dunning Fee Dunning Level"
msgstr ""
msgctxt "model:ir.action,name:act_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "model:ir.message,text:msg_fee_dunning_level_unique"
msgid "Fee must be unique by dunning and level."
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_dunning_fee_form"
msgid "Fees"
msgstr ""
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "List Price"
msgstr ""
#, fuzzy
msgctxt "selection:account.dunning.fee,compute_method:"
msgid "Percentage"
msgstr "百分比"
#, fuzzy
msgctxt "view:account.dunning.fee:"
msgid "%"
msgstr "%"

View File

@@ -0,0 +1,10 @@
<?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 grouped="1">
<record model="ir.message" id="msg_fee_dunning_level_unique">
<field name="text">Fee must be unique by dunning and level.</field>
</record>
</data>
</tryton>

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,169 @@
============================
Account Dunning Fee Scenario
============================
Imports::
>>> import datetime as dt
>>> from decimal import Decimal
>>> from proteus import Model, Wizard
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_fiscalyear, get_accounts)
>>> from trytond.modules.company.tests.tools import create_company
>>> from trytond.tests.tools import activate_modules
Activate modules::
>>> config = activate_modules('account_dunning_fee', create_company, create_chart)
Reload the context::
>>> User = Model.get('res.user')
>>> Group = Model.get('res.group')
>>> config._context = User.get_preferences(True, config.context)
Create fiscal year::
>>> fiscalyear = create_fiscalyear()
>>> fiscalyear.click('create_period')
>>> period = fiscalyear.periods[0]
Get accounts::
>>> accounts = get_accounts()
>>> receivable = accounts['receivable']
>>> revenue = accounts['revenue']
>>> Journal = Model.get('account.journal')
>>> journal_revenue, = Journal.find([
... ('code', '=', 'REV'),
... ])
>>> journal_revenue.save()
Create account category::
>>> ProductCategory = Model.get('product.category')
>>> account_category = ProductCategory(name="Account Category")
>>> account_category.accounting = True
>>> account_category.account_revenue = revenue
>>> account_category.save()
Create fees::
>>> Fee = Model.get('account.dunning.fee')
>>> ProductTemplate = Model.get('product.template')
>>> ProductUom = Model.get('product.uom')
>>> unit, = ProductUom.find([('name', '=', 'Unit')])
>>> template_fee = ProductTemplate(name='Fee')
>>> template_fee.default_uom = unit
>>> template_fee.type = 'service'
>>> template_fee.list_price = Decimal('10')
>>> template_fee.account_category = account_category
>>> template_fee.save()
>>> product_fee, = template_fee.products
>>> fee = Fee(name='Fee')
>>> fee.product = product_fee
>>> fee.journal = journal_revenue
>>> fee.compute_method = 'list_price'
>>> fee.save()
>>> fee_pc = Fee(name='Fee 15%')
>>> fee_pc.product = product_fee
>>> fee_pc.journal = journal_revenue
>>> fee_pc.compute_method = 'percentage'
>>> fee_pc.percentage = Decimal('.15')
>>> fee_pc.save()
Create dunning procedure::
>>> Procedure = Model.get('account.dunning.procedure')
>>> procedure = Procedure(name='Procedure Fee')
>>> level = procedure.levels.new()
>>> level.overdue = dt.timedelta(5)
>>> level.fee = fee
>>> level = procedure.levels.new()
>>> level.overdue = dt.timedelta(10)
>>> level.fee = fee_pc
>>> procedure.save()
Create parties::
>>> Party = Model.get('party.party')
>>> customer = Party(name='Customer')
>>> customer.dunning_procedure = procedure
>>> customer.save()
Create move::
>>> Move = Model.get('account.move')
>>> move = Move()
>>> move.period = period
>>> move.journal = journal_revenue
>>> move.date = period.start_date
>>> line = move.lines.new()
>>> line.account = revenue
>>> line.credit = Decimal(100)
>>> line = move.lines.new()
>>> line.account = receivable
>>> line.debit = Decimal(100)
>>> line.party = customer
>>> line.maturity_date = period.start_date
>>> move.save()
Check accounts::
>>> receivable.reload()
>>> receivable.balance
Decimal('100.00')
>>> revenue.reload()
>>> revenue.balance
Decimal('-100.00')
Create dunning on 5 days::
>>> Dunning = Model.get('account.dunning')
>>> create_dunning = Wizard('account.dunning.create')
>>> create_dunning.form.date = (
... period.start_date + dt.timedelta(days=5))
>>> create_dunning.execute('create_')
>>> dunning, = Dunning.find([])
Process dunning::
>>> process_dunning = Wizard('account.dunning.process',
... [dunning])
>>> process_dunning.execute('process')
Check accounts::
>>> receivable.reload()
>>> receivable.balance
Decimal('110.00')
>>> revenue.reload()
>>> revenue.balance
Decimal('-110.00')
Create dunning on 10 days::
>>> Dunning = Model.get('account.dunning')
>>> create_dunning = Wizard('account.dunning.create')
>>> create_dunning.form.date = (period.start_date
... + dt.timedelta(days=10))
>>> create_dunning.execute('create_')
>>> dunning, = Dunning.find([])
Process dunning::
>>> process_dunning = Wizard('account.dunning.process',
... [dunning])
>>> process_dunning.execute('process')
Check accounts::
>>> receivable.reload()
>>> receivable.balance
Decimal('125.00')
>>> revenue.reload()
>>> revenue.balance
Decimal('-125.00')

View File

@@ -0,0 +1,13 @@
# 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 AccountDunningFeeTestCase(ModuleTestCase):
'Test Account Dunning Fee module'
module = 'account_dunning_fee'
extras = ['account_dunning_letter']
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,23 @@
[tryton]
version=7.8.0
depends:
account_dunning
account_product
ir
extras_depend:
account_dunning_letter
xml:
dunning.xml
message.xml
[register]
model:
dunning.Fee
dunning.Level
dunning.Dunning
dunning.FeeDunningLevel
account.Move
[register account_dunning_letter]
report:
dunning.Letter

View File

@@ -0,0 +1,15 @@
<?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 col="2">
<label name="dunning"/>
<field name="dunning"/>
<label name="level"/>
<field name="level"/>
<label name="amount"/>
<group col="2" id="amount_currency">
<field name="amount" symbol=""/>
<field name="currency"/>
</group>
<field name="moves" colspan="4"/>
</form>

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. -->
<tree>
<field name="dunning" expand="2"/>
<field name="level" expand="1"/>
<field name="amount"/>
</tree>

View File

@@ -0,0 +1,21 @@
<?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="name"/>
<field name="name"/>
<label name="active"/>
<field name="active"/>
<label name="product"/>
<field name="product"/>
<label name="journal"/>
<field name="journal" widget="selection"/>
<label name="compute_method"/>
<field name="compute_method"/>
<newline/>
<label name="percentage"/>
<group col="2" id="percentage">
<field name="percentage" factor="100" xexpand="0"/>
<label name="percentage" string="%" xalign="0.0" xexpand="1"/>
</group>
</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. -->
<tree>
<field name="name" expand="2"/>
<field name="product" expand="1" optional="1"/>
<field name="journal" expand="1" optional="1"/>
<field name="compute_method" optional="1"/>
</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="/form/field[@name='level']" position="after">
<field name="fees" colspan="4"/>
</xpath>
</data>

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="/form/field[@name='overdue']" position="after">
<label name="fee"/>
<field name="fee"/>
</xpath>
</data>

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="/tree/field[@name='overdue']" position="after">
<field name="fee" expand="1"/>
</xpath>
</data>