Initial import from Docker volume

This commit is contained in:
root
2025-12-26 13:11:43 +00:00
commit 4998dc066a
13336 changed files with 1767801 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
# 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
from . import account, edocument, ir, party
__all__ = ['register']
def register():
Pool.register(
account.Configuration,
account.CredentialChorus,
account.Invoice,
account.InvoiceChorus,
party.Party,
ir.Cron,
module='account_fr_chorus', type_='model')
Pool.register(
edocument.UNCEFACTInvoice,
module='account_fr_chorus', type_='model',
depends=['edocument_uncefact'])
Pool.register(
module='account_fr_chorus', type_='wizard')
Pool.register(
module='account_fr_chorus', type_='report')

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,416 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import base64
import datetime
import logging
import posixpath
from collections import defaultdict
from oauthlib.oauth2 import BackendApplicationClient, TokenExpiredError
from requests_oauthlib import OAuth2Session
from sql.functions import CharLength
from trytond.config import config
from trytond.i18n import gettext
from trytond.model import ModelSQL, ModelView, Unique, Workflow, fields
from trytond.model.exceptions import AccessError
from trytond.modules.company.model import CompanyValueMixin
from trytond.pool import Pool, PoolMeta
from trytond.pyson import Bool, Eval, If
from trytond.transaction import Transaction
from .exceptions import InvoiceChorusValidationError
OAUTH_TOKEN_URL = {
'service-qualif': 'https://sandbox-oauth.piste.gouv.fr/api/oauth/token',
'service': 'https://oauth.piste.gouv.fr/api/oauth/token',
}
API_URL = {
'service-qualif': 'https://sandbox-api.piste.gouv.fr',
'service': 'https://api.piste.gouv.fr',
}
EDOC2SYNTAX = {
'edocument.uncefact.invoice': 'IN_DP_E1_CII_16B',
}
EDOC2FILENAME = {
'edocument.uncefact.invoice': 'UNCEFACT-%s.xml',
}
TIMEOUT = config.getfloat('account_fr_chorus', 'requests_timeout', default=300)
if config.getboolean('account_fr_chorus', 'filestore', default=False):
file_id = 'data_file_id'
store_prefix = config.get(
'account_payment_sepa', 'store_prefix', default=None)
else:
file_id = None
store_prefix = None
logger = logging.getLogger(__name__)
SUCCEEDED = {'IN_INTEGRE', 'IN_RECU', 'IN_TRAITE_SE_CPP'}
FAILED = {
'IN_INCIDENTE', 'QP_IRRECEVABLE', 'QP_RECEVABLE_AVEC_ERREUR', 'IN_REJETE'}
class _SyntaxMixin(object):
__slots__ = ()
@classmethod
def get_syntaxes(cls):
pool = Pool()
syntaxes = [(None, "")]
try:
doc = pool.get('edocument.uncefact.invoice')
except KeyError:
pass
else:
syntaxes.append((doc.__name__, "CII"))
return syntaxes
class Configuration(_SyntaxMixin, metaclass=PoolMeta):
__name__ = 'account.configuration'
_states = {
'required': Bool(Eval('chorus_login')),
}
chorus_piste_client_id = fields.MultiValue(
fields.Char("Piste Client ID", strip=False))
chorus_piste_client_secret = fields.MultiValue(
fields.Char("Piste Client Secret", strip=False, states=_states))
chorus_login = fields.MultiValue(fields.Char("Login", strip=False))
chorus_password = fields.MultiValue(fields.Char(
"Password", strip=False, states=_states))
chorus_service = fields.MultiValue(fields.Selection([
(None, ""),
('service-qualif', "Qualification"),
('service', "Production"),
], "Service", states=_states))
chorus_syntax = fields.Selection(
'get_syntaxes', "Syntax", states=_states)
del _states
@classmethod
def multivalue_model(cls, field):
pool = Pool()
if field in {
'chorus_piste_client_id', 'chorus_piste_client_secret',
'chorus_login', 'chorus_password', 'chorus_service'}:
return pool.get('account.credential.chorus')
return super(Configuration, cls).multivalue_model(field)
class CredentialChorus(ModelSQL, CompanyValueMixin):
"Account Credential Chorus"
__name__ = 'account.credential.chorus'
chorus_piste_client_id = fields.Char("Piste Client ID", strip=False)
chorus_piste_client_secret = fields.Char(
"Piste Client Secret", strip=False)
chorus_login = fields.Char("Login", strip=False)
chorus_password = fields.Char("Password", strip=False)
chorus_service = fields.Selection([
(None, ""),
('service-qualif', "Qualification"),
('service', "Production"),
], "Service")
@classmethod
def get_session(cls):
pool = Pool()
Configuration = pool.get('account.configuration')
config = Configuration(1)
client = BackendApplicationClient(
client_id=config.chorus_piste_client_id)
session = OAuth2Session(client=client)
cls._get_token(session)
return session
@classmethod
def _get_token(cls, session):
pool = Pool()
Configuration = pool.get('account.configuration')
config = Configuration(1)
return session.fetch_token(
OAUTH_TOKEN_URL[config.chorus_service],
client_id=config.chorus_piste_client_id,
client_secret=config.chorus_piste_client_secret)
@classmethod
def post(cls, path, payload, session=None):
pool = Pool()
Configuration = pool.get('account.configuration')
config = Configuration(1)
if not session:
session = cls.get_session()
base_url = API_URL[config.chorus_service]
url = posixpath.join(base_url, path)
account = f'{config.chorus_login}:{config.chorus_password}'
headers = {
'cpro-account': base64.b64encode(account.encode('utf-8')),
}
try:
resp = session.post(
url, headers=headers, json=payload,
verify=True, timeout=TIMEOUT)
except TokenExpiredError:
cls._get_token(session)
resp = session.post(
url, headers=headers, json=payload,
verify=True, timeout=TIMEOUT)
resp.raise_for_status()
return resp.json()
class Invoice(metaclass=PoolMeta):
__name__ = 'account.invoice'
@classmethod
def _post(cls, invoices):
pool = Pool()
InvoiceChorus = pool.get('account.invoice.chorus')
posted_invoices = {
i for i in invoices if i.state in {'draft', 'validated'}}
super()._post(invoices)
invoices_chorus = []
for invoice in posted_invoices:
if invoice.type == 'out' and invoice.party.chorus:
invoices_chorus.append(InvoiceChorus(invoice=invoice))
InvoiceChorus.save(invoices_chorus)
class InvoiceChorus(
Workflow, ModelSQL, ModelView, _SyntaxMixin, metaclass=PoolMeta):
"Invoice Chorus"
__name__ = 'account.invoice.chorus'
_history = True
invoice = fields.Many2One(
'account.invoice', "Invoice", required=True,
domain=[
('type', '=', 'out'),
('state', 'in', If(Bool(Eval('number')),
['posted', 'paid'],
['posted'])),
])
syntax = fields.Selection('get_syntaxes', "Syntax", required=True)
filename = fields.Function(fields.Char("Filename"), 'get_filename')
number = fields.Char(
"Number", readonly=True, strip=False,
states={
'required': Eval('state') == 'sent',
})
date = fields.Date(
"Date", readonly=True,
states={
'required': Eval('state') == 'sent',
})
data = fields.Binary(
"Data", filename='filename',
file_id=file_id, store_prefix=store_prefix, readonly=True)
data_file_id = fields.Char("Data File ID", readonly=True)
state = fields.Selection([
('draft', "Draft"),
('sent', "Sent"),
('done', "Done"),
('exception', "Exception"),
], "State", readonly=True, required=True, sort=False)
@classmethod
def __setup__(cls):
cls.number.search_unaccented = False
super(InvoiceChorus, cls).__setup__()
t = cls.__table__()
cls._sql_constraints = [
('invoice_unique', Unique(t, t.invoice),
'account_fr_chorus.msg_invoice_unique'),
]
cls._transitions |= {
('draft', 'sent'),
('sent', 'done'),
('sent', 'exception'),
('exception', 'sent'),
}
cls._buttons.update(
send={
'invisible': ~Eval('state').in_(['draft', 'exception']),
'depends': ['state'],
},
update={
'invisible': Eval('state') != 'sent',
'depends': ['state'],
},
)
@classmethod
def __register__(cls, module):
cursor = Transaction().connection.cursor()
table = cls.__table__()
table_h = cls.__table_handler__(module)
update_state = not table_h.column_exist('state')
super().__register__(module)
# Migration from 6.8: fill state
if update_state:
cursor.execute(*table.update([table.state], ['done']))
@classmethod
def default_syntax(cls):
pool = Pool()
Configuration = pool.get('account.configuration')
config = Configuration(1)
return config.chorus_syntax
def get_filename(self, name):
filename = EDOC2FILENAME[self.syntax] % self.invoice.number
return filename.replace('/', '-')
@classmethod
def default_state(cls):
return 'draft'
@classmethod
def order_number(cls, tables):
table, _ = tables[None]
return [CharLength(table.number), table.number]
@classmethod
def validate(cls, records):
super(InvoiceChorus, cls).validate(records)
for record in records:
addresses = [
record.invoice.company.party.address_get('invoice'),
record.invoice.invoice_address]
for address in addresses:
if not address.siret:
raise InvoiceChorusValidationError(
gettext('account_fr_chorus'
'.msg_invoice_address_no_siret',
invoice=record.invoice.rec_name,
address=address.rec_name))
@classmethod
def delete(cls, records):
for record in records:
if record.number:
raise AccessError(
gettext('account_fr_chorus.msg_invoice_delete_sent',
invoice=record.invoice.rec_name))
super(InvoiceChorus, cls).delete(records)
def _send_context(self):
return {
'company': self.invoice.company.id,
}
@classmethod
@ModelView.button
@Workflow.transition('sent')
def send(cls, records=None):
"""Send invoice to Chorus
The transaction is committed after each invoice.
"""
pool = Pool()
Credential = pool.get('account.credential.chorus')
transaction = Transaction()
if not records:
records = cls.search([
('invoice.company', '=',
transaction.context.get('company')),
('state', '=', 'draft'),
])
sessions = defaultdict(Credential.get_session)
cls.lock(records)
for record in records:
# Use clear cache after a commit
record = cls(record.id)
record.lock()
context = record._send_context()
with transaction.set_context(**context):
payload = record.get_payload()
resp = Credential.post(
'cpro/factures/v1/deposer/flux', payload,
session=sessions[tuple(context.items())])
if resp['codeRetour']:
logger.error(
"Error when sending invoice %d to chorus: %s",
record.id, resp['libelle'])
else:
record.number = resp['numeroFluxDepot']
record.date = datetime.datetime.strptime(
resp['dateDepot'], '%Y-%m-%d').date()
record.state = 'sent'
record.save()
Transaction().commit()
def get_payload(self):
pool = Pool()
Doc = pool.get(self.syntax)
with Transaction().set_context(account_fr_chorus=True):
self.data = Doc(self.invoice).render(None)
return {
'fichierFlux': base64.b64encode(self.data).decode('ascii'),
'nomFichier': self.filename,
'syntaxeFlux': EDOC2SYNTAX[self.syntax],
'avecSignature': False,
}
@classmethod
@ModelView.button
def update(cls, records=None):
"Update state from Chorus"
pool = Pool()
Credential = pool.get('account.credential.chorus')
transaction = Transaction()
if not records:
records = cls.search([
('invoice.company', '=',
transaction.context.get('company')),
('state', '=', 'sent'),
])
sessions = defaultdict(Credential.get_session)
succeeded, failed = [], []
for record in records:
if not record.number:
continue
context = record._send_context()
with transaction.set_context(**context):
payload = {
'numeroFluxDepot': record.number,
}
resp = Credential.post(
'cpro/transverses/v1/consulterCR', payload,
session=sessions[tuple(context.items())])
if resp['codeRetour']:
logger.info(
"Error when retrieve information about %d: %s",
record.id, resp['libelle'])
elif resp['etatCourantFlux'] in SUCCEEDED:
succeeded.append(record)
elif resp['etatCourantFlux'] in FAILED:
failed.append(record)
if failed:
cls.fail(failed)
if succeeded:
cls.succeed(succeeded)
@classmethod
@Workflow.transition('done')
def succeed(cls, records):
pass
@classmethod
@Workflow.transition('exception')
def fail(cls, records):
pass

