Initial commit: OCA Workflow Process packages (456 packages)

This commit is contained in:
Ernad Husremovic 2025-08-29 15:43:00 +02:00
commit d366e42934
18799 changed files with 1284507 additions and 0 deletions

View file

@ -0,0 +1,47 @@
# Sale Invoice Frequency
Odoo addon: sale_invoice_frequency
## Installation
```bash
pip install odoo-bringout-oca-sale-workflow-sale_invoice_frequency
```
## Dependencies
This addon depends on:
- sale
- account
## Manifest Information
- **Name**: Sale Invoice Frequency
- **Version**: 16.0.1.2.1
- **Category**: Sales/Sales
- **License**: AGPL-3
- **Installable**: True
## Source
Based on [OCA/sale-workflow](https://github.com/OCA/sale-workflow) branch 16.0, addon `sale_invoice_frequency`.
## License
This package maintains the original AGPL-3 license from the upstream Odoo project.
## Documentation
- Overview: doc/OVERVIEW.md
- Architecture: doc/ARCHITECTURE.md
- Models: doc/MODELS.md
- Controllers: doc/CONTROLLERS.md
- Wizards: doc/WIZARDS.md
- Reports: doc/REPORTS.md
- Security: doc/SECURITY.md
- Install: doc/INSTALL.md
- Usage: doc/USAGE.md
- Configuration: doc/CONFIGURATION.md
- Dependencies: doc/DEPENDENCIES.md
- Troubleshooting: doc/TROUBLESHOOTING.md
- FAQ: doc/FAQ.md

View file

@ -0,0 +1,32 @@
# Architecture
```mermaid
flowchart TD
U[Users] -->|HTTP| V[Views and QWeb Templates]
V --> C[Controllers]
V --> W[Wizards Transient Models]
C --> M[Models and ORM]
W --> M
M --> R[Reports]
DX[Data XML] --> M
S[Security ACLs and Groups] -. enforces .-> M
subgraph Sale_invoice_frequency Module - sale_invoice_frequency
direction LR
M:::layer
W:::layer
C:::layer
V:::layer
R:::layer
S:::layer
DX:::layer
end
classDef layer fill:#eef8ff,stroke:#6ea8fe,stroke-width:1px
```
Notes
- Views include tree/form/kanban templates and report templates.
- Controllers provide website/portal routes when present.
- Wizards are UI flows implemented with `models.TransientModel`.
- Data XML loads data/demo records; Security defines groups and access.

View file

@ -0,0 +1,3 @@
# Configuration
Refer to Odoo settings for sale_invoice_frequency. Configure related models, access rights, and options as needed.

View file

@ -0,0 +1,3 @@
# Controllers
This module does not define custom HTTP controllers.

View file

@ -0,0 +1,6 @@
# Dependencies
This addon depends on:
- [sale](../../odoo-bringout-oca-ocb-sale)
- [account](../../odoo-bringout-oca-ocb-account)

View file

@ -0,0 +1,4 @@
# FAQ
- Q: Which Odoo version? A: 16.0 (OCA/OCB packaged).
- Q: How to enable? A: Start server with --addon sale_invoice_frequency or install in UI.

View file

@ -0,0 +1,7 @@
# Install
```bash
pip install odoo-bringout-oca-sale-workflow-sale_invoice_frequency"
# or
uv pip install odoo-bringout-oca-sale-workflow-sale_invoice_frequency"
```

View file

@ -0,0 +1,14 @@
# Models
Detected core models and extensions in sale_invoice_frequency.
```mermaid
classDiagram
class sale_invoice_frequency
class res_partner
class sale_order
```
Notes
- Classes show model technical names; fields omitted for brevity.
- Items listed under _inherit are extensions of existing models.

View file

@ -0,0 +1,6 @@
# Overview
Packaged Odoo addon: sale_invoice_frequency. Provides features documented in upstream Odoo 16 under this addon.
- Source: OCA/OCB 16.0, addon sale_invoice_frequency
- License: LGPL-3

View file

@ -0,0 +1,3 @@
# Reports
This module does not define custom reports.

View file

@ -0,0 +1,34 @@
# Security
Access control and security definitions in sale_invoice_frequency.
## Access Control Lists (ACLs)
Model access permissions defined in:
- **[ir.model.access.csv](../sale_invoice_frequency/security/ir.model.access.csv)**
- 2 model access rules
## Record Rules
Row-level security rules defined in:
```mermaid
graph TB
subgraph "Security Layers"
A[Users] --> B[Groups]
B --> C[Access Control Lists]
C --> D[Models]
B --> E[Record Rules]
E --> F[Individual Records]
end
```
Security files overview:
- **[ir.model.access.csv](../sale_invoice_frequency/security/ir.model.access.csv)**
- Model access permissions (CRUD rights)
Notes
- Access Control Lists define which groups can access which models
- Record Rules provide row-level security (filter records by user/group)
- Security groups organize users and define permission sets
- All security is enforced at the ORM level by Odoo

View file

@ -0,0 +1,5 @@
# Troubleshooting
- Ensure Python and Odoo environment matches repo guidance.
- Check database connectivity and logs if startup fails.
- Validate that dependent addons listed in DEPENDENCIES.md are installed.

View file

@ -0,0 +1,7 @@
# Usage
Start Odoo including this addon (from repo root):
```bash
python3 scripts/nix_odoo_web_server.py --db-name mydb --addon sale_invoice_frequency
```

View file

@ -0,0 +1,3 @@
# Wizards
This module does not include UI wizards.

View file

@ -0,0 +1,43 @@
[project]
name = "odoo-bringout-oca-sale-workflow-sale_invoice_frequency"
version = "16.0.0"
description = "Sale Invoice Frequency - Define the invoice frequency for customers"
authors = [
{ name = "Ernad Husremovic", email = "hernad@bring.out.ba" }
]
dependencies = [
"odoo-bringout-oca-ocb-sale>=16.0.0",
"odoo-bringout-oca-ocb-account>=16.0.0",
"requests>=2.25.1"
]
readme = "README.md"
requires-python = ">= 3.11"
classifiers = [
"Development Status :: 5 - Production/Stable",
"Intended Audience :: Developers",
"License :: OSI Approved :: GNU Lesser General Public License v3 (LGPLv3)",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Topic :: Office/Business",
]
[project.urls]
homepage = "https://github.com/bringout/0"
repository = "https://github.com/bringout/0"
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.hatch.metadata]
allow-direct-references = true
[tool.hatch.build.targets.wheel]
packages = ["sale_invoice_frequency"]
[tool.rye]
managed = true
dev-dependencies = [
"pytest>=8.4.1",
]

