Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
120 changes: 120 additions & 0 deletions sale_expense_manual_reinvoice/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
==============================
Sale Expense Manual Re-invoice
==============================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:0d6172b9d26cea112d5485883c19dcddc2045a837c168e1668c95f120941e63f
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Fhr--expense-lightgray.png?logo=github
:target: https://github.com/OCA/hr-expense/tree/16.0/sale_expense_manual_reinvoice
:alt: OCA/hr-expense
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/hr-expense-16-0/hr-expense-16-0-sale_expense_manual_reinvoice
: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/hr-expense&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

With this module Expense products can be configured to not reinvoice expenses
automatically. Instead, they will be listed in a new menu **Expenses to Reinvoice**
for a manager to manually review them and either reinvoice or discard them.

**Table of contents**

.. contents::
:local:

Configuration
=============

On the **Expense Product**, set the **Re-invoice Mode**:

* Automatically: Expenses are automatically re-invoiced when they're posted (standard)
* Manually: Expenses have to be manually re-invoiced by a manager


.. image:: https://raw.githubusercontent.com/OCA/hr-expense/16.0/sale_expense_manual_reinvoice/static/description/configure.png

Usage
=====

After Expenses of products configured with **Manual** Re-invoice Mode have been
approved and posted, find them under the **Expenses to Reinvoice** menu.

Review their **Customer to reinvoice** field, select the ones you want to process
and click either **Reinvoice** or **Discard**

.. image:: https://raw.githubusercontent.com/OCA/hr-expense/16.0/sale_expense_manual_reinvoice/static/description/reinvoice.png

Discarded expenses will be hidden from the list, but you can still access them by
removing the default search filter.

Known issues / Roadmap
======================

Some abstraction could be done to have the same mechanism work for all reinvoiceable
analytic lines, like the ones generated from purchase invoices.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/hr-expense/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/hr-expense/issues/new?body=module:%20sale_expense_manual_reinvoice%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
~~~~~~~

* Camptocamp SA

Contributors
~~~~~~~~~~~~

* `Camptocamp <https://www.camptocamp.com>`_

* Iván Todorovich <ivan.todorovich@camptocamp.com>
* MarwanBHL <marwan@riluxa.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.

.. |maintainer-ivantodorovich| image:: https://github.com/ivantodorovich.png?size=40px
:target: https://github.com/ivantodorovich
:alt: ivantodorovich

Current `maintainer <https://odoo-community.org/page/maintainer-role>`__:

|maintainer-ivantodorovich|