View File

@@ -0,0 +1,111 @@
<?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="configuration_view_form">
<field name="model">account.configuration</field>
<field name="inherit" ref="account.configuration_view_form"/>
<field name="name">configuration_form</field>
</record>
<record model="ir.ui.view" id="invoice_chorus_view_form">
<field name="model">account.invoice.chorus</field>
<field name="type">form</field>
<field name="name">invoice_chorus_form</field>
</record>
<record model="ir.ui.view" id="invoice_chorus_view_list">
<field name="model">account.invoice.chorus</field>
<field name="type">tree</field>
<field name="name">invoice_chorus_list</field>
</record>
<record model="ir.action.act_window" id="act_invoice_chorus_form">
<field name="name">Chorus</field>
<field name="res_model">account.invoice.chorus</field>
</record>
<record model="ir.action.act_window.view" id="act_invoice_chorus_form_view1">
<field name="sequence" eval="10"/>
<field name="view" ref="invoice_chorus_view_list"/>
<field name="act_window" ref="act_invoice_chorus_form"/>
</record>
<record model="ir.action.act_window.view" id="act_invoice_chorus_form_view2">
<field name="sequence" eval="20"/>
<field name="view" ref="invoice_chorus_view_form"/>
<field name="act_window" ref="act_invoice_chorus_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_invoice_chorus_form_domain_draft">
<field name="name">Draft</field>
<field name="sequence" eval="10"/>
<field name="domain" eval="[('state', '=', 'draft')]" pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_invoice_chorus_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_invoice_chorus_form_domain_sent">
<field name="name">Sent</field>
<field name="sequence" eval="20"/>
<field name="domain" eval="[('state', '=', 'sent')]" pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_invoice_chorus_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_invoice_chorus_form_domain_exception">
<field name="name">Exception</field>
<field name="sequence" eval="30"/>
<field name="domain" eval="[('state', '=', 'exception')]" pyson="1"/>
<field name="count" eval="True"/>
<field name="act_window" ref="act_invoice_chorus_form"/>
</record>
<record model="ir.action.act_window.domain" id="act_invoice_chorus_form_domain_all">
<field name="name">All</field>
<field name="sequence" eval="9999"/>
<field name="domain"></field>
<field name="act_window" ref="act_invoice_chorus_form"/>
</record>
<menuitem
parent="account_invoice.menu_invoice_out_form"
action="act_invoice_chorus_form"
sequence="50"
id="menu_invoice_chorus_form"/>
<record model="ir.model.access" id="access_invoice_chorus">
<field name="model">account.invoice.chorus</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_invoice_account_chorus">
<field name="model">account.invoice.chorus</field>
<field name="group" ref="account.group_account"/>
<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.button" id="invoice_chorus_send_button">
<field name="model">account.invoice.chorus</field>
<field name="name">send</field>
<field name="string">Send</field>
</record>
<record model="ir.model.button" id="invoice_chorus_update_button">
<field name="model">account.invoice.chorus</field>
<field name="name">update</field>
<field name="string">Update</field>
</record>
<record model="ir.cron" id="cron_invoice_send">
<field name="method">account.invoice.chorus|send</field>
<field name="interval_number" eval="15"/>
<field name="interval_type">minutes</field>
</record>
<record model="ir.cron" id="cron_invoice_update">
<field name="method">account.invoice.chorus|update</field>
<field name="interval_number" eval="1"/>
<field name="interval_type">hours</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,20 @@
# 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 UNCEFACTInvoice(metaclass=PoolMeta):
__name__ = 'edocument.uncefact.invoice'
def render(self, template):
if Transaction().context.get('account_fr_chorus') and not template:
template = '16B-CII'
return super(UNCEFACTInvoice, self).render(template)
@classmethod
def party_legal_ids(cls, party, address):
ids = super(UNCEFACTInvoice, cls).party_legal_ids(party, address)
if Transaction().context.get('account_fr_chorus') and address:
ids.append((address.siret.code, {'schemeID': '1'}))
return ids

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.model.exceptions import ValidationError
class InvoiceChorusValidationError(ValidationError):
pass