View file

@ -0,0 +1,117 @@
======================
Sale Invoice Frequency
======================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:676ebe9a129f581d021c4ee3a1e63504452882690a32e659fa5acfeaf8f8bfb3
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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%2Fsale--workflow-lightgray.png?logo=github
:target: https://github.com/OCA/sale-workflow/tree/16.0/sale_invoice_frequency
:alt: OCA/sale-workflow
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/sale-workflow-16-0/sale-workflow-16-0-sale_invoice_frequency
: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/sale-workflow&target_branch=16.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module extends the functionality of sales to support group by Invoicing
frequency and to allow you to choose the right orders to invoice based on the
frequency defined on the customer.
On the partner, Invoicing frequency field is propagated to its children when changed.
**Table of contents**
.. contents::
:local:
Usage
=====
To use this module, you need to:
#. Go to *Sales/Configuration/Invoicing frequency* and create your custom
frequencies.
#. Set these frequencies in the customer form *Sales and purchases* tab.
#. When a sale is created, the Invoicing frequency of the field ``partner_id``
is propagated.
#. An user can change Invoicing frequency on sales and customers if has group
``account.group_account_invoice``.
#. You can change Invoicing frequency on a sale on the *Other information* tab
without changing the customer frequency.
#. When you want to invoice, group sales by Invoicing frequency and invoice it.
#. You can create a CRON for each frequency to automate invoicing action.
Known issues / Roadmap
======================
* Add an automation to auto-invoice orders. Now must be done grouping orders by
invoicing frequency and invoice them manually.
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 to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/sale-workflow/issues/new?body=module:%20sale_invoice_frequency%0Aversion:%2016.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
~~~~~~~
* Moduon
Contributors
~~~~~~~~~~~~
* Eduardo de Miguel (`Moduon <https://www.moduon.team/>`__)
* Rafael Blasco (`Moduon <https://www.moduon.team/>`__)
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.
.. |maintainer-Shide| image:: https://github.com/Shide.png?size=40px
:target: https://github.com/Shide
:alt: Shide
.. |maintainer-yajo| image:: https://github.com/yajo.png?size=40px
:target: https://github.com/yajo
:alt: yajo
.. |maintainer-EmilioPascual| image:: https://github.com/EmilioPascual.png?size=40px
:target: https://github.com/EmilioPascual
:alt: EmilioPascual
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-Shide| |maintainer-yajo| |maintainer-EmilioPascual|
This module is part of the `OCA/sale-workflow <https://github.com/OCA/sale-workflow/tree/16.0/sale_invoice_frequency>`_ 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,27 @@
# Copyright 2023 Moduon Team S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0)
{
"name": "Sale Invoice Frequency",
"summary": "Define the invoice frequency for customers",
"version": "16.0.1.2.1",
"development_status": "Beta",
"category": "Sales/Sales",
"website": "https://github.com/OCA/sale-workflow",
"author": "Moduon, Odoo Community Association (OCA)",
"maintainers": ["Shide", "yajo", "EmilioPascual"],
"license": "AGPL-3",
"application": False,
"installable": True,
"depends": [
"sale",
"account",
],
"data": [
"security/ir.model.access.csv",
"data/sale_invoice_frequency_data.xml",
"views/sale_invoice_frequency_view.xml",
"views/res_partner_view.xml",
"views/sale_order_view.xml",
],
}

