first commit

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

View File

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

View File

@@ -0,0 +1,443 @@
# 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
import trytond.config as 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 ChorusCredentialWarning, 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',
}
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().multivalue_model(field)
class CredentialChorus(ModelSQL, CompanyValueMixin):
__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')
configuration = Configuration(1)
if not session:
session = cls.get_session()
base_url = API_URL[configuration.chorus_service]
url = posixpath.join(base_url, path)
account = (
f'{configuration.chorus_login}:{configuration.chorus_password}')
headers = {
'cpro-account': base64.b64encode(account.encode('utf-8')),
}
timeout = config.getfloat(
'account_fr_chorus', 'requests_timeout', default=300)
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()
@classmethod
def check_modification(cls, mode, records, values=None, external=False):
pool = Pool()
Warning = pool.get('res.user.warning')
super().check_modification(
mode, records, values=values, external=external)
if mode == 'write' and external:
for record in records:
for field in [
'chorus_piste_client_id', 'chorus_piste_client_secret',
'chorus_login', 'chorus_password', 'chorus_service']:
if (field in values
and getattr(record, field)
and getattr(record, field) != values[field]):
warning_name = Warning.format(
'chorus_credential', [record])
if Warning.check(warning_name):
raise ChorusCredentialWarning(
warning_name,
gettext('account_fr_chorus'
'.msg_chorus_credential_modified'))
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):
__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().__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]
def get_rec_name(self, name):
return self.invoice.rec_name
@classmethod
def validate(cls, records):
super().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 check_modification(cls, mode, invoices, values=None, external=False):
super().check_modification(
mode, invoices, values=values, external=external)
if mode == 'delete':
for invoice in invoices:
if invoice.number:
raise AccessError(gettext(
'account_fr_chorus.msg_invoice_delete_sent',
invoice=invoice.rec_name))
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,113 @@
<?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>
</data>
<data noupdate="1">
<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().render(template)
@classmethod
def party_legal_ids(cls, party, address):
ids = super().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,13 @@
# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
from trytond.exceptions import UserWarning
from trytond.model.exceptions import ValidationError
class InvoiceChorusValidationError(ValidationError):
pass
class ChorusCredentialWarning(UserWarning):
pass

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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,202 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr "Credencials Comptables de Chorus"
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr "Estàs segur que vols modificar les credencials de Chorus?"
#, python-format
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\"."
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,203 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr "Buchhaltung Anmeldedaten Chorus"
msgctxt "model:account.invoice.chorus,string:"
msgid "Account Invoice Chorus"
msgstr "Buchhaltung Rechnung 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 "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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr "Wollen Sie wirklich die Chorus Zugangsdaten ändern?"
#, python-format
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."
#, python-format
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,201 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr "Credenciales contables de Chorus"
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr "¿Está seguro de que desea modificar las credenciales de Chorus?"
#, python-format
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\"."
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,208 @@
#
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"
#, fuzzy
msgctxt "model:account.credential.chorus,string:"
msgid "Account Credential Chorus"
msgstr "Konto mandaat Chorus"
#, fuzzy
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, fuzzy, python-format
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)\""
#, fuzzy, python-format
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,211 @@
#
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 پیشرفته"
#, fuzzy
msgctxt "model:account.credential.chorus,string:"
msgid "Account Credential Chorus"
msgstr "حساب اعتبار Chorus"
#, fuzzy
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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\" تنظیم کنید."
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,203 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr "Information d'identification comptable Chorus"
msgctxt "model:account.invoice.chorus,string:"
msgid "Account Invoice Chorus"
msgstr "Facture comptable 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 "Exceptions"
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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr "Êtes-vous sûr de vouloir modifier les identifiants Chorus ?"
#, python-format
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 »."
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,202 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,203 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr "Grootboekrekening gegevens Chorus"
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr "Weet u zeker dat u de inloggegevens van Chorus wilt wijzigen?"
#, python-format
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\"."
#, python-format
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 "Gereed"
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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 "Societate"
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,199 @@
#
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,string:"
msgid "Account Credential Chorus"
msgstr ""
msgctxt "model:account.invoice.chorus,string:"
msgid "Account 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_chorus_credential_modified"
msgid "Are you sure you want to modify Chorus credentials?"
msgstr ""
#, python-format
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 ""
#, python-format
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,19 @@
<?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_chorus_credential_modified">
<field name="text">Are you sure you want to modify Chorus credentials?</field>
</record>
<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,170 @@
=========================
Account FR Chorus Invoice
=========================
Imports::
>>> import datetime as dt
>>> import os
>>> import time
>>> import uuid
>>> from decimal import Decimal
>>> from functools import partial
>>> 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.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'],
... create_company, partial(create_chart, chart='account_fr.root'))
>>> 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')
Setup company::
>>> 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')
Get accounts::
>>> 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,19 @@
# 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 TEST_NETWORK, load_doc_tests
def load_tests(*args, **kwargs):
if (not TEST_NETWORK
or not (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'))):
kwargs.setdefault('skips', set()).add(
'scenario_account_fr_chorus_invoice.rst')
return load_doc_tests(__name__, __file__, *args, **kwargs)

View File

@@ -0,0 +1,28 @@
[tryton]
version=7.8.0
depends:
account
account_invoice
company
ir
party
party_siret
extras_depend:
edocument_uncefact
xml:
account.xml
party.xml
message.xml
[register]
model:
account.Configuration
account.CredentialChorus
account.Invoice
account.InvoiceChorus
party.Party
ir.Cron
[register edocument_uncefact]
model:
edocument.UNCEFACTInvoice

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>