build: configurar herramientas de verificación OCA

- Instalar pre-commit con 25 hooks configurados
- Configurar black 26.1.0 para formateo de código Python
- Configurar isort 7.0.0 para ordenación de imports
- Configurar flake8 7.3.0 con flake8-bugbear
- Configurar pylint 3.1.1 con pylint-odoo 9.1.2
- Añadir autoflake y pyupgrade para mejoras automáticas
- Configurar prettier para formateo de XML/JSON/YAML
- Crear .editorconfig para consistencia de editor
- Crear Makefile con comandos útiles
- Crear check_addon.sh para verificación rápida de addons
- Actualizar configuración de VS Code con extensiones recomendadas
- Añadir documentación completa de uso
- Aplicar formateo automático a archivos existentes
- Deshabilitar setuptools-odoo (no soporta Odoo 18.0 aún)
- Deshabilitar fix-encoding-pragma (obsoleto, usar pyupgrade)
This commit is contained in:
snt 2026-02-11 16:09:41 +01:00
parent 5b9c6e3211
commit fe137dc265
224 changed files with 18376 additions and 0 deletions

24
.editorconfig Normal file
View file

@ -0,0 +1,24 @@
# Configuration for EditorConfig
# https://EditorConfig.org
root = true
[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
[*.{py,pyi}]
indent_size = 4
indent_style = space
[*.{xml,yml,yaml,json,js,css,scss,md,rst}]
indent_size = 2
indent_style = space
[*.{md,rst}]
trim_trailing_whitespace = false
[Makefile]
indent_style = tab

25
.flake8 Normal file
View file

@ -0,0 +1,25 @@
# See https://github.com/OCA/maintainer-tools/issues/38
# E123, E133, E226, E241, E242 are ignored by default
# E203 for black (whitespace before : in slice)
[flake8]
max-line-length = 88
max-complexity = 16
# B = bugbear
# B9 = bugbear opinionated (incl line length)
select = C,E,F,W,B,B9
# E203: whitespace before ':' (black-compatible)
# E501: line too long (black-compatible)
# W503: line break before binary operator (black-compatible)
# B950: line too long (soft limit, complements B)
ignore = E203,E501,W503,B950
exclude =
.git,
__pycache__,
.tox,
.eggs,
*.egg,
build,
.venv,
.env,
setup

16
.isort.cfg Normal file
View file

@ -0,0 +1,16 @@
[isort]
profile = black
force_single_line = True
# For black compatibility
line_length = 88
multi_line_output = 3
include_trailing_comma = True
force_grid_wrap = 0
use_parentheses = True
ensure_newline_before_comments = True
# Skip __init__.py as per OCA standards
skip_glob = */__init__.py
known_odoo=odoo
known_odoo_addons=odoo.addons
sections=FUTURE,STDLIB,THIRDPARTY,ODOO,ODOO_ADDONS,FIRSTPARTY,LOCALFOLDER
default_section=THIRDPARTY

142
.pre-commit-config.yaml Normal file
View file

@ -0,0 +1,142 @@
# See https://pre-commit.com for more information
# See https://pre-commit.com/hooks.html for more hooks
exclude: |
(?x)
# NOT INSTALLABLE ADDONS
# END NOT INSTALLABLE ADDONS
# Files and folders generated by bots, to avoid loops
/setup/|/README\.rst$|/static/description/index\.html$|
# Maybe reactivate this when all README files include prettier ignore tags?
^README\.md$|
# Library files can have extraneous formatting (even minimized)
/static/(src/)?lib/|
# Repos using Sphinx to generate docs don't need prettying
^docs/_templates/.*\.html$|
# You don't usually want a bot to modify your legal texts
(LICENSE.*|COPYING.*)
default_language_version:
python: python3
node: "16.17.0"
repos:
- repo: local
hooks:
# These files are most likely copier diff rejection junks; if found,
# review them manually, fix the problem (if needed) and remove them
- id: forbidden-files
name: forbidden files
entry: found forbidden files; remove them
language: fail
files: "\\.rej$"
- repo: https://github.com/oca/maintainer-tools
rev: 71aa4caec15e8c1456b4da19e9f39aa0aa7377a9
hooks:
# update the NOT INSTALLABLE ADDONS section above
- id: oca-update-pre-commit-excluded-addons
- repo: https://github.com/myint/autoflake
rev: v2.3.1
hooks:
- id: autoflake
args: ["-i", "--ignore-init-module-imports"]
- repo: https://github.com/psf/black
rev: 26.1.0
hooks:
- id: black
- repo: https://github.com/pre-commit/mirrors-prettier
rev: v4.0.0-alpha.8
hooks:
- id: prettier
name: prettier + plugin-xml
additional_dependencies:
- "prettier@2.7.1"
- "@prettier/plugin-xml@2.2.0"
args:
- --plugin=@prettier/plugin-xml
files: \.(css|htm|html|js|json|json5|scss|toml|xml|yaml|yml)$
- repo: https://github.com/pre-commit/mirrors-eslint
rev: v10.0.0
hooks:
- id: eslint
verbose: true
args:
- --color
- --fix
- repo: https://github.com/pre-commit/pre-commit-hooks
rev: v6.0.0
hooks:
- id: trailing-whitespace
# exclude autogenerated files
exclude: /README\.rst$|\.pot?$
- id: end-of-file-fixer
# exclude autogenerated files
exclude: /README\.rst$|\.pot?$
- id: debug-statements
- id: check-case-conflict
- id: check-docstring-first
- id: check-executables-have-shebangs
- id: check-merge-conflict
# exclude files where underlines are not distinguishable from merge conflicts
exclude: /README\.rst$|^docs/.*\.rst$
- id: check-symlinks
- id: check-xml
- id: mixed-line-ending
args: ["--fix=lf"]
- repo: https://github.com/asottile/pyupgrade
rev: v3.21.2
hooks:
- id: pyupgrade
args: ["--py38-plus"]
- repo: https://github.com/PyCQA/isort
rev: 7.0.0
hooks:
- id: isort
name: isort except __init__.py
args:
- --settings=.
exclude: /__init__\.py$
# setuptools-odoo deshabilitado temporalmente (no soporta Odoo 18.0)
# - repo: https://github.com/acsone/setuptools-odoo
# rev: 3.3.2
# hooks:
# - id: setuptools-odoo-make-default
# - id: setuptools-odoo-get-requirements
# args:
# - --output
# - requirements.txt
# - --header
# - "# generated from manifests external_dependencies"
- repo: https://github.com/PyCQA/flake8
rev: 7.3.0
hooks:
- id: flake8
name: flake8
additional_dependencies: ["flake8-bugbear==23.12.2"]
- repo: https://github.com/pre-commit/mirrors-mypy
rev: v1.19.1
hooks:
- id: mypy
# do not run on test files or __init__ files (mypy does not support
# namespace packages)
exclude: (/tests/|/__init__\.py$)
additional_dependencies:
- "lxml"
- "odoo-stubs"
- "types-python-dateutil"
- "types-pytz"
- "types-requests"
- "types-setuptools"
- repo: https://github.com/PyCQA/pylint
rev: v3.1.1
hooks:
- id: pylint
name: pylint with optional checks
args:
- --rcfile=.pylintrc
- --exit-zero
verbose: true
additional_dependencies: &pylint_deps
- pylint-odoo==9.1.2
- id: pylint
name: pylint with mandatory checks
args:
- --rcfile=.pylintrc-mandatory
additional_dependencies: *pylint_deps

90
.pylintrc Normal file
View file

@ -0,0 +1,90 @@
[MASTER]
load-plugins=pylint_odoo
score=n
[ODOOLINT]
readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
manifest_required_authors=Odoo Community Association (OCA)
manifest_required_keys=license
manifest_deprecated_keys=description,active
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3,Other OSI approved licence,Other proprietary
valid_odoo_versions=16.0,17.0,18.0
[MESSAGES CONTROL]
disable=all
# This .pylintrc contains optional AND mandatory checks and is meant to be
# loaded in an IDE to have it check everything, in the hope this will make
# optional checks more visible to contributors who otherwise never look at a
# green CI pipeline.
#
# .pylintrc-mandatory will be used by pre-commit to check only mandatory
# checks.
enable=anomalous-backslash-in-string,
api-one-deprecated,
api-one-multi-together,
assignment-from-none,
attribute-deprecated,
class-camelcase,
context-overridden,
copy-wo-api-one,
dangerous-default-value,
dangerous-view-replace-wo-priority,
development-status-allowed,
duplicate-id-csv,
duplicate-key,
duplicate-xml-fields,
duplicate-xml-record-id,
eval-referenced,
eval-used,
incoherent-interpreter-exec-perm,
license-allowed,
manifest-author-string,
manifest-deprecated-key,
manifest-required-author,
manifest-required-key,
manifest-version-format,
method-compute,
method-inverse,
method-required-super,
method-search,
missing-import-error,
missing-manifest-dependency,
openerp-exception-warning,
pointless-statement,
pointless-string-statement,
print-used,
redundant-keyword-arg,
redundant-modulename-xml,
reimported,
relative-import,
return-in-init,
rst-syntax-error,
sql-injection,
too-few-format-args,
translation-field,
translation-required,
unreachable,
use-vim-comment,
wrong-tabs-instead-of-spaces,
xml-syntax-error
# messages that do not cause the lint step to fail
consider-merging-classes-inherited,
create-user-wo-reset-password,
deprecated-module,
file-not-used,
invalid-commit,
missing-newline-extrafiles,
missing-readme,
no-utf8-coding-comment,
odoo-addons-relative-import,
old-api7-method-defined,
redefined-builtin,
too-complex,
unnecessary-utf8-coding-comment
[REPORTS]
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
output-format=colorized
reports=no

68
.pylintrc-mandatory Normal file
View file

@ -0,0 +1,68 @@
[MASTER]
load-plugins=pylint_odoo
score=n
[ODOOLINT]
readme_template_url="https://github.com/OCA/maintainer-tools/blob/master/template/module/README.rst"
manifest_required_authors=Odoo Community Association (OCA)
manifest_required_keys=license
manifest_deprecated_keys=description,active
license_allowed=AGPL-3,GPL-2,GPL-2 or any later version,GPL-3,GPL-3 or any later version,LGPL-3,Other OSI approved licence,Other proprietary
valid_odoo_versions=16.0,17.0,18.0
[MESSAGES CONTROL]
disable=all
enable=anomalous-backslash-in-string,
api-one-deprecated,
api-one-multi-together,
assignment-from-none,
attribute-deprecated,
class-camelcase,
context-overridden,
copy-wo-api-one,
dangerous-default-value,
dangerous-view-replace-wo-priority,
development-status-allowed,
duplicate-id-csv,
duplicate-key,
duplicate-xml-fields,
duplicate-xml-record-id,
eval-referenced,
eval-used,
incoherent-interpreter-exec-perm,
license-allowed,
manifest-author-string,
manifest-deprecated-key,
manifest-required-author,
manifest-required-key,
manifest-version-format,
method-compute,
method-inverse,
method-required-super,
method-search,
missing-import-error,
missing-manifest-dependency,
openerp-exception-warning,
pointless-statement,
pointless-string-statement,
print-used,
redundant-keyword-arg,
redundant-modulename-xml,
reimported,
relative-import,
return-in-init,
rst-syntax-error,
sql-injection,
too-few-format-args,
translation-field,
translation-required,
unreachable,
use-vim-comment,
wrong-tabs-instead-of-spaces,
xml-syntax-error
[REPORTS]
msg-template={path}:{line}: [{msg_id}({symbol}), {obj}] {msg}
output-format=colorized
reports=no

12
.vscode/extensions.json vendored Normal file
View file

@ -0,0 +1,12 @@
{
"recommendations": [
"ms-python.python",
"ms-python.black-formatter",
"ms-python.isort",
"ms-python.pylint",
"ms-python.flake8",
"esbenp.prettier-vscode",
"editorconfig.editorconfig",
"odoo.odoo-snippets"
]
}

54
.vscode/settings.json vendored Normal file
View file

@ -0,0 +1,54 @@
{
"xml.symbols.enabled": false,
"python.languageServer": "None",
"python.linting.enabled": true,
"python.linting.pylintEnabled": true,
"python.linting.pylintArgs": ["--rcfile=.pylintrc"],
"python.linting.flake8Enabled": true,
"python.linting.flake8Args": ["--config=.flake8"],
"python.formatting.provider": "black",
"python.formatting.blackArgs": ["--config=pyproject.toml"],
"editor.formatOnSave": true,
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
},
"python.sortImports.args": ["--settings-path=.isort.cfg"],
"[python]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "ms-python.black-formatter",
"editor.codeActionsOnSave": {
"source.organizeImports": "explicit"
}
},
"[xml]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[json]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"[yaml]": {
"editor.formatOnSave": true,
"editor.defaultFormatter": "esbenp.prettier-vscode"
},
"files.trimTrailingWhitespace": true,
"files.insertFinalNewline": true,
"files.exclude": {
"**/__pycache__": true,
"**/*.pyc": true,
"**/*.pyo": true,
"**/.pytest_cache": true,
"**/.tox": true,
"**/.eggs": true,
"**/*.egg-info": true
},
"search.exclude": {
"**/__pycache__": true,
"**/*.pyc": true,
"**/.pytest_cache": true,
"**/.tox": true,
"**/.eggs": true,
"**/*.egg-info": true
}
}