View file

@ -0,0 +1,26 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2023 Moduon Team S.L.
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0) -->
<data>
<record id="sale_invoice_frequency_daily" model="sale.invoice.frequency">
<field name="name">Daily</field>
</record>
<record id="sale_invoice_frequency_weekly" model="sale.invoice.frequency">
<field name="name">Weekly</field>
</record>
<record id="sale_invoice_frequency_biweekly" model="sale.invoice.frequency">
<field name="name">Biweekly</field>
</record>
<record id="sale_invoice_frequency_monthly" model="sale.invoice.frequency">
<field name="name">Monthly</field>
</record>
<record id="sale_invoice_frequency_quarterly" model="sale.invoice.frequency">
<field name="name">Quarterly</field>
</record>
<record id="sale_invoice_frequency_biannual" model="sale.invoice.frequency">
<field name="name">Biannual</field>
</record>
<record id="sale_invoice_frequency_annual" model="sale.invoice.frequency">
<field name="name">Annual</field>
</record>
</data>

View file

@ -0,0 +1,141 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_invoice_frequency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_annual
msgid "Annual"
msgstr "Annual"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biannual
msgid "Biannual"
msgstr "Biannual"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biweekly
msgid "Biweekly"
msgstr "Biweekly"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_res_partner
msgid "Contact"
msgstr "Kontakt"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid "Create a new invoicing frequency record"
msgstr "Create a new invoicing frequency record"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_uid
msgid "Created by"
msgstr "Kreirao"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_date
msgid "Created on"
msgstr "Kreirano"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_daily
msgid "Daily"
msgstr "Dnevno"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__display_name
msgid "Display Name"
msgstr "Prikazani naziv"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__id
msgid "ID"
msgstr "ID"
#. module: sale_invoice_frequency
#: model_terms:ir.ui.view,arch_db:sale_invoice_frequency.view_sales_order_filter
msgid "Invoice frequency"
msgstr "Faktura frequency"
#. module: sale_invoice_frequency
#: model:ir.actions.act_window,name:sale_invoice_frequency.sale_invoice_frequency_action
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_users__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_order__invoice_frequency_id
#: model:ir.ui.menu,name:sale_invoice_frequency.sale_invoice_frequency_menu
msgid "Invoicing frequency"
msgstr "Invoicing frequency"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_invoice_frequency
msgid "Invoicing frequency for Customers"
msgstr "Invoicing frequency for Kupacs"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_users__invoice_frequency_id
msgid "Invoicing frequency for this customer"
msgstr "Invoicing frequency for this customer"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_sale_order__invoice_frequency_id
msgid "Invoicing frequency for this order"
msgstr "Invoicing frequency for this order"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency____last_update
msgid "Last Modified on"
msgstr "Zadnje mijenjano"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_uid
msgid "Last Updated by"
msgstr "Zadnji ažurirao"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_date
msgid "Last Updated on"
msgstr "Zadnje ažurirano"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_monthly
msgid "Monthly"
msgstr "Mjesečno"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__name
msgid "Name"
msgstr "Naziv:"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid ""
"Once the invoicing frequency record is created, you can assign it to a "
"Customer."
msgstr ""
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_quarterly
msgid "Quarterly"
msgstr "Kvartalno"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_order
msgid "Sales Order"
msgstr "Prodajni nalog"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_weekly
msgid "Weekly"
msgstr "Sedmično"

View file

