Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[MIG] account_cutoff_start_end_dates: Migration to 16.0 #216

Merged
merged 13 commits into from
Feb 16, 2023
Merged
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
128 changes: 128 additions & 0 deletions account_cutoff_start_end_dates/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,128 @@
===============================
Account Cut-off Start End Dates
===============================

.. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |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%2Faccount--closing-lightgray.png?logo=github
:target: https://github.com/OCA/account-closing/tree/16.0/account_cutoff_start_end_dates
:alt: OCA/account-closing
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-closing-16-0/account-closing-16-0-account_cutoff_start_end_dates
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/webui/builds.html?repo=OCA/account-closing&target_branch=16.0
:alt: Try me on Runboat

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

This module allows you to easily compute the prepaid revenue/expenses and also the revenue/expense accruals by using the **Start Date** and **End Date** fields of invoice lines/journal items.

For example, if you have an insurance contrat invoiced in April 2020 that run from April
1st 2020 to March 31st 2021, you will enter these dates as start and end dates
on the supplier invoice line. If your fiscal year ends on December 31st 2020,
3 months of expenses are part of the 2021 fiscal year and should not be part of
the 2020 fiscal year. So, thanks to this module, you will create a *Prepaid
Expense* on December 31st 2020 and Odoo will identify this expense with the
3 months that are after the cut-off date and propose to generate the
appropriate cut-off journal entry.

Another example: you have a UPS invoice dated January 5th 2021 that covers the shipments of December 2020. When you encode this vendor bill, set the start date as December 1st 2020 and the end date as December 31st 2020. Then, thanks to this module, you will create an *Expense Accrual* dated December 31st 2020 that will generate a cut-off journal entry that will "move" the UPS expense from 2021 to 2020.

**Table of contents**

.. contents::
:local:

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

Please refer to the **CONFIGURATION** section of the README of the module *account_cutoff_base*.

Usage
=====

To compute the prepaid revenue, go to the menu *Accounting > Cut-offs
> Prepaid Revenue* and click on the *Create* button. Enter the cut-off
date, check that the source journals contains all your sale journals
and click on the button *Re-Generate lines*: Odoo will scan all the
journal entries of the source journals and will get all the lines that
have an end date after the cut-off date and, for each line, it will
compute the prepaid revenue. If you agree with the result, click on the
button *Create Journal Entry*: Odoo will generate an account move at the
cut-off date to cut these prepaid revenue. Hint: you can then use the reversal
feature to generate the reverse journal entry on the next day.

If you need to answer a question such as *How much revenue did I already
invoice for my next fiscal year ?*, you will be interested by the
*forecast* feature. For that, on the Prepaid Revenue form, click on
the *Forecast* option and you will see 2 new fields: *Start Date* and
*End Date*. Enter the start date and the end date of your next fiscal
year and click on the button *Re-Generate lines*: you will see all the
revenue that you already have in your source journals for that period.

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

Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-closing/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us smashing it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-closing/issues/new?body=module:%20account_cutoff_start_end_dates%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
~~~~~~~

* Akretion

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

* Alexis de Lattre <[email protected]>
* Stéphane Bidoul <[email protected]>
* Jim Hoefnagels <[email protected]>
* `Trobz <https://trobz.com>`_:
* Dzung Tran <[email protected]>

Other credits
~~~~~~~~~~~~~

The migration of this module from 15.0 to 16.0 was financially supported by Camptocamp

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-alexis-via| image:: https://github.com/alexis-via.png?size=40px
:target: https://github.com/alexis-via
:alt: alexis-via

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

|maintainer-alexis-via|

This module is part of the `OCA/account-closing <https://github.com/OCA/account-closing/tree/16.0/account_cutoff_start_end_dates>`_ 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 account_cutoff_start_end_dates/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
from . import models
27 changes: 27 additions & 0 deletions account_cutoff_start_end_dates/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Copyright 2016-2022 Akretion France (http://www.akretion.com/)
# @author: Alexis de Lattre <[email protected]>
# Copyright 2018-2022 CampToCamp SA
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).

{
"name": "Account Cut-off Start End Dates",
"version": "16.0.1.0.0",
"category": "Accounting & Finance",
"license": "AGPL-3",
"summary": "Cutoffs based on start/end dates",
"author": "Akretion,Odoo Community Association (OCA)",
"maintainers": ["alexis-via"],
"website": "https://github.com/OCA/account-closing",
"depends": ["account_cutoff_base", "account_invoice_start_end_dates"],
"data": [
"views/account_cutoff.xml",
"views/account_cutoff_line.xml",
],
"images": [
"images/prepaid_revenue_draft.jpg",
"images/prepaid_revenue_journal_entry.jpg",
"images/prepaid_revenue_done.jpg",
],
"installable": True,
"application": True,
}
193 changes: 193 additions & 0 deletions account_cutoff_start_end_dates/i18n/account_cutoff_prepaid.pot
Original file line number Diff line number Diff line change
@@ -0,0 +1,193 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_cutoff_prepaid
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 13.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_cutoff_prepaid
#: model:ir.model.constraint,message:account_cutoff_prepaid.constraint_account_cutoff_date_type_forecast_company_uniq
msgid "A cut-off of the same type already exists with the same date(s) !"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model,name:account_cutoff_prepaid.model_account_cutoff
msgid "Account Cut-off"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model,name:account_cutoff_prepaid.model_account_cutoff_line
msgid "Account Cut-off Line"
msgstr ""