16
modules/account_fr_chorus/ir.py Executable file
View File

@@ -0,0 +1,16 @@
# 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 Cron(metaclass=PoolMeta):
__name__ = 'ir.cron'
@classmethod
def __setup__(cls):
super().__setup__()
cls.method.selection.extend([
('account.invoice.chorus|send', "Send invoices to Chorus"),
('account.invoice.chorus|update',
"Update invoices from Chorus"),
])

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,196 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr "Nom usuari"
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "Contrasenya"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "ID Client Piste"
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Secret Client Piste"
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "Servei"
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "Sintaxis"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr "Nom usuari"
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "Contrasenya"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "ID Client Piste"
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Secret Client Piste"
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "Servei"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr "Dades"
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr "Identificador fitxer dades"
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr "Nom del fitxer"
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Factura"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr "Estat"
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "Sintaxis"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr "Chorus Pro"
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr "Envia els documents a aquest tercer a través de Chorus Pro"
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr "Credencials Comptables de Chorus"
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr "Factura Chorus"
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr "Tot"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr "Esborrany"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr "Excepció"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr "Enviada"
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
"Per crear una factura de Chours per \"%(invoice)s\", heu d'establir un SIRET"
" per l'adreça \"%(address)s\"."
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
"No podeu eliminar la factura Chorus \"%(invoice)s\" perquè ja està enviada."
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr "Només podeu crear una factura Chorus per factura."
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr "Envia"
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr "Actualitza"
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "Producció"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr "Desenvolupament"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "Producció"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr "Desenvolupament"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr "Finalitzada"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr "Esborrany"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr "Excepció"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr "Enviada"
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr "Envia les factures a Chorus"
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr "Actualitza les factures de Chorus"
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr "Chorus"

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,197 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr "Benutzername"
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "Passwort"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "Piste-Client-ID"
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Piste Client Secret"
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "Service"
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "Syntax"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr "Benutzername"
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "Passwort"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "Piste Client ID"
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Piste Client Secret"
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "Service"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Unternehmen"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr "Daten"
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr "Data-File-ID"
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr "Dateiname"
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Rechnung"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr "Status"
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "Syntax"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr "Chorus Pro"
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr "Dokumente dieser Partei über Chorus Pro senden"
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr "Kontenberechtigung Chorus"
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr "Chorus Rechnung"
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr "Alle"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr "Entwurf"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr "Vorbehalt"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr "Gesendet"
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
"Auf Adresse \"%(address)s\" muss eine SIRET gesetzt sein, damit eine Chorus "
"Rechnung für \"%(invoice)s\" erstellt werden kann."
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
"Die Chorus Rechnung \"%(invoice)s\" kann nicht gelöscht werden, da sie "
"bereits versendet wurde."
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr "Es kann nur eine Chorus Rechnung pro Rechnung generiert werden."
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr "Senden"
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr "Aktualisieren"
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "Produktion"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr "Qualifizierung"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "Produktion"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr "Qualifizierung"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr "Erledigt"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr "Entwurf"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr "Vorbehalt"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr "Gesendet"
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr "Rechnungen an Chorus senden"
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr "Rechnungen aus Chorus aktualisieren"
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr "Chorus"