@ -0,0 +1,146 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_invoice_frequency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-03-18 17:36+0000\n"
"Last-Translator: David Brühlmeier <david@bruehlmeier.com>\n"
"Language-Team: none\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 4.17\n"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_annual
msgid "Annual"
msgstr "Jährlich"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biannual
msgid "Biannual"
msgstr "Halbjährlich"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biweekly
msgid "Biweekly"
msgstr "Zweiwöchentlich"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_res_partner
msgid "Contact"
msgstr "Kontakt"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid "Create a new invoicing frequency record"
msgstr "Neue Fakturierungsfrequenz"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_uid
msgid "Created by"
msgstr "Angelegt von"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_date
msgid "Created on"
msgstr "Angelegt am"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_daily
msgid "Daily"
msgstr "Täglich"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__display_name
msgid "Display Name"
msgstr "Anzeigename"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__id
msgid "ID"
msgstr "ID"
#. module: sale_invoice_frequency
#: model_terms:ir.ui.view,arch_db:sale_invoice_frequency.view_sales_order_filter
msgid "Invoice frequency"
msgstr "Fakturierungsfrequenz"
#. module: sale_invoice_frequency
#: model:ir.actions.act_window,name:sale_invoice_frequency.sale_invoice_frequency_action
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_users__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_order__invoice_frequency_id
#: model:ir.ui.menu,name:sale_invoice_frequency.sale_invoice_frequency_menu
msgid "Invoicing frequency"
msgstr "Fakturierungsfrequenz"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_invoice_frequency
msgid "Invoicing frequency for Customers"
msgstr "Fakturierungsfrequenz für Kunden"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_users__invoice_frequency_id
msgid "Invoicing frequency for this customer"
msgstr "Fakturierungsfrequenz für diesen Kunden"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_sale_order__invoice_frequency_id
msgid "Invoicing frequency for this order"
msgstr "Fakturierungsfrequenz für diesen Auftrag"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency____last_update
msgid "Last Modified on"
msgstr "Zuletzt bearbeitet am"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_uid
msgid "Last Updated by"
msgstr "Zuletzt bearbeitet von"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_date
msgid "Last Updated on"
msgstr "Zuletzt aktualisiert am"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_monthly
msgid "Monthly"
msgstr "Monatlich"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__name
msgid "Name"
msgstr "Name"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid ""
"Once the invoicing frequency record is created, you can assign it to a "
"Customer."
msgstr ""
"Nachdem die Fakturierungsfrequenz angelegt ist, kann sie einem Kunden "
"zugeordnet werden."
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_quarterly
msgid "Quarterly"
msgstr "Quartalsweise"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_order
msgid "Sales Order"
msgstr "Verkaufsauftrag"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_weekly
msgid "Weekly"
msgstr "Wöchentlich"

View file

@ -0,0 +1,147 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_invoice_frequency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2023-12-01 07:17+0000\n"
"PO-Revision-Date: 2023-12-01 08:18+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"Language: es\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Poedit 3.4\n"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_annual
msgid "Annual"
msgstr "Anual"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biannual
msgid "Biannual"
msgstr "Semestral"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biweekly
msgid "Biweekly"
msgstr "Quincenal"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_res_partner
msgid "Contact"
msgstr "Contacto"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid "Create a new invoicing frequency record"
msgstr "Crea un nuevo registro de Frecuencia de facturación"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_date
msgid "Created on"
msgstr "Creado el"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_daily
msgid "Daily"
msgstr "Diaria"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__display_name
msgid "Display Name"
msgstr "Mostrar nombre"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__id
msgid "ID"
msgstr "ID (identificación)"
#. module: sale_invoice_frequency
#: model_terms:ir.ui.view,arch_db:sale_invoice_frequency.view_sales_order_filter
msgid "Invoice frequency"
msgstr "Frecuencia de facturación"
#. module: sale_invoice_frequency
#: model:ir.actions.act_window,name:sale_invoice_frequency.sale_invoice_frequency_action
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_users__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_order__invoice_frequency_id
#: model:ir.ui.menu,name:sale_invoice_frequency.sale_invoice_frequency_menu
msgid "Invoicing frequency"
msgstr "Frecuencia de facturación"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_invoice_frequency
msgid "Invoicing frequency for Customers"
msgstr "Frecuencia de facturación para Clientes"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_users__invoice_frequency_id
msgid "Invoicing frequency for this customer"
msgstr "Frecuencia de facturación para éste cliente"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_sale_order__invoice_frequency_id
msgid "Invoicing frequency for this order"
msgstr "Frecuencia de facturación para éste pedido"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency____last_update
msgid "Last Modified on"
msgstr "Última modificación el"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_date
msgid "Last Updated on"
msgstr "Última actualización el"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_monthly
msgid "Monthly"
msgstr "Mensual"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__name
msgid "Name"
msgstr "Nombre"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid ""
"Once the invoicing frequency record is created, you can assign it to a "
"Customer."
msgstr ""
"Una vez que el registro de Frecuencia de facturación esté creado, puedes "
"asignárselo a un cliente."
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_quarterly
msgid "Quarterly"
msgstr "Trimestral"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_order
msgid "Sales Order"
msgstr "Pedido de venta"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_weekly
msgid "Weekly"
msgstr "Semanal"