#. module: account_cutoff_prepaid
#: model_terms:ir.actions.act_window,help:account_cutoff_prepaid.account_cutoff_prepaid_expense_action
msgid "Click to start preparing a new prepaid expense."
msgstr ""

#. module: account_cutoff_prepaid
#: model_terms:ir.actions.act_window,help:account_cutoff_prepaid.account_cutoff_prepaid_revenue_action
msgid "Click to start preparing a new prepaid revenue."
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model,name:account_cutoff_prepaid.model_res_company
msgid "Companies"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model,name:account_cutoff_prepaid.model_res_config_settings
msgid "Config Settings"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_res_company__default_prepaid_expense_account_id
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_res_config_settings__dft_prepaid_expense_account_id
msgid "Default Account for Prepaid Expense"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_res_company__default_prepaid_revenue_account_id
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_res_config_settings__dft_prepaid_revenue_account_id
msgid "Default Account for Prepaid Revenue"
msgstr ""

#. module: account_cutoff_prepaid
#: model_terms:ir.ui.view,arch_db:account_cutoff_prepaid.account_cutoff_form
msgid "Enable Forecast Mode"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff__end_date
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff_line__end_date
msgid "End Date"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff_line__move_date
msgid "Entry Date"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff__forecast
#: model_terms:ir.ui.view,arch_db:account_cutoff_prepaid.account_cutoff_filter
msgid "Forecast"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,help:account_cutoff_prepaid.field_account_cutoff_line__prepaid_days
msgid ""
"In regular mode, this is the number of days after the cut-off date. In "
"forecast mode, this is the number of days between the start date and the end"
" date."
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff_line__move_id
msgid "Journal Entry"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff_line__move_line_id
msgid "Journal Item"
msgstr ""

#. module: account_cutoff_prepaid
#: model_terms:ir.ui.view,arch_db:account_cutoff_prepaid.account_cutoff_form
msgid "Leave Forecast Mode"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff_line__prepaid_days
msgid "Prepaid Days"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.actions.act_window,name:account_cutoff_prepaid.account_cutoff_prepaid_expense_action
#: model:ir.ui.menu,name:account_cutoff_prepaid.account_cutoff_prepaid_expense_menu
msgid "Prepaid Expense"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.actions.act_window,name:account_cutoff_prepaid.account_cutoff_prepaid_revenue_action
#: model:ir.ui.menu,name:account_cutoff_prepaid.account_cutoff_prepaid_revenue_menu
msgid "Prepaid Revenue"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff__source_journal_ids
msgid "Source Journals"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff__start_date
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff_line__start_date
msgid "Start Date"
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,help:account_cutoff_prepaid.field_account_cutoff__forecast
msgid ""
"The Forecast mode allows the user to compute the prepaid revenue/expense "
"between 2 dates in the future."
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,help:account_cutoff_prepaid.field_account_cutoff_line__move_id
msgid "The move of this entry line."
msgstr ""

#. module: account_cutoff_prepaid
#: code:addons/account_cutoff_prepaid/models/account_cutoff.py:0
#, python-format
msgid "The start date is after the end date!"
msgstr ""

#. module: account_cutoff_prepaid
#: code:addons/account_cutoff_prepaid/models/account_cutoff.py:0
#, python-format
msgid ""
"This cutoff is linked to a journal entry. You must delete it before entering"
" forecast mode."
msgstr ""

#. module: account_cutoff_prepaid
#: model_terms:ir.actions.act_window,help:account_cutoff_prepaid.account_cutoff_prepaid_expense_action
msgid ""
"This view can be used by accountants in order to collect information about "
"prepaid expenses based on start date and end date. It then allows to "
"generate the corresponding cutoff journal entry in one click."
msgstr ""

#. module: account_cutoff_prepaid
#: model_terms:ir.actions.act_window,help:account_cutoff_prepaid.account_cutoff_prepaid_revenue_action
msgid ""
"This view can be used by accountants in order to collect information about "
"prepaid revenues based on start date and end date. It then allows to "
"generate the corresponding cutoff journal entry in one click."
msgstr ""

#. module: account_cutoff_prepaid
#: model:ir.model.fields,field_description:account_cutoff_prepaid.field_account_cutoff_line__total_days
msgid "Total Days"
msgstr ""

#. module: account_cutoff_prepaid
#: code:addons/account_cutoff_prepaid/models/account_cutoff.py:0
#, python-format
msgid "Total days should always be > 0"
msgstr ""

#. module: account_cutoff_prepaid
#: code:addons/account_cutoff_prepaid/models/account_cutoff.py:0
#, python-format
msgid "You should set at least one Source Journal."
msgstr ""
Loading