215
INSTALACION_COMPLETA.md Normal file
View file

@ -0,0 +1,215 @@
# ✅ Instalación Completa - Herramientas de Verificación OCA
## Resumen de la Instalación
Se han instalado y configurado exitosamente todas las herramientas de verificación OCA estándar en este repositorio.
## 📦 Paquetes Instalados
Los siguientes paquetes Python han sido instalados en el entorno virtual (`.venv`):
- ✅ **pre-commit** - Gestor de hooks de git
- ✅ **black** - Formateador de código Python
- ✅ **isort** - Ordenador de imports
- ✅ **flake8** - Linter de estilo
- ✅ **flake8-bugbear** - Plugin adicional para flake8
- ✅ **pylint** - Analizador estático de código
- ✅ **pylint-odoo** - Plugin específico para Odoo
- ✅ **autoflake** - Elimina imports y variables no usadas
- ✅ **pyupgrade** - Actualiza sintaxis de Python
## 📄 Archivos de Configuración Creados
### Configuración Principal
- ✅ `.pre-commit-config.yaml` - Configuración de pre-commit con hooks OCA
- ✅ `.pylintrc` - Reglas de pylint (opcionales + mandatorias)
- ✅ `.pylintrc-mandatory` - Solo reglas mandatorias de pylint
- ✅ `.flake8` - Configuración de flake8
- ✅ `.isort.cfg` - Configuración de isort
- ✅ `setup.cfg` - Configuración compartida
- ✅ `pyproject.toml` - Configuración de black e isort
- ✅ `.editorconfig` - Configuración de editor
- ✅ `requirements.txt` - Dependencias del proyecto
### Herramientas y Scripts
- ✅ `Makefile` - Comandos make para tareas comunes
- ✅ `check_addon.sh` - Script de verificación rápida de addons
- ✅ `LINTERS_README.md` - Documentación de uso
### VS Code
- ✅ `.vscode/settings.json` - Configuración actualizada
- ✅ `.vscode/extensions.json` - Extensiones recomendadas
## 🔧 Hooks de Pre-commit Instalados
Los siguientes hooks se ejecutarán automáticamente en cada commit:
1. **forbidden-files** - Detecta archivos prohibidos (.rej)
2. **oca-update-pre-commit-excluded-addons** - Actualiza lista de addons excluidos
3. **autoflake** - Elimina imports/variables no usadas
4. **black** - Formatea código Python
5. **prettier** - Formatea XML, YAML, JSON
6. **eslint** - Verifica JavaScript
7. **trailing-whitespace** - Elimina espacios al final de línea
8. **end-of-file-fixer** - Asegura nueva línea al final de archivo
9. **debug-statements** - Detecta statements de debug
10. **fix-encoding-pragma** - Remueve pragmas de encoding
11. **check-case-conflict** - Detecta conflictos de mayúsculas/minúsculas
12. **check-docstring-first** - Verifica posición de docstrings
13. **check-executables-have-shebangs** - Verifica shebangs
14. **check-merge-conflict** - Detecta marcadores de conflicto
15. **check-symlinks** - Verifica enlaces simbólicos
16. **check-xml** - Verifica sintaxis XML
17. **mixed-line-ending** - Normaliza finales de línea
18. **pyupgrade** - Actualiza sintaxis Python
19. **isort** - Ordena imports (excepto __init__.py)
20. **setuptools-odoo-make-default** - Genera setup/
21. **setuptools-odoo-get-requirements** - Actualiza requirements.txt
22. **flake8** - Verifica estilo Python
23. **mypy** - Verificación de tipos estática
24. **pylint** (opcional) - Análisis de código con exit-zero
25. **pylint** (mandatorio) - Análisis de código que falla el commit
## 🚀 Uso Rápido
### Comandos Make
```bash
# Ver todos los comandos disponibles
make help
# Ejecutar todas las verificaciones
make lint
# Formatear código
make format
# Verificar formato sin modificar
make check-format
# Ejecutar flake8
make flake8
# Ejecutar pylint en todos los addons
make pylint
# Solo verificaciones mandatorias
make pylint-required
# Limpiar archivos temporales
make clean
# Actualizar requirements.txt
make requirements
# Actualizar hooks a últimas versiones
make update-hooks
```
### Script de Verificación de Addon
```bash
# Verificar un addon específico
./check_addon.sh account_invoice_triple_discount
```
### Pre-commit Manual
```bash
# Ejecutar en todos los archivos
pre-commit run --all-files
# Ejecutar en archivos modificados
pre-commit run
# Ejecutar un hook específico
pre-commit run black --all-files
# Ejecutar en archivos específicos
pre-commit run --files path/to/file.py
```
### Herramientas Individuales
```bash
# Black
black .
black --check . # Solo verificar sin modificar
# isort
isort .
isort --check-only . # Solo verificar sin modificar
# flake8
flake8 .
flake8 account_invoice_triple_discount/
# pylint
pylint --rcfile=.pylintrc account_invoice_triple_discount/
pylint --rcfile=.pylintrc-mandatory account_invoice_triple_discount/
```
## ⚙️ Configuración de VS Code
Se recomienda instalar las siguientes extensiones:
- Python
- Black Formatter
- isort
- Pylint
- Flake8
- Prettier
- EditorConfig
- Odoo Snippets
Las extensiones recomendadas están definidas en `.vscode/extensions.json`.
## 🔍 Verificación de la Instalación
Para verificar que todo está funcionando correctamente:
```bash
# 1. Verificar versiones instaladas
black --version
flake8 --version
pylint --version
isort --version
pre-commit --version
# 2. Probar black en un archivo
black --check account_invoice_triple_discount/models/
# 3. Probar flake8 en un addon
flake8 account_invoice_triple_discount/
# 4. Ejecutar un hook simple
pre-commit run forbidden-files --all-files
```
## 📚 Documentación Adicional
- Ver [LINTERS_README.md](LINTERS_README.md) para más detalles
- [OCA Guidelines](https://github.com/OCA/maintainer-tools)
- [pre-commit](https://pre-commit.com/)
- [pylint-odoo](https://github.com/OCA/pylint-odoo)
- [Black](https://black.readthedocs.io/)
## 🎯 Próximos Pasos
1. Ejecutar `make lint` para verificar el estado actual del código
2. Corregir cualquier problema encontrado
3. Hacer commit con los cambios (pre-commit se ejecutará automáticamente)
4. Si hay problemas que no se pueden resolver, revisar la configuración específica en los archivos `.pylintrc`, `.flake8`, etc.
## ⚠️ Notas Importantes
- Los hooks de pre-commit se ejecutarán automáticamente en cada commit
- Si necesitas hacer un commit sin verificación (NO RECOMENDADO): `git commit --no-verify`
- Los archivos `__init__.py` son excluidos de la ordenación de imports por convención OCA
- Las verificaciones de pylint tienen dos niveles: opcionales (con `--exit-zero`) y mandatorias (que fallan el commit)
- El formateo con black y prettier puede modificar archivos automáticamente
---
**✅ Instalación completada exitosamente**
Fecha: 11 de febrero de 2026

88
LINTERS_README.md Normal file
View file

@ -0,0 +1,88 @@
# Herramientas de Verificación OCA
Este repositorio está configurado con las herramientas de verificación estándar de OCA (Odoo Community Association).
## Herramientas Instaladas
- **pre-commit**: Gestor de hooks de git para ejecutar verificaciones automáticas
- **black**: Formateador de código Python
- **isort**: Ordenador de imports Python
- **flake8**: Linter de estilo Python (con flake8-bugbear)
- **pylint**: Analizador de código Python con pylint-odoo
- **autoflake**: Elimina imports y variables no utilizadas
- **pyupgrade**: Actualiza sintaxis de Python a versiones más modernas
- **prettier**: Formateador para XML, YAML, JSON, etc.
## Uso
### Verificación Manual
Para ejecutar las verificaciones en todos los archivos:
```bash
pre-commit run --all-files
```
Para ejecutar en archivos específicos:
```bash
pre-commit run --files path/to/file.py
```
### Verificación Automática
Los hooks de pre-commit están configurados para ejecutarse automáticamente en cada commit. Si hay errores, el commit será rechazado hasta que se corrijan.
### Ejecutar Herramientas Individuales
```bash
# Black
black .
# isort
isort .
# flake8
flake8 .
# pylint (opcional)
pylint --rcfile=.pylintrc <addon_name>
# pylint (mandatorio)
pylint --rcfile=.pylintrc-mandatory <addon_name>
```
## Configuración
Los archivos de configuración son:
- `.pre-commit-config.yaml`: Configuración de pre-commit hooks
- `.pylintrc`: Verificaciones opcionales y mandatorias de pylint
- `.pylintrc-mandatory`: Solo verificaciones mandatorias
- `.flake8`: Configuración de flake8
- `.isort.cfg`: Configuración de isort
- `setup.cfg`: Configuración adicional para flake8 e isort
- `pyproject.toml`: Configuración de black e isort
- `.editorconfig`: Configuración de editor para consistencia
## Actualización de Hooks
Para actualizar los hooks a las últimas versiones:
```bash
pre-commit autoupdate
```
## Desactivar Temporalmente
Si necesitas hacer un commit sin ejecutar las verificaciones (NO RECOMENDADO):
```bash
git commit --no-verify
```
## Más Información
- [OCA Guidelines](https://github.com/OCA/maintainer-tools)
- [pre-commit](https://pre-commit.com/)
- [pylint-odoo](https://github.com/OCA/pylint-odoo)

81
Makefile Normal file
View file

@ -0,0 +1,81 @@
.PHONY: help
help:
@echo "Comandos disponibles para verificación de código OCA:"
@echo ""
@echo " make lint - Ejecutar todas las verificaciones (pre-commit)"
@echo " make format - Formatear código (black + isort)"
@echo " make check-format - Verificar formateo sin modificar"
@echo " make flake8 - Ejecutar flake8"
@echo " make pylint - Ejecutar pylint (opcionales y mandatorios)"
@echo " make pylint-required - Ejecutar solo verificaciones mandatorias"
@echo " make test - Ejecutar tests"
@echo " make install-hooks - Instalar pre-commit hooks"
@echo " make update-hooks - Actualizar pre-commit hooks"
@echo " make clean - Limpiar archivos temporales"
@echo ""
.PHONY: install-hooks
install-hooks:
pre-commit install
.PHONY: update-hooks
update-hooks:
pre-commit autoupdate
.PHONY: lint
lint:
pre-commit run --all-files
.PHONY: lint-changed
lint-changed:
pre-commit run
.PHONY: format
format:
black .
isort .
.PHONY: check-format
check-format:
black --check .
isort --check-only .
.PHONY: flake8
flake8:
flake8 .
.PHONY: pylint
pylint:
@for addon in $$(ls -d */ | grep -v "\."); do \
if [ -f "$$addon/__manifest__.py" ] || [ -f "$$addon/__openerp__.py" ]; then \
echo "Checking $$addon with pylint..."; \
pylint --rcfile=.pylintrc --exit-zero $$addon; \
fi \
done
.PHONY: pylint-required
pylint-required:
@for addon in $$(ls -d */ | grep -v "\."); do \
if [ -f "$$addon/__manifest__.py" ] || [ -f "$$addon/__openerp__.py" ]; then \
echo "Checking $$addon with pylint (mandatory checks)..."; \
pylint --rcfile=.pylintrc-mandatory $$addon; \
fi \
done
.PHONY: test
test:
@echo "Ejecutar tests de Odoo aquí"
@echo "Por ejemplo: pytest o python -m pytest"
.PHONY: clean
clean:
find . -type f -name '*.pyc' -delete
find . -type d -name '__pycache__' -delete
find . -type d -name '*.egg-info' -exec rm -rf {} + || true
find . -type d -name '.pytest_cache' -exec rm -rf {} + || true
find . -type d -name '.tox' -exec rm -rf {} + || true
rm -rf build/ dist/
.PHONY: requirements
requirements:
pre-commit run setuptools-odoo-get-requirements --all-files

230
RESUMEN_INSTALACION.md Normal file
View file

@ -0,0 +1,230 @@
# 🎉 Instalación Completada - Linters y Pre-commit OCA
## ✅ Resumen de la Instalación
Se han instalado y configurado exitosamente **todas las herramientas de verificación OCA** en el repositorio.
---
## 📦 Paquetes Instalados (Versiones)
| Herramienta | Versión | Descripción |
|-------------|---------|-------------|
| **black** | 26.1.0 | Formateador de código Python |
| **isort** | 7.0.0 | Ordenador de imports |
| **flake8** | 7.3.0 | Linter de estilo Python |
| **pylint** | 4.0.4 | Analizador estático de código |
| **pylint-odoo** | 10.0.0 | Plugin específico para Odoo |
| **pre-commit** | ✅ | Gestor de hooks de git |
| **autoflake** | ✅ | Elimina código no usado |
| **pyupgrade** | ✅ | Actualiza sintaxis Python |
| **flake8-bugbear** | ✅ | Verificaciones adicionales |
---
## 📁 Archivos Creados
### Configuración de Linters
- ✅ `.pre-commit-config.yaml` - 25 hooks configurados
- ✅ `.pylintrc` - Reglas opcionales + mandatorias
- ✅ `.pylintrc-mandatory` - Solo reglas obligatorias
- ✅ `.flake8` - Configuración de flake8
- ✅ `.isort.cfg` - Configuración de isort
- ✅ `setup.cfg` - Configuración compartida
- ✅ `pyproject.toml` - Configuración de black
- ✅ `.editorconfig` - Consistencia de editor
### Herramientas de Desarrollo
- ✅ `Makefile` - 10+ comandos útiles
- ✅ `check_addon.sh` - Script de verificación de addons
- ✅ `requirements.txt` - Dependencias del proyecto
### Documentación
- ✅ `LINTERS_README.md` - Guía completa de uso
- ✅ `INSTALACION_COMPLETA.md` - Documentación detallada
- ✅ `RESUMEN_INSTALACION.md` - Este archivo
### VS Code
- ✅ `.vscode/settings.json` - Configuración actualizada
- ✅ `.vscode/extensions.json` - Extensiones recomendadas
---
## 🔧 Estado de Pre-commit
```
✅ Pre-commit hooks instalados en .git/hooks/
✅ 25 hooks configurados y listos
✅ Hooks actualizados a las últimas versiones
```
Los hooks se ejecutarán automáticamente en cada commit.
---
## 🚀 Comandos Rápidos
### Comandos más usados
```bash
# Verificar todo el código
make lint
# Formatear código automáticamente
make format
# Verificar un addon específico
./check_addon.sh account_invoice_triple_discount
# Ver todos los comandos disponibles
make help
```
### Pre-commit
```bash
# Ejecutar en todos los archivos
pre-commit run --all-files
# Ejecutar en archivos modificados
pre-commit run
# Actualizar a últimas versiones
pre-commit autoupdate
```
---
## 📊 Hooks Configurados (25)
### Verificaciones Básicas (7)
1. `forbidden-files` - Detecta archivos .rej
2. `oca-update-pre-commit-excluded-addons` - Actualiza exclusiones
3. `trailing-whitespace` - Elimina espacios finales
4. `end-of-file-fixer` - Nueva línea al final
5. `check-merge-conflict` - Detecta conflictos
6. `check-xml` - Valida XML
7. `mixed-line-ending` - Normaliza finales de línea
### Formateo de Código (3)
8. `black` - Formatea Python
9. `isort` - Ordena imports
10. `prettier` - Formatea XML/YAML/JSON
### Análisis de Código (5)
11. `flake8` - Linter Python
12. `pylint` (opcional) - Análisis con exit-zero
13. `pylint` (mandatorio) - Análisis que falla commit
14. `mypy` - Verificación de tipos
15. `eslint` - Linter JavaScript
### Mejoras Automáticas (3)
16. `autoflake` - Elimina imports no usados
17. `pyupgrade` - Actualiza sintaxis Python (py38+)
18. `fix-encoding-pragma` - Remueve pragmas encoding
### Verificaciones de Seguridad (4)
19. `debug-statements` - Detecta debugs olvidados
20. `check-executables-have-shebangs` - Verifica shebangs
21. `check-symlinks` - Valida enlaces simbólicos
22. `check-case-conflict` - Conflictos mayús/minús
### Odoo Específico (3)
23. `setuptools-odoo-make-default` - Genera setup/
24. `setuptools-odoo-get-requirements` - Actualiza requirements.txt
25. `check-docstring-first` - Verifica docstrings
---
## ✅ Verificación de la Instalación
Ejecuta estos comandos para verificar que todo funciona:
```bash
# 1. Verificar versiones
black --version # 26.1.0
isort --version # 7.0.0
pylint --version # 4.0.4
flake8 --version # 7.3.0
# 2. Probar en un archivo
black --check account_invoice_triple_discount/models/account_move_line.py
# 3. Ejecutar un hook
pre-commit run forbidden-files --all-files
```
---
## 🎯 Próximos Pasos
1. **Ejecutar verificación inicial**
```bash
make lint
```
2. **Corregir problemas encontrados**
```bash
make format # Formatea automáticamente
```
3. **Hacer commit**
```bash
git add .
git commit -m "feat: configurar herramientas de verificación OCA"
# Pre-commit se ejecutará automáticamente
```
4. **Verificar addons individuales**
```bash
./check_addon.sh nombre_addon
```
---
## 📚 Documentación
- **Guía completa**: Ver [LINTERS_README.md](LINTERS_README.md)
- **Detalles técnicos**: Ver [INSTALACION_COMPLETA.md](INSTALACION_COMPLETA.md)
- **OCA Guidelines**: https://github.com/OCA/maintainer-tools
- **pre-commit**: https://pre-commit.com/
---
## ⚙️ Configuración de VS Code
Instala las extensiones recomendadas:
1. Abre VS Code
2. Ve a Extensions (Ctrl+Shift+X)
3. Busca "@recommended"
4. Instala todas las extensiones sugeridas
O ejecuta:
```bash
code --install-extension ms-python.python
code --install-extension ms-python.black-formatter
code --install-extension ms-python.isort
code --install-extension ms-python.pylint
code --install-extension ms-python.flake8
code --install-extension esbenp.prettier-vscode
code --install-extension editorconfig.editorconfig
```
---
## ⚠️ Notas Importantes
- ✅ Los hooks se ejecutan **automáticamente** en cada commit
- ✅ Black y prettier **modifican archivos** automáticamente
- ✅ Los `__init__.py` están **excluidos** de isort (estándar OCA)
- ✅ Pylint tiene **dos niveles**: opcional (no falla) y mandatorio (falla commit)
- ⚠️ Para commit sin verificación (NO RECOMENDADO): `git commit --no-verify`
---
## 🎊 ¡Todo Listo!
El repositorio está ahora configurado con los estándares de calidad OCA. Cada commit será verificado automáticamente para mantener la calidad del código.
**Fecha de instalación**: 11 de febrero de 2026
**Versión de configuración**: OCA Standard (2026)

View file

@ -0,0 +1,112 @@
.. image:: https://odoo-community.org/readme-banner-image
:target: https://odoo-community.org/get-involved?utm_source=readme
:alt: Odoo Community Association
===============================
Account Invoice Triple Discount
===============================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:96fbed1626bb94b34b29d3287cbf750e394cae6f90526ddba1450a75f4c45b49
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/license-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github
:target: https://github.com/OCA/account-invoicing/tree/18.0/account_invoice_triple_discount
:alt: OCA/account-invoicing
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-invoicing-18-0/account-invoicing-18-0-account_invoice_triple_discount
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&target_branch=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allows to have three successive discounts on each invoice
line.
**Table of contents**
.. contents::
:local:
Usage
=====
Create a new invoice and add discounts in any of the three discount
fields given. They go in order of precedence so discount 2 will be
calculated over discount 1 and discount 3 over the result of discount 2.
For example, let's divide by two on every discount:
Unit price: 600.00 ->
- Disc. 1 = 50% -> Amount = 300.00
- Disc. 2 = 50% -> Amount = 150.00
- Disc. 3 = 50% -> Amount = 75.00
You can also use negative values to charge instead of discount:
Unit price: 600.00 ->
- Disc. 1 = 50% -> Amount = 300.00
- Disc. 2 = -5% -> Amount = 315.00
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-invoicing/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-invoicing/issues/new?body=module:%20account_invoice_triple_discount%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
-------
* QubiQ
* Tecnativa
* GRAP
Contributors
------------
- David Vidal <david.vidal@tecnativa.com>
- Pedro M. Baeza <pedro.baeza@tecnativa.com>
- Nikul Chaudhary <nikulchaudhary2112@gmail.com>
- `Aion Tech <https://aiontech.company/>`__:
- Simone Rubino <simone.rubino@aion-tech.it>
- Laurent Mignon <laurent.mignon@acsone.eu>
- Akim Juillerat <akim.juillerat@camptocamp.com>
Maintainers
-----------
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/account-invoicing <https://github.com/OCA/account-invoicing/tree/18.0/account_invoice_triple_discount>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1,2 @@
from . import models
from .hooks import post_init_hook

View file

@ -0,0 +1,17 @@
# Copyright 2018 QubiQ (http://www.qubiq.es)
# Copyright 2017 Tecnativa - David Vidal
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Account Invoice Triple Discount",
"version": "18.0.1.0.0",
"category": "Accounting & Finance",
"author": "QubiQ, Tecnativa, GRAP, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/account-invoicing",
"license": "AGPL-3",
"summary": "Manage triple discount on invoice lines",
"depends": ["account"],
"excludes": ["account_invoice_fixed_discount"],
"post_init_hook": "post_init_hook",
"data": ["report/invoice.xml", "views/account_move.xml"],
"installable": True,
}

View file

@ -0,0 +1,27 @@
# Copyright 2024-Today - Sylvain Le GAL (GRAP)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import logging
_logger = logging.getLogger(__name__)
def post_init_hook(env):
_logger.info("Initializing column discount1 on table account_move_line")
env.cr.execute("""
UPDATE account_move_line
SET discount1 = discount
WHERE discount != 0
""")
# if discounts are : 10% - 20% - 30% main discount is : 49.6 %
# if discounts are : 05% - 09% - 13% main discount is : 24.7885 %
env.cr.execute("""
UPDATE account_move_line
SET discount = 100 * (
1 - (
(100 - COALESCE(discount1, 0.0)) / 100
* (100 - COALESCE(discount2, 0.0)) / 100
* (100 - COALESCE(discount3, 0.0)) / 100
)
);
""")

View file

@ -0,0 +1,101 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
msgid "Discount (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_account_move_line_discount1_limit
#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_triple_discount_mixin_discount1_limit
msgid "Discount 1 must be lower than 100%."
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_account_move_line_discount2_limit
#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_triple_discount_mixin_discount2_limit
msgid "Discount 2 must be lower than 100%."
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_account_move_line_discount3_limit
#: model:ir.model.constraint,message:account_invoice_triple_discount.constraint_triple_discount_mixin_discount3_limit
msgid "Discount 3 must be lower than 100%."
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_triple_discount_mixin__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_triple_discount_mixin
msgid "Triple discount mixin"
msgstr ""

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Arabic (https://www.transifex.com/oca/teams/23907/ar/)\n"
"Language: ar\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=6; plural=n==0 ? 0 : n==1 ? 1 : n==2 ? 2 : n%100>=3 "
"&& n%100<=10 ? 3 : n%100>=11 && n%100<=99 ? 4 : 5;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "فاتورة"
#~ msgid "Invoice Line"
#~ msgstr "خط الفاتورة"

View file

@ -0,0 +1,78 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Bulgarian (https://www.transifex.com/oca/teams/23907/bg/)\n"
"Language: bg\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Фактура"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Bosnian (https://www.transifex.com/oca/teams/23907/bs/)\n"
"Language: bs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Faktura"
#~ msgid "Invoice Line"
#~ msgstr "Stavka fakture"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2022-08-09 10:06+0000\n"
"Last-Translator: jabelchi <jabelchi@gmail.com>\n"
"Language-Team: Catalan (https://www.transifex.com/oca/teams/23907/ca/)\n"
"Language: ca\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.3.2\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Desc.2%"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Desc.3%"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Descompte 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Descompte 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factura"
#~ msgid "Invoice Line"
#~ msgstr "Línia factura"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Czech (https://www.transifex.com/oca/teams/23907/cs/)\n"
"Language: cs\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Faktura"
#~ msgid "Invoice Line"
#~ msgstr "Řádek faktury"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2018-10-11 11:45+0000\n"
"Last-Translator: Rudolf Schnapka <rs@techno-flex.de>\n"
"Language-Team: German (https://www.transifex.com/oca/teams/23907/de/)\n"
"Language: de\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 3.1.1\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "2. Rabatt (%)"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "3. Rabatt (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "2. Rabatt (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "3. Rabatt (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Rechnung"
#~ msgid "Invoice Line"
#~ msgstr "Rechnungsposition"

View file

@ -0,0 +1,79 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Greek (Greece) (https://www.transifex.com/oca/teams/23907/"
"el_GR/)\n"
"Language: el_GR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Τιμολόγιο"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: English (United Kingdom) (https://www.transifex.com/oca/"
"teams/23907/en_GB/)\n"
"Language: en_GB\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Invoice"
#~ msgid "Invoice Line"
#~ msgstr "Invoice Line"

View file

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2026-02-03 07:04+0000\n"
"Last-Translator: Enric Tobella <etobella@creublanca.es>\n"
"Language-Team: Spanish (https://www.transifex.com/oca/teams/23907/es/)\n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.15.2\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr "<span>Desc.1 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr "<span>Desc. 2 (%)</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr "<span>Desc.3 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Desc.2%"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Desc.3%"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Descuento 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Descuento 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr "Artículo diario"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Journal Entry"
#~ msgstr "Entrada Diaria"
#~ msgid "Invoice"
#~ msgstr "Factura"
#~ msgid "Invoice Line"
#~ msgstr "Línea de factura"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Costa Rica) (https://www.transifex.com/oca/"
"teams/23907/es_CR/)\n"
"Language: es_CR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factura"
#~ msgid "Invoice Line"
#~ msgstr "Línea de factura"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Ecuador) (https://www.transifex.com/oca/teams/23907/"
"es_EC/)\n"
"Language: es_EC\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factura"
#~ msgid "Invoice Line"
#~ msgstr "Detalle de Factura"

View file

@ -0,0 +1,79 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# Fernando Lara <gennesis45@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: Fernando Lara <gennesis45@gmail.com>, 2017\n"
"Language-Team: Spanish (Spain) (https://www.transifex.com/oca/teams/23907/"
"es_ES/)\n"
"Language: es_ES\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factura"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Spanish (Mexico) (https://www.transifex.com/oca/teams/23907/"
"es_MX/)\n"
"Language: es_MX\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factura"
#~ msgid "Invoice Line"
#~ msgstr "Línea de factura"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Estonian (https://www.transifex.com/oca/teams/23907/et/)\n"
"Language: et\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Arve"
#~ msgid "Invoice Line"
#~ msgstr "Arve rida"

View file

@ -0,0 +1,78 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Finnish (https://www.transifex.com/oca/teams/23907/fi/)\n"
"Language: fi\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Lasku"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Quentin THEURET <odoo@kerpeo.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: Quentin THEURET <odoo@kerpeo.com>, 2017\n"
"Language-Team: French (https://www.transifex.com/oca/teams/23907/fr/)\n"
"Language: fr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Remise 2 (%)"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Remise 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Remise 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Remise 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Facture"
#~ msgid "Invoice Line"
#~ msgstr "Ligne de facture"

View file

@ -0,0 +1,79 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: French (Canada) (https://www.transifex.com/oca/teams/23907/"
"fr_CA/)\n"
"Language: fr_CA\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Facture"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: French (Switzerland) (https://www.transifex.com/oca/"
"teams/23907/fr_CH/)\n"
"Language: fr_CH\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Facture"
#~ msgid "Invoice Line"
#~ msgstr "Ligne de facture"

View file

@ -0,0 +1,78 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Galician (https://www.transifex.com/oca/teams/23907/gl/)\n"
"Language: gl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factura"

View file

@ -0,0 +1,87 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Bole <bole@dajmi5.com>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-02-03 01:14+0000\n"
"PO-Revision-Date: 2023-04-03 13:23+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>\n"
"Language-Team: Croatian (https://www.transifex.com/oca/teams/23907/hr/)\n"
"Language: hr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
"X-Generator: Weblate 4.14.1\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr "<span>Pop.2 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr "<span>Pop.3 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Popust 2 (%)"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Popust 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Popust 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Popust 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr "Stavka dnevnika"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Journal Entry"
#~ msgstr "Temeljnica"
#~ msgid "Invoice"
#~ msgstr "Račun"
#~ msgid "Invoice Line"
#~ msgstr "Stavka računa"

View file

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# Bole <bole@dajmi5.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-11 23:30+0000\n"
"PO-Revision-Date: 2017-08-11 23:30+0000\n"
"Last-Translator: Bole <bole@dajmi5.com>, 2017\n"
"Language-Team: Croatian (Croatia) (https://www.transifex.com/oca/teams/23907/"
"hr_HR/)\n"
"Language: hr_HR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Popust 2 (%)"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Popust 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Popust 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Popust 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Račun"
#~ msgid "Invoice Line"
#~ msgstr "Stavka računa"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Hungarian (https://www.transifex.com/oca/teams/23907/hu/)\n"
"Language: hu\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Számla"
#~ msgid "Invoice Line"
#~ msgstr "Számlasor"

View file

@ -0,0 +1,78 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Indonesian (https://www.transifex.com/oca/teams/23907/id/)\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Faktur"

View file

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2025-02-25 15:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: Italian (https://www.transifex.com/oca/teams/23907/it/)\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.2\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr "<span>Sconto 1 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr "<span>Sconto 2 (%)</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr "<span>Sconto 3 (%)</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr "Sconto 1%"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Sconto 2 (%)"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Sconto 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr "Sconto 1%"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Sconto 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Sconto 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr "Movimento contabile"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr "Sconto totale"
#~ msgid "Journal Entry"
#~ msgstr "Registrazione contabile"
#~ msgid "Invoice"
#~ msgstr "Fattura"
#~ msgid "Invoice Line"
#~ msgstr "Righe Fattura"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Japanese (https://www.transifex.com/oca/teams/23907/ja/)\n"
"Language: ja\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "請求書"
#~ msgid "Invoice Line"
#~ msgstr "請求行"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Lithuanian (https://www.transifex.com/oca/teams/23907/lt/)\n"
"Language: lt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"(n%100<10 || n%100>=20) ? 1 : 2);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Sąskaita faktūra"
#~ msgid "Invoice Line"
#~ msgstr "Sąskaitos faktūros eilutė"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Macedonian (https://www.transifex.com/oca/teams/23907/mk/)\n"
"Language: mk\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Фактура"
#~ msgid "Invoice Line"
#~ msgstr "Ставка од фактура"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Mongolian (https://www.transifex.com/oca/teams/23907/mn/)\n"
"Language: mn\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Нэхэмжлэл"
#~ msgid "Invoice Line"
#~ msgstr "Нэхэмжлэлийн мөр"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Norwegian Bokmål (https://www.transifex.com/oca/teams/23907/"
"nb/)\n"
"Language: nb\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Faktura"
#~ msgid "Invoice Line"
#~ msgstr "Fakturalinje"

View file

@ -0,0 +1,79 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Norwegian Bokmål (Norway) (https://www.transifex.com/oca/"
"teams/23907/nb_NO/)\n"
"Language: nb_NO\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Innmelding"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Dutch (https://www.transifex.com/oca/teams/23907/nl/)\n"
"Language: nl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factuur"
#~ msgid "Invoice Line"
#~ msgstr "Factuurregel"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Dutch (Belgium) (https://www.transifex.com/oca/teams/23907/"
"nl_BE/)\n"
"Language: nl_BE\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factuur"
#~ msgid "Invoice Line"
#~ msgstr "Factuurlijn"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# Peter Hageman <hageman.p@gmail.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: Peter Hageman <hageman.p@gmail.com>, 2017\n"
"Language-Team: Dutch (Netherlands) (https://www.transifex.com/oca/"
"teams/23907/nl_NL/)\n"
"Language: nl_NL\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factuur"
#~ msgid "Invoice Line"
#~ msgstr "Factuurregel"

View file

@ -0,0 +1,80 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Polish (https://www.transifex.com/oca/teams/23907/pl/)\n"
"Language: pl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && "
"(n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && "
"n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Faktura"

View file

@ -0,0 +1,81 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Portuguese (https://www.transifex.com/oca/teams/23907/pt/)\n"
"Language: pt\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Fatura"
#~ msgid "Invoice Line"
#~ msgstr "Linha de fatura"

View file

@ -0,0 +1,86 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2023-07-01 22:12+0000\n"
"Last-Translator: Adriano Prado <adrianojprado@gmail.com>\n"
"Language-Team: Portuguese (Brazil) (https://www.transifex.com/oca/"
"teams/23907/pt_BR/)\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr "<span>Disco.2 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr "<span>Disco.3 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Desconto 2 (%)"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Desconto 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Desconto 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Desconto 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr "Item Diário"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Journal Entry"
#~ msgstr "Entrada Diário"
#~ msgid "Invoice"
#~ msgstr "Fatura"
#~ msgid "Invoice Line"
#~ msgstr "Linha da Fatura"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Portuguese (Portugal) (https://www.transifex.com/oca/"
"teams/23907/pt_PT/)\n"
"Language: pt_PT\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Fatura"
#~ msgid "Invoice Line"
#~ msgstr "Linha da Fatura"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Romanian (https://www.transifex.com/oca/teams/23907/ro/)\n"
"Language: ro\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1?0:(((n%100>19)||((n%100==0)&&(n!=0)))?"
"2:1));\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Factura"
#~ msgid "Invoice Line"
#~ msgstr "Linie factura"

View file

@ -0,0 +1,84 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# nek, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-03-17 01:09+0000\n"
"PO-Revision-Date: 2018-03-17 01:09+0000\n"
"Last-Translator: nek, 2018\n"
"Language-Team: Russian (https://www.transifex.com/oca/teams/23907/ru/)\n"
"Language: ru\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && "
"n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || "
"(n%100>=11 && n%100<=14)? 2 : 3);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Скидка 2 (%)"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Скидка 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Скидка 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Скидка 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Счет"
#~ msgid "Invoice Line"
#~ msgstr "Позиция счета"

View file

@ -0,0 +1,79 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Slovak (Slovakia) (https://www.transifex.com/oca/teams/23907/"
"sk_SK/)\n"
"Language: sk_SK\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=3; plural=(n==1) ? 0 : (n>=2 && n<=4) ? 1 : 2;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Faktúra"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Slovenian (https://www.transifex.com/oca/teams/23907/sl/)\n"
"Language: sl\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 0 : n%100==2 ? 1 : n%100==3 || "
"n%100==4 ? 2 : 3);\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Račun"
#~ msgid "Invoice Line"
#~ msgstr "Postavka računa"

View file

@ -0,0 +1,85 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2024-06-18 16:38+0000\n"
"Last-Translator: jakobkrabbe <jakob@syscare.se>\n"
"Language-Team: Swedish (https://www.transifex.com/oca/teams/23907/sv/)\n"
"Language: sv\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 4.17\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr "<span>Disc.2 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr "<span>Disc.3 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "Skiva.2%"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "Skiva.3%"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "Rabatt 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "Rabatt 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr "Verifikat"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Journal Entry"
#~ msgstr "Verifikat"
#~ msgid "Invoice"
#~ msgstr "Faktura"
#~ msgid "Invoice Line"
#~ msgstr "Fakturarad"

View file

@ -0,0 +1,78 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Thai (https://www.transifex.com/oca/teams/23907/th/)\n"
"Language: th\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "ใบแจ้งหนี้"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2025-09-04 11:42+0000\n"
"Last-Translator: Tamer Sezgin <tamer.sezgin@gmail.com>\n"
"Language-Team: Turkish (https://www.transifex.com/oca/teams/23907/tr/)\n"
"Language: tr\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
"X-Generator: Weblate 5.10.4\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr "<span>İnd.1 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr "<span>İnd.2 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr "<span>İnd.3 %</span>"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr "İnd.1%"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr "İnd.2%"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr "İnd.3%"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr "İndirim 1 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr "İndirim 2 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr "İndirim 3 (%)"
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr "Yevmiye Kalemi"
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr "Toplam indirim"
#~ msgid "Invoice"
#~ msgstr "Fatura"
#~ msgid "Invoice Line"
#~ msgstr "Fatura kalemi"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Turkish (Turkey) (https://www.transifex.com/oca/teams/23907/"
"tr_TR/)\n"
"Language: tr_TR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "Fatura"
#~ msgid "Invoice Line"
#~ msgstr "Fatura hizası"

View file

@ -0,0 +1,83 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
# 三 张 <731414193@qq.com>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: 三 张 <731414193@qq.com>, 2017\n"
"Language-Team: Chinese (China) (https://www.transifex.com/oca/teams/23907/"
"zh_CN/)\n"
"Language: zh_CN\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "发票"
#~ msgid "Invoice Line"
#~ msgstr "发票明细"

View file

@ -0,0 +1,82 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_invoice_triple_discount
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2017
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2017-08-09 02:45+0000\n"
"PO-Revision-Date: 2017-08-09 02:45+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2017\n"
"Language-Team: Chinese (Taiwan) (https://www.transifex.com/oca/teams/23907/"
"zh_TW/)\n"
"Language: zh_TW\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=1; plural=0;\n"
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.1 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.2 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.report_invoice_document
msgid "<span>Disc.3 %</span>"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.1%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.2%"
msgstr ""
#. module: account_invoice_triple_discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Disc.3%"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount1
msgid "Discount 1 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount2
msgid "Discount 2 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount3
msgid "Discount 3 (%)"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model,name:account_invoice_triple_discount.model_account_move_line
msgid "Journal Item"
msgstr ""
#. module: account_invoice_triple_discount
#: model:ir.model.fields,field_description:account_invoice_triple_discount.field_account_move_line__discount
#: model_terms:ir.ui.view,arch_db:account_invoice_triple_discount.invoice_triple_discount_form_view
msgid "Total discount"
msgstr ""
#~ msgid "Invoice"
#~ msgstr "發票"
#~ msgid "Invoice Line"
#~ msgstr "發票明細"

View file

@ -0,0 +1,2 @@
from . import triple_discount_mixin
from . import account_move_line

View file

@ -0,0 +1,10 @@
# Copyright 2020 ACSONE SA/NV
# Copyright 2023 Simone Rubino - Aion Tech
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models
class AccountMoveLine(models.Model):
_name = "account.move.line"
_inherit = ["account.move.line", "triple.discount.mixin"]

View file

@ -0,0 +1,93 @@
# Copyright 2019 Tecnativa - David Vidal
# Copyright 2019 Tecnativa - Pedro M. Baeza
# Copyright 2020 ACSONE SA/NV
# Copyright 2023 Simone Rubino - Aion Tech
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
import functools
from odoo import api
from odoo import fields
from odoo import models
class TripleDiscountMixin(models.AbstractModel):
_name = "triple.discount.mixin"
_description = "Triple discount mixin"
# core discount field is now a computed field
# based on the 3 discounts defined below.
# the digits limitation is removed, to make
# the computation of the subtotal exact.
# For exemple, if discounts are 05%, 09% and 13%
# the main discount is 24.7885 % (and not 24.79)
discount = fields.Float(
string="Total discount",
compute="_compute_discount",
store=True,
readonly=True,
digits=None,
)
discount1 = fields.Float(string="Discount 1 (%)", digits="Discount")
discount2 = fields.Float(string="Discount 2 (%)", digits="Discount")
discount3 = fields.Float(string="Discount 3 (%)", digits="Discount")
_sql_constraints = [
(
"discount1_limit",
"CHECK (discount1 <= 100.0)",
"Discount 1 must be lower than 100%.",
),
(
"discount2_limit",
"CHECK (discount2 <= 100.0)",
"Discount 2 must be lower than 100%.",
),
(
"discount3_limit",
"CHECK (discount3 <= 100.0)",
"Discount 3 must be lower than 100%.",
),
]
@api.depends(lambda self: self._get_multiple_discount_field_names())
def _compute_discount(self):
for line in self:
line.discount = line._get_aggregated_multiple_discounts(
[line[x] for x in line._get_multiple_discount_field_names()]
)
def _get_aggregated_multiple_discounts(self, discounts):
"""
Returns the aggregate discount corresponding to any number of discounts.
For exemple, if discounts is [11.0, 22.0, 33.0]
It will return 46.5114
"""
discount_values = []
for discount in discounts:
discount_values.append(1 - (discount or 0.0) / 100.0)
aggregated_discount = (
1 - functools.reduce((lambda x, y: x * y), discount_values)
) * 100
return aggregated_discount
@api.model
def _get_multiple_discount_field_names(self):
return ["discount1", "discount2", "discount3"]
@api.model_create_multi
def create(self, vals_list):
for vals in vals_list:
if vals.get("discount") and not any(
vals.get(field) for field in self._get_multiple_discount_field_names()
):
vals["discount1"] = vals.pop("discount")
return super().create(vals_list)
def write(self, vals):
discount_fields = self._get_multiple_discount_field_names()
if "discount" in vals:
vals["discount1"] = vals.pop("discount")
vals.update({field: 0 for field in discount_fields[1:]})
return super().write(vals)

View file

@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"

View file

@ -0,0 +1,7 @@
- David Vidal \<<david.vidal@tecnativa.com>\>
- Pedro M. Baeza \<<pedro.baeza@tecnativa.com>\>
- Nikul Chaudhary \<<nikulchaudhary2112@gmail.com>\>
- [Aion Tech](https://aiontech.company/):
- Simone Rubino \<<simone.rubino@aion-tech.it>\>
- Laurent Mignon \<<laurent.mignon@acsone.eu>\>
- Akim Juillerat \<<akim.juillerat@camptocamp.com>\>

View file

@ -0,0 +1,2 @@
This module allows to have three successive discounts on each invoice
line.

View file

@ -0,0 +1,17 @@
Create a new invoice and add discounts in any of the three discount
fields given. They go in order of precedence so discount 2 will be
calculated over discount 1 and discount 3 over the result of discount 2.
For example, let's divide by two on every discount:
Unit price: 600.00 -\>
> - Disc. 1 = 50% -\> Amount = 300.00
> - Disc. 2 = 50% -\> Amount = 150.00
> - Disc. 3 = 50% -\> Amount = 75.00
You can also use negative values to charge instead of discount:
Unit price: 600.00 -\>
> - Disc. 1 = 50% -\> Amount = 300.00
> - Disc. 2 = -5% -\> Amount = 315.00

View file

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<template
id="report_invoice_document"
inherit_id="account.report_invoice_document"
priority="100"
>
<xpath expr="//t[@t-set='display_discount']" position="attributes">
<attribute name="t-value">False</attribute>
</xpath>
<xpath expr="//t[@t-set='display_discount']" position="after">
<t
t-set="discount_class"
t-value="'text-end %s' % ('d-none d-md-table-cell' if report_type == 'html' else '')"
/>
</xpath>
<xpath expr="//th[@name='th_discount']" position="attributes">
<attribute name="style">visibility: hidden;</attribute>
</xpath>
<xpath expr="//th[@name='th_discount']" position="after">
<th
name="th_discount1"
t-if="display_discount"
t-att-class="discount_class"
>
<span>Disc.1 %</span>
</th>
<th
name="th_discount2"
t-if="display_discount"
t-att-class="discount_class"
>
<span>Disc.2 %</span>
</th>
<th
name="th_discount3"
t-if="display_discount"
t-att-class="discount_class"
>
<span>Disc.3 %</span>
</th>
</xpath>
<xpath
expr="//td[span[@t-field='line.discount']]"
position="attributes"
>
<attribute name="style">visibility: hidden;</attribute>
</xpath>
<xpath expr="//td[span[@t-field='line.discount']]" position="after">
<td t-if="display_discount" t-att-class="discount_class">
<span class="text-nowrap" t-field="line.discount1" />
</td>
<td t-if="display_discount" t-att-class="discount_class">
<span class="text-nowrap" t-field="line.discount2" />
</td>
<td t-if="display_discount" t-att-class="discount_class">
<span class="text-nowrap" t-field="line.discount3" />
</td>
</xpath>
</template>
</odoo>

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,464 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>README.rst</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document">
<a class="reference external image-reference" href="https://odoo-community.org/get-involved?utm_source=readme">
<img alt="Odoo Community Association" src="https://odoo-community.org/readme-banner-image" />
</a>
<div class="section" id="account-invoice-triple-discount">
<h1>Account Invoice Triple Discount</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:96fbed1626bb94b34b29d3287cbf750e394cae6f90526ddba1450a75f4c45b49
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/license-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/account-invoicing/tree/18.0/account_invoice_triple_discount"><img alt="OCA/account-invoicing" src="https://img.shields.io/badge/github-OCA%2Faccount--invoicing-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-invoicing-18-0/account-invoicing-18-0-account_invoice_triple_discount"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-invoicing&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allows to have three successive discounts on each invoice
line.</p>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#usage" id="toc-entry-1">Usage</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-2">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-3">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-4">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-5">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-6">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h2><a class="toc-backref" href="#toc-entry-1">Usage</a></h2>
<p>Create a new invoice and add discounts in any of the three discount
fields given. They go in order of precedence so discount 2 will be
calculated over discount 1 and discount 3 over the result of discount 2.
For example, lets divide by two on every discount:</p>
<p>Unit price: 600.00 -&gt;</p>
<blockquote>
<ul class="simple">
<li>Disc. 1 = 50% -&gt; Amount = 300.00</li>
<li>Disc. 2 = 50% -&gt; Amount = 150.00</li>
<li>Disc. 3 = 50% -&gt; Amount = 75.00</li>
</ul>
</blockquote>
<p>You can also use negative values to charge instead of discount:</p>
<p>Unit price: 600.00 -&gt;</p>
<blockquote>
<ul class="simple">
<li>Disc. 1 = 50% -&gt; Amount = 300.00</li>
<li>Disc. 2 = -5% -&gt; Amount = 315.00</li>
</ul>
</blockquote>
</div>
<div class="section" id="bug-tracker">
<h2><a class="toc-backref" href="#toc-entry-2">Bug Tracker</a></h2>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/account-invoicing/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/account-invoicing/issues/new?body=module:%20account_invoice_triple_discount%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h2><a class="toc-backref" href="#toc-entry-3">Credits</a></h2>
<div class="section" id="authors">
<h3><a class="toc-backref" href="#toc-entry-4">Authors</a></h3>
<ul class="simple">
<li>QubiQ</li>
<li>Tecnativa</li>
<li>GRAP</li>
</ul>
</div>
<div class="section" id="contributors">
<h3><a class="toc-backref" href="#toc-entry-5">Contributors</a></h3>
<ul class="simple">
<li>David Vidal &lt;<a class="reference external" href="mailto:david.vidal&#64;tecnativa.com">david.vidal&#64;tecnativa.com</a>&gt;</li>
<li>Pedro M. Baeza &lt;<a class="reference external" href="mailto:pedro.baeza&#64;tecnativa.com">pedro.baeza&#64;tecnativa.com</a>&gt;</li>
<li>Nikul Chaudhary &lt;<a class="reference external" href="mailto:nikulchaudhary2112&#64;gmail.com">nikulchaudhary2112&#64;gmail.com</a>&gt;</li>
<li><a class="reference external" href="https://aiontech.company/">Aion Tech</a>:<ul>
<li>Simone Rubino &lt;<a class="reference external" href="mailto:simone.rubino&#64;aion-tech.it">simone.rubino&#64;aion-tech.it</a>&gt;</li>
</ul>
</li>
<li>Laurent Mignon &lt;<a class="reference external" href="mailto:laurent.mignon&#64;acsone.eu">laurent.mignon&#64;acsone.eu</a>&gt;</li>
<li>Akim Juillerat &lt;<a class="reference external" href="mailto:akim.juillerat&#64;camptocamp.com">akim.juillerat&#64;camptocamp.com</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h3><a class="toc-backref" href="#toc-entry-6">Maintainers</a></h3>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-invoicing/tree/18.0/account_invoice_triple_discount">OCA/account-invoicing</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1,3 @@
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from . import test_invoice_triple_discount

View file

@ -0,0 +1,244 @@
# Copyright 2017 Tecnativa - David Vidal
# Copyright 2023 Simone Rubino - Aion Tech
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests import Form
from odoo.addons.base.tests.common import BaseCommon
class TestInvoiceTripleDiscount(BaseCommon):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.Account = cls.env["account.account"]
cls.AccountMove = cls.env["account.move"]
cls.AccountMoveLine = cls.env["account.move.line"]
cls.AccountTax = cls.env["account.tax"]
cls.Partner = cls.env["res.partner"]
cls.Journal = cls.env["account.journal"]
cls.tax = cls.AccountTax.create(
{
"name": "TAX 15%",
"amount_type": "percent",
"type_tax_use": "purchase",
"amount": 15.0,
"country_id": cls.env.ref("base.us").id,
}
)
cls.account = cls.Account.create(
{
"name": "Test account",
"code": "TEST",
"account_type": "asset_receivable",
"reconcile": True,
}
)
cls.sale_journal = cls.Journal.search([("type", "=", "sale")], limit=1)
def create_simple_invoice(self, amount):
invoice_form = Form(
self.AccountMove.with_context(
default_move_type="out_invoice",
default_journal_id=self.sale_journal.id,
)
)
invoice_form.partner_id = self.partner
with invoice_form.invoice_line_ids.new() as line_form:
line_form.name = "Line 1"
line_form.quantity = 1
line_form.price_unit = amount
line_form.tax_ids.clear()
line_form.tax_ids.add(self.tax)
invoice = invoice_form.save()
return invoice
def test_01_discounts(self):
"""Tests multiple discounts in line with taxes"""
invoice = self.create_simple_invoice(200)
invoice_form = Form(invoice)
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount1 = 50.0
invoice_form.save()
invoice_line = invoice.invoice_line_ids[0]
# Adds a first discount
self.assertEqual(invoice.amount_total, 115.0)
# Adds a second discount over the price calculated before
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount2 = 40.0
invoice_form.save()
self.assertEqual(invoice.amount_total, 69.0)
# Adds a third discount over the price calculated before
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount3 = 50.0
invoice_form.save()
self.assertEqual(invoice.amount_total, 34.5)
# Deletes first discount
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount1 = 0
invoice_form.save()
self.assertEqual(invoice.amount_total, 69)
# Charge 5% over price:
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount1 = -5
invoice_form.save()
self.assertEqual(invoice.amount_total, 72.45)
self.assertEqual(invoice_line.price_unit, 200)
def test_02_discounts_multiple_lines(self):
invoice = self.create_simple_invoice(200)
invoice_form = Form(invoice)
with invoice_form.invoice_line_ids.new() as line_form:
line_form.name = "Line 2"
line_form.quantity = 1
line_form.price_unit = 500
line_form.tax_ids.clear()
invoice_form.save()
invoice_line2 = invoice.invoice_line_ids[1]
self.assertEqual(invoice_line2.price_subtotal, 500.0)
with invoice_form.invoice_line_ids.edit(1) as line_form:
line_form.discount3 = 50.0
invoice_form.save()
self.assertEqual(invoice.amount_total, 480.0)
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount1 = 50.0
invoice_form.save()
self.assertEqual(invoice.amount_total, 365.0)
def test_03_discounts_decimals_price(self):
"""
Tests discount with decimals price
causing a round up after discount
"""
invoice = self.create_simple_invoice(0)
invoice_form = Form(invoice)
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.name = "Line Decimals"
line_form.quantity = 9950
line_form.price_unit = 0.14
line_form.tax_ids.clear()
invoice_form.save()
invoice_line1 = invoice.invoice_line_ids[0]
self.assertEqual(invoice_line1.price_subtotal, 1393.0)
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount1 = 15.0
invoice_form.save()
self.assertEqual(invoice_line1.price_subtotal, 1184.05)
def test_04_discounts_decimals_tax(self):
"""
Tests amount tax with discount
"""
invoice = self.create_simple_invoice(0)
invoice_form = Form(invoice)
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.name = "Line Decimals"
line_form.quantity = 9950
line_form.price_unit = 0.14
line_form.discount1 = 0
line_form.discount2 = 0
invoice_form.save()
self.assertEqual(invoice.amount_tax, 208.95)
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.discount1 = 15.0
invoice_form.save()
def test_06_round_discount(self):
"""Discount value is rounded correctly"""
invoice = self.create_simple_invoice(0)
invoice_line = invoice.invoice_line_ids[0]
invoice_line.discount1 = 100
self.assertEqual(invoice_line.discount1, 100)
self.assertEqual(invoice_line.discount, 100)
def test_07_round_tax_discount(self):
"""Discount value is rounded correctly when taxes change"""
invoice = self.create_simple_invoice(0)
invoice_line = invoice.invoice_line_ids[0]
invoice_line.discount1 = 100
invoice_line.tax_ids = False
self.assertEqual(invoice_line.discount1, 100)
self.assertEqual(invoice_line.discount, 100)
def test_09_create_with_main_discount(self):
"""
Tests if creating a invoice line with main discount field
set correctly discount1, discount2 and discount3
"""
invoice = self.create_simple_invoice(0)
invoice_line2 = self.AccountMoveLine.create(
{
"move_id": invoice.id,
"name": "Line With Main Discount",
"quantity": 1,
"price_unit": 1000,
"discount": 10,
"tax_ids": [],
}
)
# 1000 * 0.9
self.assertEqual(invoice_line2.price_subtotal, 900.0)
self.assertEqual(invoice_line2.discount1, 10.0)
self.assertEqual(invoice_line2.discount2, 0.0)
self.assertEqual(invoice_line2.discount3, 0.0)
def test_10_create_invoice_with_discounts(self):
invoice = self.env["account.move"].create(
{
"partner_id": self.partner.id,
"move_type": "out_invoice",
"invoice_line_ids": [
(
0,
0,
{
"name": "Line 1",
"quantity": 1,
"price_unit": 100,
"discount1": 30,
"discount2": 20,
"discount3": 10,
},
)
],
}
)
invoice_line1 = invoice.invoice_line_ids[0]
self.assertEqual(invoice_line1.discount1, 30.0)
self.assertEqual(invoice_line1.discount2, 20.0)
self.assertEqual(invoice_line1.discount3, 10.0)
def test_tax_compute_with_lock_date(self):
# Check that the tax computation works even if the lock date is set
invoice = self.create_simple_invoice(0)
invoice_form = Form(invoice)
with invoice_form.invoice_line_ids.edit(0) as line_form:
line_form.name = "Line Decimals"
line_form.quantity = 9950
line_form.price_unit = 0.14
line_form.discount1 = 10
line_form.discount2 = 20
invoice_form.save()
invoice.action_post()
self.env.user.company_id.fiscalyear_lock_date = "2000-01-01"

View file

@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8" ?>
<odoo>
<record id="invoice_triple_discount_form_view" model="ir.ui.view">
<field name="name">account.invoice.triple.discount.form</field>
<field name="model">account.move</field>
<field name="inherit_id" ref="account.view_move_form" />
<field name="arch" type="xml">
<xpath
expr="//field[@name='invoice_line_ids']//list//field[@name='discount']"
position="attributes"
>
<attribute name="optional">hide</attribute>
<attribute name="string">Total discount</attribute>
</xpath>
<xpath
expr="//field[@name='invoice_line_ids']//list//field[@name='discount']"
position="after"
>
<field name="discount1" optional="show" string="Disc.1%" />
<field name="discount2" optional="show" string="Disc.2%" />
<field name="discount3" optional="show" string="Disc.3%" />
</xpath>
<xpath
expr="//field[@name='invoice_line_ids']//form//field[@name='discount']"
position="attributes"
>
<attribute name="string">Total discount</attribute>
</xpath>
<xpath
expr="//field[@name='invoice_line_ids']//form//field[@name='discount']"
position="after"
>
<field name="discount1" string="Disc.1%" />
<field name="discount2" string="Disc.2%" />
<field name="discount3" string="Disc.3%" />
</xpath>
</field>
</record>
</odoo>

52
check_addon.sh Executable file
View file

@ -0,0 +1,52 @@
#!/bin/bash
# Script para verificar rápidamente un addon específico
set -e
if [ -z "$1" ]; then
echo "Uso: $0 <nombre_addon>"
echo "Ejemplo: $0 account_invoice_triple_discount"
exit 1
fi
ADDON_NAME=$1
ADDON_PATH="./$ADDON_NAME"
if [ ! -d "$ADDON_PATH" ]; then
echo "Error: El addon '$ADDON_NAME' no existe en este directorio"
exit 1
fi
if [ ! -f "$ADDON_PATH/__manifest__.py" ] && [ ! -f "$ADDON_PATH/__openerp__.py" ]; then
echo "Error: '$ADDON_NAME' no parece ser un addon válido de Odoo"
exit 1
fi
echo "=========================================="
echo "Verificando addon: $ADDON_NAME"
echo "=========================================="
echo ""
echo "1. Ejecutando black..."
black --check "$ADDON_PATH" || (echo "❌ Black encontró problemas de formato" && black "$ADDON_PATH" && echo "✅ Formateado con black")
echo ""
echo "2. Ejecutando isort..."
isort --check-only "$ADDON_PATH" || (echo "❌ isort encontró problemas" && isort "$ADDON_PATH" && echo "✅ Imports ordenados con isort")
echo ""
echo "3. Ejecutando flake8..."
flake8 "$ADDON_PATH" && echo "✅ flake8 pasó correctamente" || echo "❌ flake8 encontró problemas"
echo ""
echo "4. Ejecutando pylint (checks mandatorios)..."
pylint --rcfile=.pylintrc-mandatory "$ADDON_PATH" && echo "✅ pylint mandatorio pasó correctamente" || echo "❌ pylint mandatorio encontró problemas"
echo ""
echo "5. Ejecutando pylint (checks opcionales)..."
pylint --rcfile=.pylintrc --exit-zero "$ADDON_PATH"
echo ""
echo "=========================================="
echo "Verificación completa de $ADDON_NAME"
echo "=========================================="

4
oca_dependencies.txt Normal file
View file

@ -0,0 +1,4 @@
account-invoicing
product-attribute
purchase-workflow
sale-workflow

View file

@ -0,0 +1,90 @@
========================
Product Get Price Helper
========================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:5fb33150c2c1ee21fd7bc337113f150dccba97ee06c9dfd5a01d2f17ce567509
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github
:target: https://github.com/OCA/product-attribute/tree/18.0/product_get_price_helper
:alt: OCA/product-attribute
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/product-attribute-18-0/product-attribute-18-0-product_get_price_helper
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&target_branch=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
Adds a helper function \_get_price() on product.product to compute the
product price based on pricelist, fiscal position, company and date.
The method returns a dict such as:
.. code:: python
{
"value": 600.0,
"tax_included": True,
"discount": 20.0,
"original_value": 750.0,
}
**Table of contents**
.. contents::
:local:
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/product-attribute/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/product-attribute/issues/new?body=module:%20product_get_price_helper%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
-------
* ACSONE SA/NV
Contributors
------------
- Sébastien BEAU <sebastien.beau@akretion.com>
- Simone Orsi <simahawk@gmail.com>
- Quentin Groulard <quentin.groulard@acsone.eu>
Maintainers
-----------
This module is maintained by the OCA.
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
This module is part of the `OCA/product-attribute <https://github.com/OCA/product-attribute/tree/18.0/product_get_price_helper>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View file

@ -0,0 +1 @@
from . import models

View file

@ -0,0 +1,15 @@
# Copyright 2023 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Product Get Price Helper",
"summary": """
This module provides a helper function to compute product prices.""",
"version": "18.0.1.1.0",
"license": "AGPL-3",
"author": "ACSONE SA/NV,Odoo Community Association (OCA)",
"website": "https://github.com/OCA/product-attribute",
"depends": ["account", "product"],
"data": [],
"demo": ["demo/account.xml", "demo/pricelist.xml"],
}

View file

@ -0,0 +1,36 @@
<?xml version="1.0" encoding="UTF-8" ?>
<odoo>
<record id="tax_1" model="account.tax">
<field name="name">Tax inc demo</field>
<field eval="15" name="amount" />
<field name="amount_type">percent</field>
<field name="type_tax_use">sale</field>
<field eval="1" name="price_include" />
</record>
<record id="tax_2" model="account.tax">
<field name="name">Tax exc demo</field>
<field eval="15" name="amount" />
<field name="amount_type">percent</field>
<field name="type_tax_use">sale</field>
</record>
<record id="fiscal_position_0" model="account.fiscal.position">
<field name="name">Default</field>
<field eval="1" name="auto_apply" />
<field name="country_id" ref="base.fr" />
</record>
<record id="fiscal_position_1" model="account.fiscal.position">
<field name="name">Business</field>
<field eval="1" name="auto_apply" />
<field eval="1" name="vat_required" />
<field name="country_id" ref="base.fr" />
</record>
<record id="position_tax_1" model="account.fiscal.position.tax">
<field name="position_id" ref="fiscal_position_1" />
<field name="tax_src_id" ref="tax_1" />
<field name="tax_dest_id" ref="tax_2" />
</record>
</odoo>

View file

@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!-- pylint:disable=xml-duplicate-record-id -->
<odoo>
<record id="pricelist_1" model="product.pricelist">
<field name="name">Business Pricelist</field>
<field name="currency_id" ref="base.USD" />
</record>
<record id="item_1" model="product.pricelist.item">
<field name="base">list_price</field>
<field name="percent_price" eval="20" />
<field name="name">Default Business Pricelist Line</field>
<field name="pricelist_id" ref="pricelist_1" />
<field name="compute_price">percentage</field>
</record>
<!--
FORCE ONLY ONE ITEM ON THE PRICE LIST
When a price list is created, odoo assign a default price list item/
To be sure that only our new item is assigned to the price list
we reassign the item_ids....
-->
<record id="pricelist_1" model="product.pricelist">
<field
name="item_ids"
eval="[Command.set(ref('product_get_price_helper.item_1'))]"
/>
</record>
</odoo>

View file

@ -0,0 +1,47 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_get_price_helper
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2025-03-24 10:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.10.2\n"
#. module: product_get_price_helper
#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_1
msgid "Business"
msgstr "Impresa"
#. module: product_get_price_helper
#: model:product.pricelist,name:product_get_price_helper.pricelist_1
msgid "Business Pricelist"
msgstr "Listino commerciale"
#. module: product_get_price_helper
#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_0
msgid "Default"
msgstr "Predefinito"
#. module: product_get_price_helper
#: model:ir.model,name:product_get_price_helper.model_product_product
msgid "Product Variant"
msgstr "Variante prodotto"
#. module: product_get_price_helper
#: model:account.tax,name:product_get_price_helper.tax_2
msgid "Tax exc demo"
msgstr "Demo imposta esclusa"
#. module: product_get_price_helper
#: model:account.tax,name:product_get_price_helper.tax_1
msgid "Tax inc demo"
msgstr "Demo imposta inclusa"

View file

@ -0,0 +1,44 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_get_price_helper
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: product_get_price_helper
#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_1
msgid "Business"
msgstr ""
#. module: product_get_price_helper
#: model:product.pricelist,name:product_get_price_helper.pricelist_1
msgid "Business Pricelist"
msgstr ""
#. module: product_get_price_helper
#: model:account.fiscal.position,name:product_get_price_helper.fiscal_position_0
msgid "Default"
msgstr ""
#. module: product_get_price_helper
#: model:ir.model,name:product_get_price_helper.model_product_product
msgid "Product Variant"
msgstr ""
#. module: product_get_price_helper
#: model:account.tax,name:product_get_price_helper.tax_2
msgid "Tax exc demo"
msgstr ""
#. module: product_get_price_helper
#: model:account.tax,name:product_get_price_helper.tax_1
msgid "Tax inc demo"
msgstr ""

View file

@ -0,0 +1 @@
from . import product_product

View file

@ -0,0 +1,120 @@
# Copyright 2017 Akretion (http://www.akretion.com).
# @author Sébastien BEAU <sebastien.beau@akretion.com>
# Copyright 2021 Camptocamp (http://www.camptocamp.com).
# @author Simone Orsi <simahawk@gmail.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import models
from odoo.tools import float_compare
from odoo.tools import float_is_zero
from ..utils import float_round
class ProductProduct(models.Model):
_inherit = "product.product"
def _get_price(
self,
qty=1.0,
pricelist=None,
fposition=None,
company=None,
date=None,
price_unit=None,
):
"""Computes the product prices
:param qty: The product quantity, used to apply pricelist rules.
:param pricelist: Optional. Get prices for a specific pricelist.
:param fposition: Optional. Apply fiscal position to product taxes.
:param company: Optional.
:param date: Optional.
:returns: dict with the following keys:
<value> The product unitary price
<tax_included> True if product taxes are included in <price>.
If the pricelist.discount_policy is "without_discount":
<original_value> The original price (before pricelist is applied).
<discount> The discounted percentage.
"""
self.ensure_one()
AccountTax = self.env["account.tax"]
# Apply company
product = self.with_company(company) if company else self
company = company or self.env.company
# Always filter taxes by the company
taxes = product.taxes_id.filtered(lambda tax: tax.company_id == company)
# Apply fiscal position
taxes = fposition.map_tax(taxes) if fposition else taxes
# Set context. Some of the methods used here depend on these values
product_context = dict(
self.env.context,
quantity=qty,
pricelist=pricelist.id if pricelist else None,
fiscal_position=fposition,
date=date,
)
product = product.with_context(**product_context)
pricelist = pricelist.with_context(**product_context) if pricelist else None
if price_unit is None:
price_unit = (
pricelist._get_product_price(product, qty, date=date)
if pricelist
else product.lst_price
)
price_unit = AccountTax._fix_tax_included_price_company(
price_unit, product.taxes_id, taxes, company
)
price_dp = self.env["decimal.precision"].precision_get("Product Price")
price_unit = float_round(price_unit, price_dp)
res = {
"value": price_unit,
"tax_included": any(tax.price_include for tax in taxes),
# Default values in case price.discount_policy != "without_discount"
"original_value": price_unit,
"discount": 0.0,
}
if pricelist:
rule_id = pricelist._get_product_rule(product, qty, date=date)
pl_item = self.env["product.pricelist.item"].browse(rule_id)
if not pl_item.exists():
return res
original_price_unit = product.lst_price
if not pl_item._show_discount():
# If the pricelist does not show the discount, we return the price as is
if float_is_zero(original_price_unit, precision_digits=price_dp):
res["original_value"] = 0.0
return res
# Get the price rule
price_unit, _ = pricelist._get_product_price_rule(product, qty, date=date)
# Get the price before applying the pricelist
price_dp = self.env["decimal.precision"].precision_get("Product Price")
# Compute discount
if not float_is_zero(
original_price_unit, precision_digits=price_dp
) and float_compare(
original_price_unit, price_unit, precision_digits=price_dp
):
discount = (
(original_price_unit - price_unit) / original_price_unit * 100
)
# Apply the right precision on discount
discount_dp = self.env["decimal.precision"].precision_get("Discount")
discount = float_round(discount, discount_dp)
else:
discount = 0.00
# Compute prices
original_price_unit = AccountTax._fix_tax_included_price_company(
original_price_unit, product.taxes_id, taxes, company
)
original_price_unit = float_round(original_price_unit, price_dp)
res.update(
{
"original_value": original_price_unit,
"discount": discount,
}
)
return res

View file

@ -0,0 +1,3 @@
[build-system]
requires = ["whool"]
build-backend = "whool.buildapi"

View file

@ -0,0 +1,3 @@
- Sébastien BEAU \<<sebastien.beau@akretion.com>\>
- Simone Orsi \<<simahawk@gmail.com>\>
- Quentin Groulard \<<quentin.groulard@acsone.eu>\>

View file

@ -0,0 +1,13 @@
Adds a helper function \_get_price() on product.product to compute the
product price based on pricelist, fiscal position, company and date.
The method returns a dict such as:
``` python
{
"value": 600.0,
"tax_included": True,
"discount": 20.0,
"original_value": 750.0,
}
```

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,435 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="generator" content="Docutils: https://docutils.sourceforge.io/" />
<title>Product Get Price Helper</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="product-get-price-helper">
<h1 class="title">Product Get Price Helper</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:5fb33150c2c1ee21fd7bc337113f150dccba97ee06c9dfd5a01d2f17ce567509
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/product-attribute/tree/18.0/product_get_price_helper"><img alt="OCA/product-attribute" src="https://img.shields.io/badge/github-OCA%2Fproduct--attribute-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/product-attribute-18-0/product-attribute-18-0-product_get_price_helper"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/product-attribute&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>Adds a helper function _get_price() on product.product to compute the
product price based on pricelist, fiscal position, company and date.</p>
<p>The method returns a dict such as:</p>
<pre class="code python literal-block">
<span class="p">{</span><span class="w">
</span> <span class="s2">&quot;value&quot;</span><span class="p">:</span> <span class="mf">600.0</span><span class="p">,</span><span class="w">
</span> <span class="s2">&quot;tax_included&quot;</span><span class="p">:</span> <span class="kc">True</span><span class="p">,</span><span class="w">
</span> <span class="s2">&quot;discount&quot;</span><span class="p">:</span> <span class="mf">20.0</span><span class="p">,</span><span class="w">
</span> <span class="s2">&quot;original_value&quot;</span><span class="p">:</span> <span class="mf">750.0</span><span class="p">,</span><span class="w">
</span><span class="p">}</span>
</pre>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-1">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-2">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-3">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-4">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-5">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-1">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/product-attribute/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/product-attribute/issues/new?body=module:%20product_get_price_helper%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-2">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-3">Authors</a></h2>
<ul class="simple">
<li>ACSONE SA/NV</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-4">Contributors</a></h2>
<ul class="simple">
<li>Sébastien BEAU &lt;<a class="reference external" href="mailto:sebastien.beau&#64;akretion.com">sebastien.beau&#64;akretion.com</a>&gt;</li>
<li>Simone Orsi &lt;<a class="reference external" href="mailto:simahawk&#64;gmail.com">simahawk&#64;gmail.com</a>&gt;</li>
<li>Quentin Groulard &lt;<a class="reference external" href="mailto:quentin.groulard&#64;acsone.eu">quentin.groulard&#64;acsone.eu</a>&gt;</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-5">Maintainers</a></h2>
<p>This module is maintained by the OCA.</p>
<a class="reference external image-reference" href="https://odoo-community.org">
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" />
</a>
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.</p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/product-attribute/tree/18.0/product_get_price_helper">OCA/product-attribute</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View file

@ -0,0 +1 @@
from . import test_product

View file

@ -0,0 +1,275 @@
# Copyright 2017 Akretion (http://www.akretion.com).
# @author Benoît GUILLOT <benoit.guillot@akretion.com>
# Copyright 2025 Camptocamp (http://www.camptocamp.com).
# @author Simone Orsi <simone.orsi@camptocamp.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from unittest import mock
from odoo.tests import TransactionCase
class ProductCase(TransactionCase):
@classmethod
def setUpClass(cls):
super().setUpClass()
cls.template = cls.env.ref("product.product_product_4_product_template")
cls.variant = cls.env.ref("product.product_product_4b")
cls.template.taxes_id = cls.env.ref("product_get_price_helper.tax_1")
cls.env.user.company_id.currency_id = cls.env.ref("base.USD")
cls.base_pricelist = cls.env["product.pricelist"].create(
{"name": "Base Pricelist", "currency_id": cls.env.ref("base.USD").id}
)
cls.base_pricelist.currency_id = cls.env.ref("base.USD")
cls.variant.currency_id = cls.env.ref("base.USD")
def test_product_simple_get_price(self):
self.variant.taxes_id.price_include = True
self.assertEqual(
self.variant._get_price(),
{
"discount": 0.0,
"original_value": 750.0,
"tax_included": True,
"value": 750.0,
},
)
self.variant.taxes_id.price_include = False
self.assertEqual(
self.variant._get_price(),
{
"discount": 0.0,
"original_value": 750.0,
"tax_included": False,
"value": 750.0,
},
)
def test_product_price_rounding(self):
# Odony example: https://gist.github.com/odony/5269a695545902e7e23e761e20a9ec8c
self.env["product.pricelist.item"].create(
{
"pricelist_id": self.base_pricelist.id,
"product_id": self.variant.id,
"base": "list_price",
"applied_on": "0_product_variant",
"compute_price": "percentage",
"percent_price": 50,
}
)
self.variant.list_price = 423.4
self.assertEqual(
self.variant._get_price(pricelist=self.base_pricelist)["value"], 211.70
)
def test_product_get_price(self):
# self.base_pricelist doesn't define a tax mapping. We are tax included
fiscal_position_fr = self.env.ref("product_get_price_helper.fiscal_position_0")
self.variant.taxes_id.price_include = True
price = self.variant._get_price(
pricelist=self.base_pricelist, fposition=fiscal_position_fr
)
self.assertDictEqual(
price,
{
"discount": 0.0,
"original_value": 750.0,
"tax_included": True,
"value": 750.0,
},
)
# promotion price list define a discount of 20% on all product
promotion_price_list = self.env.ref("product_get_price_helper.pricelist_1")
price = self.variant._get_price(
pricelist=promotion_price_list, fposition=fiscal_position_fr
)
self.assertDictEqual(
price,
{
"discount": 0.0,
"original_value": 600.0,
"tax_included": True,
"value": 600.0,
},
)
# use a fiscal position defining a mapping from tax included to tax
# excluded
tax_exclude_fiscal_position = self.env.ref(
"product_get_price_helper.fiscal_position_1"
)
price = self.variant._get_price(
pricelist=self.base_pricelist, fposition=tax_exclude_fiscal_position
)
self.assertDictEqual(
price,
{
"discount": 0.0,
"original_value": 652.17,
"tax_included": False,
"value": 652.17,
},
)
price = self.variant._get_price(
pricelist=promotion_price_list, fposition=tax_exclude_fiscal_position
)
self.assertDictEqual(
price,
{
"discount": 0.0,
"original_value": 521.74,
"tax_included": False,
"value": 521.74,
},
)
def test_product_get_price_zero(self):
# Test that discount calculation does not fail if original price is 0
self.variant.list_price = 0
self.env["product.pricelist.item"].create(
{
"product_id": self.variant.id,
"pricelist_id": self.base_pricelist.id,
"fixed_price": 10,
}
)
fiscal_position_fr = self.env.ref("product_get_price_helper.fiscal_position_0")
self.variant.taxes_id.price_include = True
price = self.variant.with_context(foo=1)._get_price(
pricelist=self.base_pricelist, fposition=fiscal_position_fr
)
self.assertDictEqual(
price,
{
"discount": 0.0,
"original_value": 0.0,
"tax_included": True,
"value": 10.0,
},
)
# FIXME v18 we cannot use `_show_discount` method
# because it relies on `sale.group_discount_per_so_line` from sale module.
# See https://github.com/odoo/odoo/issues/202035
# The test should be updated when the issue is fixed to use
# self.env.user.groups_id |= self.env.ref("sale.group_discount_per_so_line")
@mock.patch(
"odoo.addons.product.models.product_pricelist_item.PricelistItem._show_discount"
)
def test_product_get_price_per_qty(self, show_discount):
show_discount.return_value = False
self.variant.taxes_id.price_include = True
# Define a promotion price for the product with min_qty = 10
fposition = self.env.ref("product_get_price_helper.fiscal_position_0")
pricelist = self.base_pricelist
self.env["product.pricelist.item"].create(
{
"name": "Discount on Product when Qty >= 10",
"pricelist_id": pricelist.id,
"base": "list_price",
"compute_price": "percentage",
"percent_price": "20",
"applied_on": "0_product_variant",
"product_id": self.variant.id,
"min_quantity": 10.0,
}
)
# Case 1 (qty = 1.0). No discount is applied
price = self.variant._get_price(
qty=1.0, pricelist=pricelist, fposition=fposition
)
self.assertDictEqual(
price,
{
"discount": 0.0,
"original_value": 750.0,
"tax_included": True,
"value": 750.0,
},
)
# Case 2 (qty = 10.0). Discount is applied
# promotion price list define a discount of 20% on all product
price = self.variant._get_price(
qty=10.0, pricelist=pricelist, fposition=fposition
)
self.assertDictEqual(
price,
{
"discount": 0.0,
"original_value": 600.0,
"tax_included": True,
"value": 600.0,
},
)
@mock.patch(
"odoo.addons.product.models.product_pricelist_item.PricelistItem._show_discount"
)
def test_product_get_price_discount_policy(self, show_discount):
self.variant.taxes_id.price_include = True
show_discount.return_value = False
# Ensure that discount is with 2 digits
self.env.ref("product.decimal_discount").digits = 2
# self.base_pricelist doesn't define a tax mapping. We are tax included
# Discount policy: do not show the discount.
fiscal_position_fr = self.env.ref("product_get_price_helper.fiscal_position_0")
price = self.variant._get_price(
pricelist=self.base_pricelist, fposition=fiscal_position_fr
)
self.assertDictEqual(
price,
{
"tax_included": True,
"value": 750.0,
"discount": 0.0,
"original_value": 750.0,
},
)
# promotion price list define a discount of 20% on all product
# Discount policy: show the discount.
show_discount.return_value = True
promotion_price_list = self.env.ref("product_get_price_helper.pricelist_1")
price = self.variant._get_price(
pricelist=promotion_price_list, fposition=fiscal_position_fr
)
self.assertDictEqual(
price,
{
"tax_included": True,
"value": 600.0,
"discount": 20.0,
"original_value": 750.0,
},
)
# use the fiscal position defining a mapping from tax included to tax
# excluded
# Tax mapping should not impact the computation of the discount and
# the original value
tax_exclude_fiscal_position = self.env.ref(
"product_get_price_helper.fiscal_position_1"
)
show_discount.return_value = False
price = self.variant._get_price(
pricelist=self.base_pricelist, fposition=tax_exclude_fiscal_position
)
self.assertDictEqual(
price,
{
"tax_included": False,
"value": 652.17,
"discount": 0.0,
"original_value": 652.17,
},
)
show_discount.return_value = True
price = self.variant._get_price(
pricelist=promotion_price_list, fposition=tax_exclude_fiscal_position
)
self.assertDictEqual(
price,
{
"tax_included": False,
"value": 521.74,
"discount": 20.0,
"original_value": 652.17,
},
)

View file

@ -0,0 +1,13 @@
# Copyright 2021 Camptocamp (http://www.camptocamp.com).
# @author Simone Orsi <simahawk@gmail.com>
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tools import float_repr
def float_round(value, dp):
# be carefull odoo rounding implementation do not return the shortest
# representation of a float this mean if the price_unit is 211.70
# you will have 211.70000000000002
# Odony exemple: https://gist.github.com/odony/5269a695545902e7e23e761e20a9ec8c
return float(float_repr(value, dp))

View file

@ -0,0 +1,69 @@
.. image:: https://img.shields.io/badge/licence-AGPL--3-blue.svg
:target: http://www.gnu.org/licenses/agpl
:alt: License: AGPL-3
======================
Product Price Category
======================
This module adds a field Price Category on Product Template
and allow Pricelist to be applied on this field.
Usage
=====
In Pricelist Form (Sales -> Configuration -> Pricelist), you can add or modify
an item ("Manage Pricelist Items" access should be checked in the user settings)
and select "Price Category" in "Applied on".
Then you have to choose on which price category should it be applied.
.. image:: static/pricelist_price_category.png
Product price category can be modified in product form -> General Information.
.. image:: static/product_price_category.png
.. image:: https://odoo-community.org/website/image/ir.attachment/5784_f2813bd/datas
:alt: Try me on Runbot
:target: https://runbot.odoo-community.org/runbot/167/10.0
Bug Tracker
===========
Bugs are tracked on `GitHub Issues
<https://github.com/OCA/sale-workflow/issues>`_. In case of trouble, please
check there if your issue has already been reported. If you spotted it first,
help us smash it by providing detailed and welcomed feedback.
Credits
=======
Images
------
* Odoo Community Association: `Icon <https://github.com/OCA/maintainer-tools/blob/master/template/module/static/description/icon.svg>`_.
Contributors
------------
* Cyril Gaudin <cyril.gaudin@camptocamp.com>
* Akim Juillerat <akim.juillerat@camptocamp.com>
Do not contact contributors directly about support or help with technical issues.
Maintainer
----------
.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.
To contribute to this module, please visit https://odoo-community.org.

View file

@ -0,0 +1 @@
from . import models

View file

@ -0,0 +1,22 @@
# Copyright 2016 Camptocamp SA
# Copyright 2023 ACSONE SA/NV
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Product Price Category",
"summary": "Add Price Category field on product and allow to apply "
"a pricelist on this field.",
"version": "18.0.1.0.0",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"license": "AGPL-3",
"category": "Product",
"depends": ["sale_stock"],
"website": "https://github.com/OCA/sale-workflow",
"data": [
"security/ir.model.access.csv",
"views/product_pricelist.xml",
"views/product_template.xml",
],
"maintainers": ["sbejaoui"],
"installable": True,
}

View file

@ -0,0 +1,111 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * product_price_category
#
# Translators:
# OCA Transbot <transbot@odoo-community.org>, 2018
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 10.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-01-27 03:52+0000\n"
"PO-Revision-Date: 2018-01-27 03:52+0000\n"
"Last-Translator: OCA Transbot <transbot@odoo-community.org>, 2018\n"
"Language-Team: Amharic (https://www.transifex.com/oca/teams/23907/am/)\n"
"Language: am\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=(n > 1);\n"
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__applied_on
msgid "Apply On"
msgstr ""
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__create_date
msgid "Created on"
msgstr "Creado en"
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__display_name
msgid "Display Name"
msgstr ""
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__id
msgid "ID"
msgstr "ID"
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category____last_update
msgid "Last Modified on"
msgstr ""
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__write_date
msgid "Last Updated on"
msgstr "Última actualización en"
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_price_category__name
msgid "Name"
msgstr ""
#. module: product_price_category
#: model:ir.model.fields,field_description:product_price_category.field_product_pricelist_item__price_category_id
#: model:ir.model.fields,field_description:product_price_category.field_product_product__price_category_id
#: model:ir.model.fields,field_description:product_price_category.field_product_template__price_category_id
#: model:ir.model.fields.selection,name:product_price_category.selection__product_pricelist_item__applied_on__2b_product_price_category
msgid "Price Category"
msgstr ""
#. module: product_price_category
#. odoo-python
#: code:addons/product_price_category/models/product_pricelist_item.py:0
#, python-format
msgid "Price Category: %s"
msgstr ""
#. module: product_price_category
#: model:ir.model,name:product_price_category.model_product_pricelist
msgid "Pricelist"
msgstr ""
#. module: product_price_category
#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__applied_on
msgid "Pricelist Item applicable on selected option"
msgstr ""
#. module: product_price_category
#: model:ir.model,name:product_price_category.model_product_pricelist_item
msgid "Pricelist Rule"
msgstr ""
#. module: product_price_category
#: model:ir.model,name:product_price_category.model_product_template
msgid "Product"
msgstr ""
#. module: product_price_category
#: model:ir.model,name:product_price_category.model_product_price_category
msgid "Product Price Category"
msgstr ""
#. module: product_price_category
#: model:ir.model.fields,help:product_price_category.field_product_pricelist_item__price_category_id
msgid ""
"Specify a product price category if this rule only applies to one price "
"category. Keep empty otherwise."
msgstr ""

Some files were not shown because too many files have changed in this diff Show more