View file

@ -0,0 +1,146 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_invoice_frequency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-12-31 15:06+0000\n"
"Last-Translator: samibc2c <sami.bouzidi@camptocamp.com>\n"
"Language-Team: none\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"
"X-Generator: Weblate 5.6.2\n"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_annual
msgid "Annual"
msgstr "Annuel"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biannual
msgid "Biannual"
msgstr "Bi annuel"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biweekly
msgid "Biweekly"
msgstr "Bihebdomadaire"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_res_partner
msgid "Contact"
msgstr "Contact"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid "Create a new invoicing frequency record"
msgstr "Créer une nouvelle fréquence de facturation"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_uid
msgid "Created by"
msgstr "Créé par"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_date
msgid "Created on"
msgstr "Créé le"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_daily
msgid "Daily"
msgstr "Quotidien"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__display_name
msgid "Display Name"
msgstr "Nom affiché"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__id
msgid "ID"
msgstr "ID"
#. module: sale_invoice_frequency
#: model_terms:ir.ui.view,arch_db:sale_invoice_frequency.view_sales_order_filter
msgid "Invoice frequency"
msgstr "Fréquence de la facture"
#. module: sale_invoice_frequency
#: model:ir.actions.act_window,name:sale_invoice_frequency.sale_invoice_frequency_action
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_users__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_order__invoice_frequency_id
#: model:ir.ui.menu,name:sale_invoice_frequency.sale_invoice_frequency_menu
msgid "Invoicing frequency"
msgstr "Fréquence de facturation"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_invoice_frequency
msgid "Invoicing frequency for Customers"
msgstr "Fréquence de facturation pour les clients"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_users__invoice_frequency_id
msgid "Invoicing frequency for this customer"
msgstr "Fréquence de facturation pour ce client"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_sale_order__invoice_frequency_id
msgid "Invoicing frequency for this order"
msgstr "Fréquence de facturation pour cette commande"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency____last_update
msgid "Last Modified on"
msgstr "Dernière modification le"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_uid
msgid "Last Updated by"
msgstr "Dernière mise à jour par"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_date
msgid "Last Updated on"
msgstr "Dernière mise à jour le"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_monthly
msgid "Monthly"
msgstr "Mensuel"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__name
msgid "Name"
msgstr "Nom"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid ""
"Once the invoicing frequency record is created, you can assign it to a "
"Customer."
msgstr ""
"Une fois la fréquence de facturation créée, vous pouvez l'affecter à un "
"client."
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_quarterly
msgid "Quarterly"
msgstr "Trimestriel"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_order
msgid "Sales Order"
msgstr "Commande de vente"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_weekly
msgid "Weekly"
msgstr "Hebdomadaire"

View file

@ -0,0 +1,146 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_invoice_frequency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-12-15 14:35+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 4.17\n"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_annual
msgid "Annual"
msgstr "Annuale"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biannual
msgid "Biannual"
msgstr "Biennale"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biweekly
msgid "Biweekly"
msgstr "Bisettimanale"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_res_partner
msgid "Contact"
msgstr "Contatto"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid "Create a new invoicing frequency record"
msgstr "Crea un record frequenza fatturazione"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_uid
msgid "Created by"
msgstr "Creato da"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_date
msgid "Created on"
msgstr "Creato il"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_daily
msgid "Daily"
msgstr "Giornaliero"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__display_name
msgid "Display Name"
msgstr "Nome visualizzato"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__id
msgid "ID"
msgstr "ID"
#. module: sale_invoice_frequency
#: model_terms:ir.ui.view,arch_db:sale_invoice_frequency.view_sales_order_filter
msgid "Invoice frequency"
msgstr "Frequenza fattura"
#. module: sale_invoice_frequency
#: model:ir.actions.act_window,name:sale_invoice_frequency.sale_invoice_frequency_action
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_users__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_order__invoice_frequency_id
#: model:ir.ui.menu,name:sale_invoice_frequency.sale_invoice_frequency_menu
msgid "Invoicing frequency"
msgstr "Frequenza fatturazione"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_invoice_frequency
msgid "Invoicing frequency for Customers"
msgstr "Frequenza fatturazione per clienti"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_users__invoice_frequency_id
msgid "Invoicing frequency for this customer"
msgstr "Frequenza fatturazione per questo cliente"
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_sale_order__invoice_frequency_id
msgid "Invoicing frequency for this order"
msgstr "Frequenza fatturazione per questo ordine"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_monthly
msgid "Monthly"
msgstr "Mensile"
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__name
msgid "Name"
msgstr "Nome"
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid ""
"Once the invoicing frequency record is created, you can assign it to a "
"Customer."
msgstr ""
"Una volta che il record frequenza fatturazione è creato, si può assegnare al "
"cliente."
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_quarterly
msgid "Quarterly"
msgstr "Trimestrale"
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_order
msgid "Sales Order"
msgstr "Ordine di vendita"
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_weekly
msgid "Weekly"
msgstr "Settimanale"