This module is part of the `OCA/hr-expense <https://github.com/OCA/hr-expense/tree/16.0/sale_expense_manual_reinvoice>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
1 change: 1 addition & 0 deletions sale_expense_manual_reinvoice/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
20 changes: 20 additions & 0 deletions sale_expense_manual_reinvoice/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Copyright 2021 Camptocamp SA (https://www.camptocamp.com).
# @author Iván Todorovich <ivan.todorovich@camptocamp.com>
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).

{
"name": "Sale Expense Manual Re-invoice",
"summary": "Allow to manually re-invoice expenses",
"version": "16.0.1.0.0",
"author": "Camptocamp SA, Odoo Community Association (OCA)",
"maintainers": ["ivantodorovich"],
"website": "https://github.com/OCA/hr-expense",
"license": "AGPL-3",
"category": "Human Resources",
"depends": ["sale_expense"],
"data": [
"views/account_analytic_line.xml",
"views/hr_expense.xml",
"views/product_template.xml",
],
}
162 changes: 162 additions & 0 deletions sale_expense_manual_reinvoice/i18n/es.po
Original file line number Diff line number Diff line change
@@ -0,0 +1,162 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * sale_expense_manual_reinvoice
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-10-30 19:36+0000\n"
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
"Language-Team: none\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 4.17\n"

#. module: sale_expense_manual_reinvoice
#: model:ir.model,name:sale_expense_manual_reinvoice.model_account_analytic_line
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_hr_expense__analytic_line_ids
msgid "Analytic Line"
msgstr "Línea Analítica"

#. module: sale_expense_manual_reinvoice
#: model_terms:ir.ui.view,arch_db:sale_expense_manual_reinvoice.view_hr_expense_toreinvoice_tree
msgid "Are you sure you don't want to reinvoice these expenses?"
msgstr "¿Está seguro de que no quiere volver a facturar estos gastos?"

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields.selection,name:sale_expense_manual_reinvoice.selection__product_template__expense_mode__auto
msgid "Automatically"
msgstr "Automáticamente"

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields,help:sale_expense_manual_reinvoice.field_product_product__expense_mode
#: model:ir.model.fields,help:sale_expense_manual_reinvoice.field_product_template__expense_mode
msgid ""
"Choose how to re-invoice expenses:\n"
"\n"
"* Automatically: Expenses are automatically re-invoiced when they're posted.\n"
"* Manually: Expenses have to be manually re-invoiced by a manager.\n"
msgstr ""
"Elija cómo refacturar los gastos:\n"
"\n"
"* Automáticamente: Los gastos se refacturan automáticamente cuando se "
"contabilizan.\n"
"* Manualmente: Los gastos deben ser refacturados manualmente por un gestor.\n"

#. module: sale_expense_manual_reinvoice
#: model_terms:ir.ui.view,arch_db:sale_expense_manual_reinvoice.view_hr_expense_toreinvoice_tree
msgid "Discard"
msgstr "Descartar"

#. module: sale_expense_manual_reinvoice
#: model:ir.model,name:sale_expense_manual_reinvoice.model_hr_expense
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_account_analytic_line__expense_id
msgid "Expense"
msgstr "Gasto"

#. module: sale_expense_manual_reinvoice
#: code:addons/sale_expense_manual_reinvoice/models/account_analytic_line.py:0
#, python-format
msgid "Expense already re-invoiced."
msgstr "Gasto ya refacturado."

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields,help:sale_expense_manual_reinvoice.field_account_analytic_line__expense_id
msgid "Expense where the move line come from"
msgstr "Gasto del que procede la línea de movimiento"

#. module: sale_expense_manual_reinvoice
#: model:ir.actions.act_window,name:sale_expense_manual_reinvoice.action_hr_expense_to_reinvoice
#: model:ir.ui.menu,name:sale_expense_manual_reinvoice.menu_hr_expense_to_reinvoice
msgid "Expenses to Reinvoice"
msgstr "Gastos para Refacturar"

#. module: sale_expense_manual_reinvoice
#: model:ir.model,name:sale_expense_manual_reinvoice.model_account_move_line
msgid "Journal Item"
msgstr "Artículo Diario"

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_account_analytic_line__manual_reinvoice
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_hr_expense__manual_reinvoice
msgid "Manual Reinvoice"
msgstr "Refacturación Manual"

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_account_analytic_line__manual_reinvoice_discarded
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_hr_expense__manual_reinvoice_discarded
msgid "Manual Reinvoice Discarded"
msgstr "Refacturación Manual Descartada"

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_account_analytic_line__manual_reinvoice_done
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_hr_expense__manual_reinvoice_done
msgid "Manual Reinvoice Done"
msgstr "Refacturación Manual Realizada"

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields.selection,name:sale_expense_manual_reinvoice.selection__product_template__expense_mode__manual
msgid "Manually"
msgstr "Manualmente"

#. module: sale_expense_manual_reinvoice
#: model_terms:ir.ui.view,arch_db:sale_expense_manual_reinvoice.view_hr_expense_toreinvoice_tree
msgid "Mark to Reinvoice"
msgstr "Marcar para Refacturar"

#. module: sale_expense_manual_reinvoice
#: model_terms:ir.actions.act_window,help:sale_expense_manual_reinvoice.action_hr_expense_to_reinvoice
msgid "Nothing to Reinvoice."
msgstr "Nada que Refacturar."

#. module: sale_expense_manual_reinvoice
#: code:addons/sale_expense_manual_reinvoice/models/account_analytic_line.py:0
#, python-format
msgid "Only manually re-invoice expenses can be re-invoiced."
msgstr "Sólo se pueden refacturar gastos manualmente."

#. module: sale_expense_manual_reinvoice
#: model:ir.model,name:sale_expense_manual_reinvoice.model_product_template
msgid "Product Template"
msgstr "Plantilla de Producto"

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_product_product__expense_mode
#: model:ir.model.fields,field_description:sale_expense_manual_reinvoice.field_product_template__expense_mode
msgid "Re-invoice Mode"
msgstr "Modo Re-facturación"

#. module: sale_expense_manual_reinvoice
#: model_terms:ir.ui.view,arch_db:sale_expense_manual_reinvoice.view_hr_expense_toreinvoice_tree
msgid "Reinvoice"
msgstr "Refacturación"

#. module: sale_expense_manual_reinvoice
#: code:addons/sale_expense_manual_reinvoice/models/hr_expense.py:0
#, python-format
msgid ""
"Some expenses are missing the Customer to Reinvoice, please fill this field "
"on all lines and try again."
msgstr ""
"En algunos gastos falta el campo Cliente a Refacturar, por favor rellene "
"este campo en todas las líneas e inténtelo de nuevo."

#. module: sale_expense_manual_reinvoice
#: model:ir.model.fields,help:sale_expense_manual_reinvoice.field_account_analytic_line__manual_reinvoice_discarded
msgid "Technical field to hide it from pending to reinvoice list."
msgstr "Campo técnico para ocultarlo de la lista de pendientes a refacturar."

#. module: sale_expense_manual_reinvoice
#: model_terms:ir.ui.view,arch_db:sale_expense_manual_reinvoice.hr_expense_view_search
#: model_terms:ir.ui.view,arch_db:sale_expense_manual_reinvoice.view_account_analytic_line_filter
msgid "To Reinvoice"
msgstr "Para Refacturar"

#. module: sale_expense_manual_reinvoice
#: model_terms:ir.ui.view,arch_db:sale_expense_manual_reinvoice.view_hr_expense_toreinvoice_tree
msgid "View Attachments"
msgstr "Ver Archivos Adjuntos"
Loading