View File

@@ -0,0 +1,195 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr "Nombre usuario"
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "Contraseña"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "ID Cliente Piste"
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Secreto cliente piste"
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "Servicio"
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "Sintaxis"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr "Nombre usuario"
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "Contraseña"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "ID Cliente Piste"
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Secreto cliente piste"
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "Servicio"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Empresa"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr "Datos"
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr "Identificador fichero datos"
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Fecha"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr "Nombre del archivo"
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Factura"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Número"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr "Estado"
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "Sintaxis"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr "Chorus Pro"
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr "Envía los documentos a este tercero mediante Chorus Pro"
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr "Credenciales contables de Chorus"
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr "Factura Chorus"
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr "Todo"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr "Borrador"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr "Excepción"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr "Enviada"
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
"Para crear una factura Chorus para \"%(invoice)s\", debe establecer un "
"número SIRET en la dirección \"%(address)s\"."
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr "No puede eliminar la factura Chorus \"%(invoice)s\" porque está enviada."
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr "Solo se puede crear una factura de Chorus por factura."
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr "Enviar"
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr "Actualizar"
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "Producción"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr "Desarrollo"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "Producción"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr "Desarrollo"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr "Finalizado"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr "Borrador"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr "Excepción"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr "Enviada"
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr "Envía las facturas a Chorus"
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr "Actualizar las facturas de Chorus"
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr "Chorus"

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,200 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr "Logi sisse"
#, fuzzy
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "Parool"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
#, fuzzy
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "Teenus"
#, fuzzy
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "Süntaks"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr "Logi sisse"
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "Parool"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "Teenus"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Ettevõte"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Kuupäev"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Arve"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Number"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "Süntaks"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr "Chorus pro"
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr "Saada dokumendid sellele osapoolele läbi Chprus Pro"
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr "Konto mandaat Chorus"
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr "Konto Chorus"
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
"Chorus arve \"&(arve)te\" loomiseks tuleb esmalt määrata SIERT (SIRET kood) "
"aadressile \"%(aadressitele)\""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr "Chorus arvet \"%(arveid)\" ei saa kustutada kuna see \"(%need)\" on saadetud"
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr "Luua saab ainult ühe Chorus arve programmi arve kohta"
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "Tootmine"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr "Kvalifikatsioon"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "Tootmine"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr "Kvalifikatsioon"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr "Saada arved Chorusesse"
#, fuzzy
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr "Saada arved Chorusesse"
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr "Chorus"