View file

@ -0,0 +1,141 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_invoice_frequency
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.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: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_annual
msgid "Annual"
msgstr ""
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biannual
msgid "Biannual"
msgstr ""
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_biweekly
msgid "Biweekly"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_res_partner
msgid "Contact"
msgstr ""
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid "Create a new invoicing frequency record"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_uid
msgid "Created by"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__create_date
msgid "Created on"
msgstr ""
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_daily
msgid "Daily"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__display_name
msgid "Display Name"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__id
msgid "ID"
msgstr ""
#. module: sale_invoice_frequency
#: model_terms:ir.ui.view,arch_db:sale_invoice_frequency.view_sales_order_filter
msgid "Invoice frequency"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.actions.act_window,name:sale_invoice_frequency.sale_invoice_frequency_action
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_res_users__invoice_frequency_id
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_order__invoice_frequency_id
#: model:ir.ui.menu,name:sale_invoice_frequency.sale_invoice_frequency_menu
msgid "Invoicing frequency"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_invoice_frequency
msgid "Invoicing frequency for Customers"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_partner__invoice_frequency_id
#: model:ir.model.fields,help:sale_invoice_frequency.field_res_users__invoice_frequency_id
msgid "Invoicing frequency for this customer"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,help:sale_invoice_frequency.field_sale_order__invoice_frequency_id
msgid "Invoicing frequency for this order"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency____last_update
msgid "Last Modified on"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_uid
msgid "Last Updated by"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__write_date
msgid "Last Updated on"
msgstr ""
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_monthly
msgid "Monthly"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model.fields,field_description:sale_invoice_frequency.field_sale_invoice_frequency__name
msgid "Name"
msgstr ""
#. module: sale_invoice_frequency
#: model_terms:ir.actions.act_window,help:sale_invoice_frequency.sale_invoice_frequency_action
msgid ""
"Once the invoicing frequency record is created, you can assign it to a "
"Customer."
msgstr ""
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_quarterly
msgid "Quarterly"
msgstr ""
#. module: sale_invoice_frequency
#: model:ir.model,name:sale_invoice_frequency.model_sale_order
msgid "Sales Order"
msgstr ""
#. module: sale_invoice_frequency
#: model:sale.invoice.frequency,name:sale_invoice_frequency.sale_invoice_frequency_weekly
msgid "Weekly"
msgstr ""

View file

@ -0,0 +1,3 @@
from . import sale_invoice_frequency
from . import res_partner
from . import sale_order

View file

@ -0,0 +1,19 @@
# Copyright 2023 Moduon Team S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0)
from odoo import api, fields, models
class ResPartner(models.Model):
_inherit = "res.partner"
invoice_frequency_id = fields.Many2one(
comodel_name="sale.invoice.frequency",
string="Invoicing frequency",
help="Invoicing frequency for this customer",
)
@api.model
def _commercial_fields(self):
return super()._commercial_fields() + ["invoice_frequency_id"]

View file

@ -0,0 +1,14 @@
# Copyright 2023 Moduon Team S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0)
from odoo import fields, models
class SaleInvoiceFrequency(models.Model):
_name = "sale.invoice.frequency"
_description = "Invoicing frequency for Customers"
name = fields.Char(
translate=True,
)

View file

@ -0,0 +1,23 @@
# Copyright 2023 Moduon Team S.L.
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0)
from odoo import api, fields, models
class SaleOrder(models.Model):
_inherit = "sale.order"
invoice_frequency_id = fields.Many2one(
comodel_name="sale.invoice.frequency",
string="Invoicing frequency",
compute="_compute_invoice_frequency",
store=True,
readonly=False,
help="Invoicing frequency for this order",
)
@api.depends("partner_id")
def _compute_invoice_frequency(self):
for record in self:
record.invoice_frequency_id = record.partner_id.invoice_frequency_id

View file

@ -0,0 +1,2 @@
* Eduardo de Miguel (`Moduon <https://www.moduon.team/>`__)
* Rafael Blasco (`Moduon <https://www.moduon.team/>`__)

View file

@ -0,0 +1,4 @@
This module extends the functionality of sales to support group by Invoicing
frequency and to allow you to choose the right orders to invoice based on the
frequency defined on the customer.
On the partner, Invoicing frequency field is propagated to its children when changed.