View File

@@ -0,0 +1,203 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
#, fuzzy
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr "ورود به سیستم"
#, fuzzy
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "کلمه عبور"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
#, fuzzy
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "خدمات"
#, fuzzy
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "دستور زبان"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr "ورود به سیستم"
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "کلمه عبور"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "خدمات"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "شرکت"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "تاریخ"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "صورت حساب"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "عدد"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "دستور زبان"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr "Chorus پیشرفته"
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr "ارسال مدارک برای این نهاد/سازمان از طریق Chorus پیشرفته"
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr "حساب اعتبار Chorus"
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr "صورتحساب Chorus"
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
"برای ایجاد یک فاکتور Chorus برای : \"%(invoice)s\" شما باید یک SIRET بر روی "
"آدرس : \"%(address)s\" تنظیم کنید."
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
"شما نمیتونید Chorus صورتحساب : \"%(invoice)s\" را حذف کنید چزاکه آن ارسال "
"شده است."
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr "شما می توانید تنها یک صورتحساب Chorus در هر صورتحساب ایجاد کنید."
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "تولید"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr "صلاحیت"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "تولید"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr "صلاحیت"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
#, fuzzy
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr "ارسال صورتحساب به Chorus"
#, fuzzy
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr "ارسال صورتحساب به Chorus"
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr "Chorus"

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,197 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr "Identifiant"
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "Mot de passe"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "Identifiant client Piste"
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Secret client Piste"
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "Service"
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "Syntaxe"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr "Identifiant"
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "Mot de passe"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "Identifiant client Piste"
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Secret client Piste"
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "Service"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Société"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr "Données"
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr "ID du fichier de données"
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Date"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr "Nom de fichier"
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Facture"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Numéro"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr "État"
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "Syntaxe"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr "Chorus Pro"
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr "Envoyer les documents pour ce tiers via Chorus Pro"
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr "Information d'identification du compte Chorus"
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr "Facture Chorus"
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr "Toutes"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr "Brouillons"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr "Exception"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr "Envoyées"
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
"Pour créer une facture Chorus pour « %(invoice)s », vous devez définir un "
"SIRET sur l'adresse « %(address)s »."
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
"Vous ne pouvez pas supprimer la facture Chorus « %(invoice)s » car elle est "
"envoyée."
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr "Vous ne pouvez créer qu'une seul facture Chorus par facture."
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr "Envoyer"
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr "Mettre à jour"
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "Production"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr "Qualification"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "Production"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr "Qualification"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr "Effectuée"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr "Brouillon"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr "Exception"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr "Envoyée"
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr "Envoyer les facture à Chorus"
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr "Mettre à jour les factures depuis Chorus"
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr "Chorus"

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,196 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
#, fuzzy
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "Kata sandi"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
#, fuzzy
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "Jasa"
#, fuzzy
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "Sintaks"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "Kata sandi"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "Jasa"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Perusahaan"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Tanggal"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Faktur"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Nomor"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "Sintaks"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "Produksi"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "Produksi"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Azienda"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Numero"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Organizacija"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Sąskaita faktūra"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,197 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr "Inlognaam"
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr "Wachtwoord"
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "Piste klant ID"
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Piste klant sleutel"
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr "Dienst"
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr "Syntax"
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr "Inlognaam"
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr "Paswoord"
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr "Piste klant ID"
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr "Piste klant sleutel"
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr "Diensten"
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Bedrijf"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr "Gegevens"
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr "Gegevens bestand ID"
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Datum"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr "Bestandsnaam"
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Factuur"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Nummer"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr "Status"
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr "Syntaxis"
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr "Chorus Pro"
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr "Stuur documenten voor deze relatie via Chorus Pro"
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr "Rekening gegevens Chorus"
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr "Factuur Chorus"
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr "Alle"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr "Concept"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr "Uitzondering"
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr "Verzonden"
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
"Om een Chorus-factuur voor \"%(invoice)s\" te maken, moet u een SIRET "
"instellen op adres \"%(address)s\"."
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
"U kunt Chorus-factuur \"%(invoice)s\" niet verwijderen omdat deze verzonden "
"is."
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr "U kunt slechts één Chorus-factuur per factuur maken."
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr "Verzenden"
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr "Bijwerken"
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr "Chorus"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr "Productie"
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr "Kwalificatie"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr "Productie"
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr "Kwalificatie"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr "Afgerond"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr "Concept"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr "Uitzondering"
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr "Verzonden"
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr "Verzend facturen naar Chorus"
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr "Facturen van Chorus bijwerken"
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr "Chorus"

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr "Companie"
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr "Data"
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr "Factura fiscala"
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr "Număr"
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,193 @@
#
msgid ""
msgstr "Content-Type: text/plain; charset=utf-8\n"
msgctxt "field:account.configuration,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.configuration,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.configuration,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.configuration,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.configuration,chorus_syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_login:"
msgid "Login"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_password:"
msgid "Password"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_id:"
msgid "Piste Client ID"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_piste_client_secret:"
msgid "Piste Client Secret"
msgstr ""
msgctxt "field:account.credential.chorus,chorus_service:"
msgid "Service"
msgstr ""
msgctxt "field:account.credential.chorus,company:"
msgid "Company"
msgstr ""
msgctxt "field:account.invoice.chorus,data:"
msgid "Data"
msgstr ""
msgctxt "field:account.invoice.chorus,data_file_id:"
msgid "Data File ID"
msgstr ""
msgctxt "field:account.invoice.chorus,date:"
msgid "Date"
msgstr ""
msgctxt "field:account.invoice.chorus,filename:"
msgid "Filename"
msgstr ""
msgctxt "field:account.invoice.chorus,invoice:"
msgid "Invoice"
msgstr ""
msgctxt "field:account.invoice.chorus,number:"
msgid "Number"
msgstr ""
msgctxt "field:account.invoice.chorus,state:"
msgid "State"
msgstr ""
msgctxt "field:account.invoice.chorus,syntax:"
msgid "Syntax"
msgstr ""
msgctxt "field:party.party,chorus:"
msgid "Chorus Pro"
msgstr ""
msgctxt "help:party.party,chorus:"
msgid "Send documents for this party through Chorus Pro"
msgstr ""
msgctxt "model:account.credential.chorus,name:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,name:"
msgid "Invoice Chorus"
msgstr ""
msgctxt "model:ir.action,name:act_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_all"
msgid "All"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_draft"
msgid "Draft"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_exception"
msgid "Exception"
msgstr ""
msgctxt ""
"model:ir.action.act_window.domain,name:act_invoice_chorus_form_domain_sent"
msgid "Sent"
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_address_no_siret"
msgid ""
"To create a Chorus invoice for \"%(invoice)s\", you must set a SIRET on "
"address \"%(address)s\"."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_delete_sent"
msgid "You cannot delete Chorus invoice \"%(invoice)s\" because it is sent."
msgstr ""
msgctxt "model:ir.message,text:msg_invoice_unique"
msgid "You can create only one Chorus invoice per invoice."
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_send_button"
msgid "Send"
msgstr ""
msgctxt "model:ir.model.button,string:invoice_chorus_update_button"
msgid "Update"
msgstr ""
msgctxt "model:ir.ui.menu,name:menu_invoice_chorus_form"
msgid "Chorus"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.configuration,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Production"
msgstr ""
msgctxt "selection:account.credential.chorus,chorus_service:"
msgid "Qualification"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Done"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Draft"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Exception"
msgstr ""
msgctxt "selection:account.invoice.chorus,state:"
msgid "Sent"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Send invoices to Chorus"
msgstr ""
msgctxt "selection:ir.cron,method:"
msgid "Update invoices from Chorus"
msgstr ""
msgctxt "view:account.configuration:"
msgid "Chorus"
msgstr ""