View file

@ -0,0 +1,2 @@
* Add an automation to auto-invoice orders. Now must be done grouping orders by
invoicing frequency and invoice them manually.

View file

@ -0,0 +1,13 @@
To use this module, you need to:
#. Go to *Sales/Configuration/Invoicing frequency* and create your custom
frequencies.
#. Set these frequencies in the customer form *Sales and purchases* tab.
#. When a sale is created, the Invoicing frequency of the field ``partner_id``
is propagated.
#. An user can change Invoicing frequency on sales and customers if has group
``account.group_account_invoice``.
#. You can change Invoicing frequency on a sale on the *Other information* tab
without changing the customer frequency.
#. When you want to invoice, group sales by Invoicing frequency and invoice it.
#. You can create a CRON for each frequency to automate invoicing action.

View file

@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
sale_invoice_frequency.access_sale_invoice_frequency_user,access_sale_invoice_frequency_user,sale_invoice_frequency.model_sale_invoice_frequency,base.group_user,1,0,0,0
sale_invoice_frequency.access_sale_invoice_frequency_manager,access_sale_invoice_frequency_manager,sale_invoice_frequency.model_sale_invoice_frequency,account.group_account_invoice,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 sale_invoice_frequency.access_sale_invoice_frequency_user access_sale_invoice_frequency_user sale_invoice_frequency.model_sale_invoice_frequency base.group_user 1 0 0 0
3 sale_invoice_frequency.access_sale_invoice_frequency_manager access_sale_invoice_frequency_manager sale_invoice_frequency.model_sale_invoice_frequency account.group_account_invoice 1 1 1 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View file