View File

@@ -0,0 +1,16 @@
<?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_invoice_unique">
<field name="text">You can create only one Chorus invoice per invoice.</field>
</record>
<record model="ir.message" id="msg_invoice_address_no_siret">
<field name="text">To create a Chorus invoice for "%(invoice)s", you must set a SIRET on address "%(address)s".</field>
</record>
<record model="ir.message" id="msg_invoice_delete_sent">
<field name="text">You cannot delete Chorus invoice "%(invoice)s" because it is sent.</field>
</record>
</data>
</tryton>

View File

@@ -0,0 +1,16 @@
# 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 fields
from trytond.pool import PoolMeta
class Party(metaclass=PoolMeta):
__name__ = 'party.party'
chorus = fields.Boolean(
"Chorus Pro",
help="Send documents for this party through Chorus Pro")
@classmethod
def default_chorus(cls):
return False

View File

@@ -0,0 +1,12 @@
<?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="party_view_form">
<field name="model">party.party</field>
<field name="inherit" ref="party.party_view_form"/>
<field name="name">party_form</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,171 @@
=========================
Account FR Chorus Invoice
=========================
Imports::
>>> import datetime as dt
>>> import os
>>> import time
>>> import uuid
>>> from decimal import Decimal
>>> from unittest.mock import patch
>>> from proteus import Model
>>> from trytond.modules.account.tests.tools import (
... create_chart, create_fiscalyear, get_accounts)
>>> from trytond.modules.account_invoice.tests.tools import (
... set_fiscalyear_invoice_sequences)
>>> from trytond.modules.company.tests.tools import create_company, get_company
>>> from trytond.modules.currency.tests.tools import get_currency
>>> from trytond.modules.party.party import Identifier
>>> from trytond.tests.tools import activate_modules
>>> today = dt.date.today()
Patch SIRET validation::
>>> mock = patch.object(
... Identifier, 'check_code',
... return_value=None).start()
Activate modules::
>>> config = activate_modules([
... 'account_fr_chorus', 'edocument_uncefact', 'account_fr'])
>>> AccountConfig = Model.get('account.configuration')
>>> Cron = Model.get('ir.cron')
>>> Invoice = Model.get('account.invoice')
>>> InvoiceChorus = Model.get('account.invoice.chorus')
>>> Party = Model.get('party.party')
>>> Tax = Model.get('account.tax')
Create company::
>>> _ = create_company(currency=get_currency('EUR'))
>>> company = get_company()
>>> company_party = company.party
>>> company_address, = company_party.addresses
>>> company_address.postal_code = '99999'
>>> company_address.street = "Street"
>>> company_address.city = "City"
>>> siret = company_party.identifiers.new(type='fr_siret')
>>> siret.code = os.getenv('CHORUS_COMPANY_SIRET')
>>> siret.address = company_address
>>> company_party.save()
Create fiscal year::
>>> fiscalyear = set_fiscalyear_invoice_sequences(create_fiscalyear())
>>> fiscalyear.click('create_period')
Create chart of accounts::
>>> _ = create_chart(chart='account_fr.root')
>>> acccounts = get_accounts()
>>> tax, = Tax.find([
... ('group.kind', '=', 'sale'),
... ('name', 'ilike', '%normal%'),
... ], limit=1)
Configure Chorus::
>>> account_config = AccountConfig(1)
>>> account_config.chorus_piste_client_id = os.getenv(
... 'CHORUS_PISTE_CLIENT_ID')
>>> account_config.chorus_piste_client_secret = os.getenv(
... 'CHORUS_PISTE_CLIENT_SECRET')
>>> account_config.chorus_login = os.getenv(
... 'CHORUS_LOGIN')
>>> account_config.chorus_password = os.getenv(
... 'CHORUS_PASSWORD')
>>> account_config.chorus_service = 'service-qualif'
>>> account_config.chorus_syntax = 'edocument.uncefact.invoice'
>>> account_config.save()
Create customer::
>>> customer = Party(name="Customer")
>>> customer.chorus = True
>>> customer.save()
>>> customer_address, = customer.addresses
>>> customer_address.street = "Street"
>>> siret = customer.identifiers.new(type='fr_siret')
>>> siret.code = os.getenv('CHORUS_CUSTOMER_SIRET')
>>> siret.address = customer_address
>>> customer.save()
Create invoice::
>>> invoice = Invoice(type='out', party=customer)
>>> line = invoice.lines.new()
>>> line.account = acccounts['revenue']
>>> line.quantity = 5
>>> line.unit_price = Decimal('50.0000')
>>> line.taxes.append(tax)
>>> invoice.save()
>>> Invoice.write([invoice], {
... 'number': str(uuid.uuid4())[:20],
... 'invoice_date': today,
... }, config._context)
>>> invoice.click('post')
>>> invoice.state
'posted'
Check Chorus invoice::
>>> invoice_chorus, = InvoiceChorus.find([])
>>> invoice_chorus.syntax
'edocument.uncefact.invoice'
>>> invoice_chorus.number
>>> invoice_chorus.date
Send to Chorus::
>>> invoice_chorus.click('send')
>>> invoice_chorus.state
'sent'
>>> bool(invoice_chorus.number)
True
>>> bool(invoice_chorus.date)
True
>>> bool(invoice_chorus.data)
True
>>> number = invoice_chorus.number
Update from Chorus::
>>> while invoice_chorus.state == 'sent':
... invoice_chorus.click('update')
... time.sleep(1)
>>> invoice_chorus.state
'exception'
Add code to tax::
>>> tax.template_override = True
>>> tax.unece_code = 'VAT'
>>> tax.unece_category_code = 'S'
>>> for child in tax.childs:
... child.template_override = True
... child.unece_code = tax.unece_code
... child.unece_category_code = tax.unece_category_code
>>> tax.save()
Resend to Chorus::
>>> invoice_chorus.click('send')
>>> invoice_chorus.state
'sent'
>>> invoice_chorus.number != number
True
Update from Chorus::
>>> while invoice_chorus.state == 'sent':
... invoice_chorus.click('update')
... time.sleep(1)
>>> invoice_chorus.state
'done'

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.modules.company.tests import CompanyTestMixin
from trytond.tests.test_tryton import ModuleTestCase
class AccountFrChorusTestCase(CompanyTestMixin, ModuleTestCase):
'Test Account Fr Chorus module'
module = 'account_fr_chorus'
extras = ['edocument_uncefact']
del ModuleTestCase