@ -0,0 +1,452 @@
<!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>Sale Invoice Frequency</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
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: grey; } /* 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 {
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="sale-invoice-frequency">
<h1 class="title">Sale Invoice Frequency</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:676ebe9a129f581d021c4ee3a1e63504452882690a32e659fa5acfeaf8f8bfb3
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<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/sale-workflow/tree/16.0/sale_invoice_frequency"><img alt="OCA/sale-workflow" src="https://img.shields.io/badge/github-OCA%2Fsale--workflow-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/sale-workflow-16-0/sale-workflow-16-0-sale_invoice_frequency"><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/sale-workflow&amp;target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module extends the functionality of sales to support group by Invoicing
frequency and to allow you to choose the right orders to invoice based on the
frequency defined on the customer.
On the partner, Invoicing frequency field is propagated to its children when changed.</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="#known-issues-roadmap" id="toc-entry-2">Known issues / Roadmap</a></li>
<li><a class="reference internal" href="#bug-tracker" id="toc-entry-3">Bug Tracker</a></li>
<li><a class="reference internal" href="#credits" id="toc-entry-4">Credits</a><ul>
<li><a class="reference internal" href="#authors" id="toc-entry-5">Authors</a></li>
<li><a class="reference internal" href="#contributors" id="toc-entry-6">Contributors</a></li>
<li><a class="reference internal" href="#maintainers" id="toc-entry-7">Maintainers</a></li>
</ul>
</li>
</ul>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-1">Usage</a></h1>
<p>To use this module, you need to:</p>
<ol class="arabic simple">
<li>Go to <em>Sales/Configuration/Invoicing frequency</em> and create your custom
frequencies.</li>
<li>Set these frequencies in the customer form <em>Sales and purchases</em> tab.</li>
<li>When a sale is created, the Invoicing frequency of the field <tt class="docutils literal">partner_id</tt>
is propagated.</li>
<li>An user can change Invoicing frequency on sales and customers if has group
<tt class="docutils literal">account.group_account_invoice</tt>.</li>
<li>You can change Invoicing frequency on a sale on the <em>Other information</em> tab
without changing the customer frequency.</li>
<li>When you want to invoice, group sales by Invoicing frequency and invoice it.</li>
<li>You can create a CRON for each frequency to automate invoicing action.</li>
</ol>
</div>
<div class="section" id="known-issues-roadmap">
<h1><a class="toc-backref" href="#toc-entry-2">Known issues / Roadmap</a></h1>
<ul class="simple">
<li>Add an automation to auto-invoice orders. Now must be done grouping orders by
invoicing frequency and invoice them manually.</li>
</ul>
</div>
<div class="section" id="bug-tracker">
<h1><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h1>
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/sale-workflow/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/sale-workflow/issues/new?body=module:%20sale_invoice_frequency%0Aversion:%2016.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-4">Credits</a></h1>
<div class="section" id="authors">
<h2><a class="toc-backref" href="#toc-entry-5">Authors</a></h2>
<ul class="simple">
<li>Moduon</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
<ul class="simple">
<li>Eduardo de Miguel (<a class="reference external" href="https://www.moduon.team/">Moduon</a>)</li>
<li>Rafael Blasco (<a class="reference external" href="https://www.moduon.team/">Moduon</a>)</li>
</ul>
</div>
<div class="section" id="maintainers">
<h2><a class="toc-backref" href="#toc-entry-7">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>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainers</a>:</p>
<p><a class="reference external image-reference" href="https://github.com/Shide"><img alt="Shide" src="https://github.com/Shide.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/yajo"><img alt="yajo" src="https://github.com/yajo.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/EmilioPascual"><img alt="EmilioPascual" src="https://github.com/EmilioPascual.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/sale-workflow/tree/16.0/sale_invoice_frequency">OCA/sale-workflow</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,19 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2023 Moduon Team S.L.
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0) -->
<data>
<record id="view_partner_property_form" model="ir.ui.view">
<field name="name">res.partner.property.form.invoice.frequency.inherit</field>
<field name="model">res.partner</field>
<field name="inherit_id" ref="account.view_partner_property_form" />
<field name="arch" type="xml">
<xpath expr="//group[@name='sale']" position="inside">
<field
name="invoice_frequency_id"
options="{'no_create': True}"
groups="account.group_account_invoice"
/>
</xpath>
</field>
</record>
</data>

View file

@ -0,0 +1,59 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2023 Moduon Team S.L.
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0) -->
<data>
<record id="sale_invoice_frequency_action" model="ir.actions.act_window">
<field name="name">Invoicing frequency</field>
<field name="res_model">sale.invoice.frequency</field>
<field name="view_mode">tree,form</field>
<field name="groups_id" eval="[(4, ref('account.group_account_invoice'))]" />
<field name="help" type="html">
<p class="o_view_nocontent_smiling_face">
Create a new invoicing frequency record
</p><p>
Once the invoicing frequency record is created, you can assign it to a Customer.
</p>
</field>
</record>
<record id="sale_invoice_frequency_view_form" model="ir.ui.view">
<field name="name">Invoice frequency</field>
<field name="model">sale.invoice.frequency</field>
<field name="arch" type="xml">
<form>
<sheet>
<field name="name" />
</sheet>
</form>
</field>
</record>
<record id="sale_invoice_frequency_view_tree" model="ir.ui.view">
<field name="name">Invoice frequency</field>
<field name="model">sale.invoice.frequency</field>
<field name="arch" type="xml">
<tree editable="top">
<field name="name" />
</tree>
</field>
</record>
<record id="sale_invoice_frequency_view_search" model="ir.ui.view">
<field name="name">Invoice frequency</field>
<field name="model">sale.invoice.frequency</field>
<field name="arch" type="xml">
<search>
<field name="name" />
</search>
</field>
</record>
<menuitem
id="sale_invoice_frequency_menu"
parent="sale.menu_sale_config"
action="sale_invoice_frequency_action"
groups="account.group_account_invoice"
name="Invoicing frequency"
sequence="100"
/>
</data>

View file

@ -0,0 +1,52 @@
<?xml version="1.0" encoding="utf-8" ?>
<!-- Copyright 2023 Moduon Team S.L.
License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl-3.0) -->
<data>
<record id="view_order_form" model="ir.ui.view">
<field name="name">sale.order.invoice.frequency.form</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_form" />
<field name="arch" type="xml">
<xpath expr="//group[@name='sale_info']" position="inside">
<field
name="invoice_frequency_id"
options="{'no_create': True}"
groups="account.group_account_invoice"
/>
</xpath>
</field>
</record>
<record id="view_order_tree" model="ir.ui.view">
<field name="name">sale.order.invoice.frequency.tree</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_order_tree" />
<field name="arch" type="xml">
<xpath expr="//tree" position="inside">
<field
name="invoice_frequency_id"
options="{'no_create': True}"
groups="account.group_account_invoice"
optional="hide"
/>
</xpath>
</field>
</record>
<record id="view_sales_order_filter" model="ir.ui.view">
<field name="name">sale.order.invoice.frequency.list.select</field>
<field name="model">sale.order</field>
<field name="inherit_id" ref="sale.view_sales_order_filter" />
<field name="arch" type="xml">
<xpath expr="//search/group" position="inside">
<filter
name="group_invoice_frequency_id"
string="Invoice frequency"
groups="account.group_account_invoice"
domain="[]"
context="{'group_by': 'invoice_frequency_id'}"
/>
</xpath>
</field>
</record>
</data>