View File

@@ -0,0 +1,15 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import os
from trytond.tests.test_tryton import load_doc_tests
if (os.getenv('CHORUS_PISTE_CLIENT_ID')
and os.getenv('CHORUS_PISTE_CLIENT_SECRET')
and os.getenv('CHORUS_LOGIN')
and os.getenv('CHORUS_PASSWORD')
and os.getenv('CHORUS_COMPANY_SIRET')
and os.getenv('CHORUS_CUSTOMER_SIRET')):
def load_tests(*args, **kwargs):
return load_doc_tests(__name__, __file__, *args, **kwargs)

View File

@@ -0,0 +1,15 @@
[tryton]
version=7.2.0
depends:
account
account_invoice
company
ir
party
party_siret
extras_depend:
edocument_uncefact
xml:
account.xml
party.xml
message.xml

View File

@@ -0,0 +1,22 @@
<?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" position="inside">
<separator id="chorus" string="Chorus" colspan="4"/>
<label name="chorus_piste_client_id"/>
<field name="chorus_piste_client_id"/>
<label name="chorus_piste_client_secret"/>
<field name="chorus_piste_client_secret" widget="password"/>
<label name="chorus_login"/>
<field name="chorus_login"/>
<label name="chorus_password"/>
<field name="chorus_password" widget="password"/>
<label name="chorus_service"/>
<field name="chorus_service"/>
<label name="chorus_syntax"/>
<field name="chorus_syntax"/>
</xpath>
</data>

View File

@@ -0,0 +1,23 @@
<?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="invoice"/>
<field name="invoice"/>
<label name="syntax"/>
<field name="syntax"/>
<label name="number"/>
<field name="number"/>
<label name="date"/>
<field name="date"/>
<label name="data"/>
<field name="data" colspan="3"/>
<label name="state"/>
<field name="state"/>
<group col="-1" colspan="2" id="buttons">
<button name="send"/>
<button name="update"/>
</group>
</form>

View File

@@ -0,0 +1,11 @@
<?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="invoice" expand="1"/>
<field name="syntax"/>
<field name="number"/>
<field name="date"/>
<field name="data"/>
<field name="state"/>
</tree>

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. -->
<data>
<xpath expr="/form/notebook/page[@id='accounting']" position="inside">
<separator colspan="4" name="chorus"/>
<label name="chorus"/>
<field name="chorus"/>
</xpath>
</data>