Initial commit: Odoo 18.0-20251222 extra-addons
Some checks failed
pre-commit / pre-commit (push) Has been cancelled
tests / Detect unreleased dependencies (push) Has been cancelled
tests / test with OCB (push) Has been cancelled
tests / test with Odoo (push) Has been cancelled

This commit is contained in:
tocmo0nlord
2026-03-13 20:43:25 +00:00
parent 36e847a7df
commit adbe430761
9472 changed files with 1265727 additions and 0 deletions

123
account_asset_transfer/README.rst Executable file
View File

@@ -0,0 +1,123 @@
================================
Asset Transfer from AUC to Asset
================================
..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:15557a7518bd46554ad24af5bfd64c60aa93766d2886d6a20d35acd2440ab7ba
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
.. |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--financial--tools-lightgray.png?logo=github
:target: https://github.com/OCA/account-financial-tools/tree/18.0/account_asset_transfer
:alt: OCA/account-financial-tools
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/account-financial-tools-18-0/account-financial-tools-18-0-account_asset_transfer
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/account-financial-tools&target_branch=18.0
:alt: Try me on Runboat
|badge1| |badge2| |badge3| |badge4| |badge5|
This module allow transferring assets under construction (AUC) to normal
assets.
AUC is Asset under construction where some assets are in construction
phase and cost needs to be captured for the time being. Once asset is
fully completed then cost would be transferred to final asset
**Note:**
- If the asset don't have journal entries, asset transfer will use
account settings from the asset/asset profile instead.
**Table of contents**
.. contents::
:local:
Configuration
=============
On asset profile, user can setup default Transfer Journal, to be used
during transfer.
Usage
=====
Given asset under construction has been created, i.e., by vendor bill.
- Go to asset menu
- Filter "Transferrable" assets and look for desired assets to transfer
- Select assets to transfer, and click action "Transfer Asset"
- On asset transfer wizard, on the "To New Asset" tab, choose new
profile(s)
- Click "Transfer" button
- Odoo will create journal entry as well as new asset(s)
**Note:** You can click "Expand Asset" button for expand asset line that
selects the asset profile set to be "Create an asset by product item"
Bug Tracker
===========
Bugs are tracked on `GitHub Issues <https://github.com/OCA/account-financial-tools/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/account-financial-tools/issues/new?body=module:%20account_asset_transfer%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
Do not contact contributors directly about support or help with technical issues.
Credits
=======
Authors
-------
* Ecosoft
Contributors
------------
- `Ecosoft <http://ecosoft.co.th>`__:
- Kitti U. <kittiu@ecosoft.co.th>
- Pimolnat Suntian <pimolnats@ecosoft.co.th>
- Saran Lim. <saranl@ecosoft.co.th>
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-kittiu| image:: https://github.com/kittiu.png?size=40px
:target: https://github.com/kittiu
:alt: kittiu
.. |maintainer-Saran440| image:: https://github.com/Saran440.png?size=40px
:target: https://github.com/Saran440
:alt: Saran440
Current `maintainers <https://odoo-community.org/page/maintainer-role>`__:
|maintainer-kittiu| |maintainer-Saran440|
This module is part of the `OCA/account-financial-tools <https://github.com/OCA/account-financial-tools/tree/18.0/account_asset_transfer>`_ project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

View File

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

View File

@@ -0,0 +1,19 @@
# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
{
"name": "Asset Transfer from AUC to Asset",
"version": "18.0.1.0.0",
"license": "AGPL-3",
"depends": ["account_asset_management"],
"author": "Ecosoft, Odoo Community Association (OCA)",
"website": "https://github.com/OCA/account-financial-tools",
"category": "Accounting & Finance",
"data": [
"security/ir.model.access.csv",
"views/account_asset.xml",
"views/account_asset_profile.xml",
"wizard/account_asset_transfer.xml",
],
"maintainers": ["kittiu", "Saran440"],
}

View File

@@ -0,0 +1,295 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_asset_transfer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: \n"
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__can_transfer
msgid "Allow transfer AUC (running) to Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_distribution
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_distribution
msgid "Analytic Distribution"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_precision
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_precision
msgid "Analytic Precision"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset
msgid "Asset"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset From"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_name
msgid "Asset Name"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_profile_id
msgid "Asset Profile"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset To"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
msgid "Asset Transfer Journal Entry"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_value
msgid "Asset Value"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_profile
msgid "Asset profile"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
msgid "Assets"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__balance
msgid "Balance"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__can_transfer
msgid "Can Transfer"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Can be transferred"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Cancel"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__company_id
msgid "Company"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_uid
msgid "Created by"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_date
msgid "Created on"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__currency_id
msgid "Currency"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__display_name
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__display_name
msgid "Display Name"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__distribution_analytic_account_ids
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__distribution_analytic_account_ids
msgid "Distribution Analytic Account"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Expand Asset"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "From"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_ids
msgid "From Asset(s)"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_value
msgid "From Value"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__id
msgid "ID"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__is_transfer
msgid "Is Transfer"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_uid
msgid "Last Updated by"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_date
msgid "Last Updated on"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__note
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Notes"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
msgid "Only running assets without depreciation (AUC) can transfer"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__partner_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__partner_id
msgid "Partner"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__quantity
msgid "Quantity"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid ""
"There are no journal entries on current asset(s), asset transfer will use "
"account settings from the asset/asset profile instead."
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_ids
msgid "To Asset(s)"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "To New Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_value
msgid "To Value"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
msgid "Total values of new assets must equal to source assets"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__transfer_id
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
msgid "Transfer AUC to Asset & Create Transfer Journal Entry"
msgstr ""
#. module: account_asset_transfer
#: model:ir.actions.act_window,name:account_asset_transfer.action_account_asset_transfer
#: model:ir.actions.server,name:account_asset_transfer.action_asset_transfer_from_list
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Transfer Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer Date"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_profile__transfer_journal_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__transfer_journal_id
msgid "Transfer Journal"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer_line
msgid "Transfer To Asset"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer asset from AUC to Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer date must be after the asset journal entry"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Transferable"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__price_unit
msgid "Unit Price"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
msgid "Value of new asset must greater than 0.0"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__is_transfer
msgid ""
"flag indicating if the asset has been transferred from/to another asset."
msgstr ""

321
account_asset_transfer/i18n/es.po Executable file
View File

@@ -0,0 +1,321 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_asset_transfer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 15.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2023-10-10 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: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__can_transfer
msgid "Allow transfer AUC (running) to Asset"
msgstr "Permitir transferencia AUC (en curso) a Activo"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_distribution
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_distribution
msgid "Analytic"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_distribution_search
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_precision
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_precision
msgid "Analytic Precision"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset
msgid "Asset"
msgstr "Activo"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset From"
msgstr "Activo Desde"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_name
msgid "Asset Name"
msgstr "Nombre del activo"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_profile_id
msgid "Asset Profile"
msgstr "Perfil del activo"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset To"
msgstr "Activo a"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
#, python-format
msgid "Asset Transfer Journal Entry"
msgstr "Entrada en el diario de transferencia de activos"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_value
msgid "Asset Value"
msgstr "Valor del activo"
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_profile
msgid "Asset profile"
msgstr "Perfil del activo"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
#, python-format
msgid "Assets"
msgstr "Activos"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__balance
msgid "Balance"
msgstr "Saldo"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__can_transfer
msgid "Can Transfer"
msgstr "Puede transferir"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Can be transferred"
msgstr "Se puede transferir"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Cancel"
msgstr "Cancelar"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__company_id
msgid "Company"
msgstr "Compañía"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_uid
msgid "Created by"
msgstr "Creado por"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_date
msgid "Created on"
msgstr "Creado el"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__currency_id
msgid "Currency"
msgstr "Divisa"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__display_name
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__display_name
msgid "Display Name"
msgstr "Mostrar Nombre"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Expand Asset"
msgstr "Ampliar activos"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "From"
msgstr "Desde"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_ids
msgid "From Asset(s)"
msgstr "Desde Activo(s)"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_value
msgid "From Value"
msgstr "Desde Valor"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__id
msgid "ID"
msgstr "ID (identificación)"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__is_transfer
msgid "Is Transfer"
msgstr "Es Transferencia"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer____last_update
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line____last_update
msgid "Last Modified on"
msgstr "Última Modifiación en"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_uid
msgid "Last Updated by"
msgstr "Última actualización por"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_date
msgid "Last Updated on"
msgstr "Última Actualización el"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__note
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Notes"
msgstr "Notas"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
#, python-format
msgid "Only running assets without depreciation (AUC) can transfer"
msgstr ""
"Sólo pueden transferirse los activos circulantes sin amortización (AUC)"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__partner_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__partner_id
msgid "Partner"
msgstr "Socio"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__quantity
msgid "Quantity"
msgstr "Cantidad"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid ""
"There are no journal entries on current asset(s), asset transfer will use "
"account settings from the asset/asset profile instead."
msgstr ""
"No hay asientos en los activos actuales, la transferencia de activos "
"utilizará en su lugar los ajustes de cuenta del perfil de activo/activo."
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_ids
msgid "To Asset(s)"
msgstr "A Activo(s)"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "To New Asset"
msgstr "Al nuevo activo"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_value
msgid "To Value"
msgstr "Para valorar"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
#, python-format
msgid "Total values of new assets must equal to source assets"
msgstr ""
"El valor total de los activos nuevos debe ser igual al de los activos de "
"origen"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__transfer_id
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer"
msgstr "Transferencia"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
#, python-format
msgid "Transfer AUC to Asset & Create Transfer Journal Entry"
msgstr "Transferir AUC a activo y crear asiento de transferencia"
#. module: account_asset_transfer
#: model:ir.actions.act_window,name:account_asset_transfer.action_account_asset_transfer
#: model:ir.actions.server,name:account_asset_transfer.action_asset_transfer_from_list
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Transfer Asset"
msgstr "Transferencia de activos"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer Date"
msgstr "Fecha de transferencia"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_profile__transfer_journal_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__transfer_journal_id
msgid "Transfer Journal"
msgstr "Diario de transferencia"
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer_line
msgid "Transfer To Asset"
msgstr "Transferencia a activos"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer asset from AUC to Asset"
msgstr "Transferir activo de AUC a Activo"
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer date must be after the asset journal entry"
msgstr "La fecha de transferencia debe ser posterior al asiento del activo"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Transferable"
msgstr "Transferible"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__price_unit
msgid "Unit Price"
msgstr "Precio Unitario"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
#, python-format
msgid "Value of new asset must greater than 0.0"
msgstr "El valor del nuevo activo debe ser superior a 0,0"
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__is_transfer
msgid ""
"flag indicating if the asset has been transferred from/to another asset."
msgstr "que indica si el activo ha sido transferido de/a otro activo."
#~ msgid "Analytic account"
#~ msgstr "Cuenta Analítica"
#~ msgid "Analytic tags"
#~ msgstr "Etiquetas analíticas"

317
account_asset_transfer/i18n/it.po Executable file
View File

@@ -0,0 +1,317 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_asset_transfer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 16.0\n"
"Report-Msgid-Bugs-To: \n"
"PO-Revision-Date: 2024-11-19 14:06+0000\n"
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
"Language-Team: none\n"
"Language: it\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
"X-Generator: Weblate 5.6.2\n"
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__can_transfer
msgid "Allow transfer AUC (running) to Asset"
msgstr "Consenti trasferimento CiC (in sviluppo) al cespite"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_distribution
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_distribution
msgid "Analytic"
msgstr "Analitica"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_distribution_search
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_distribution_search
msgid "Analytic Distribution Search"
msgstr "Ricerca distribuzione analitica"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_precision
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_precision
msgid "Analytic Precision"
msgstr "Precisione analitica"
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset
msgid "Asset"
msgstr "Cespite"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset From"
msgstr "Maschera cespite"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_name
msgid "Asset Name"
msgstr "Nome cespite"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_profile_id
msgid "Asset Profile"
msgstr "Profilo cespite"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset To"
msgstr "A cespite"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
#, python-format
msgid "Asset Transfer Journal Entry"
msgstr "Registrazione contabile trasferimento cespite"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_value
msgid "Asset Value"
msgstr "Valore cespite"
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_profile
msgid "Asset profile"
msgstr "Profilo cespite"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
#, python-format
msgid "Assets"
msgstr "Cespiti"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__balance
msgid "Balance"
msgstr "Saldo"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__can_transfer
msgid "Can Transfer"
msgstr "Può trasferire"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Can be transferred"
msgstr "Può essere trasferito"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Cancel"
msgstr "Annulla"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__company_id
msgid "Company"
msgstr "Azienda"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_uid
msgid "Created by"
msgstr "Creato da"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_date
msgid "Created on"
msgstr "Creato il"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__currency_id
msgid "Currency"
msgstr "Valuta"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__display_name
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__display_name
msgid "Display Name"
msgstr "Nome visualizzato"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Expand Asset"
msgstr "Espandi cespite"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "From"
msgstr "Da"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_ids
msgid "From Asset(s)"
msgstr "Da cespite(i)"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_value
msgid "From Value"
msgstr "Dal valore"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__id
msgid "ID"
msgstr "ID"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__is_transfer
msgid "Is Transfer"
msgstr "È un trasferimento"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer____last_update
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line____last_update
msgid "Last Modified on"
msgstr "Ultima modifica il"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_uid
msgid "Last Updated by"
msgstr "Ultimo aggiornamento di"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_date
msgid "Last Updated on"
msgstr "Ultimo aggiornamento il"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__note
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Notes"
msgstr "Note"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
#, python-format
msgid "Only running assets without depreciation (AUC) can transfer"
msgstr ""
"Si possono trasferire solo i cespiti in sviluppo senza ammortamenti (CiC)"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__partner_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__partner_id
msgid "Partner"
msgstr "Partner"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__quantity
msgid "Quantity"
msgstr "Quantità"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid ""
"There are no journal entries on current asset(s), asset transfer will use "
"account settings from the asset/asset profile instead."
msgstr ""
"Non ci sono registrazioni contabili nei cespiti attuali, il trasferimento di "
"cespite utilizzerà le impostazioni conto dal cespite/profilo del cespite."
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_ids
msgid "To Asset(s)"
msgstr "Al cespite(i)"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "To New Asset"
msgstr "A nuovo cespite"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_value
msgid "To Value"
msgstr "Al valore"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
#, python-format
msgid "Total values of new assets must equal to source assets"
msgstr ""
"I valori totali dei nuovi cespiti devono essere uguali ai cespiti origine"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__transfer_id
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer"
msgstr "Trasferimento"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
#, python-format
msgid "Transfer AUC to Asset & Create Transfer Journal Entry"
msgstr ""
"Trasferisci CiC al cespite e crea il movimento giornale del trasferimento"
#. module: account_asset_transfer
#: model:ir.actions.act_window,name:account_asset_transfer.action_account_asset_transfer
#: model:ir.actions.server,name:account_asset_transfer.action_asset_transfer_from_list
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Transfer Asset"
msgstr "Cespite trasferimento"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer Date"
msgstr "Data trasferimento"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_profile__transfer_journal_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__transfer_journal_id
msgid "Transfer Journal"
msgstr "Registro trasferimento"
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer_line
msgid "Transfer To Asset"
msgstr "Trasferisci a cespite"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer asset from AUC to Asset"
msgstr "Trasferisci cespite da CiC a cespite"
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer date must be after the asset journal entry"
msgstr ""
"La data trasferimento deve essere successiva alla registrazione contabile "
"del cespite"
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Transferable"
msgstr "Trasferibile"
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__price_unit
msgid "Unit Price"
msgstr "Prezzo unitario"
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
#, python-format
msgid "Value of new asset must greater than 0.0"
msgstr "Il valore del nuovo cespite deve essere maggiore di 0.0"
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__is_transfer
msgid ""
"flag indicating if the asset has been transferred from/to another asset."
msgstr "flag che indica se il cespite è stato trasferito da/a un altro cespite."

View File

@@ -0,0 +1,296 @@
# Translation of Odoo Server.
# This file contains the translation of the following modules:
# * account_asset_transfer
#
msgid ""
msgstr ""
"Project-Id-Version: Odoo Server 18.0\n"
"Report-Msgid-Bugs-To: \n"
"Last-Translator: Automatically generated\n"
"Language-Team: none\n"
"Language: pt_BR\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: \n"
"Plural-Forms: nplurals=2; plural=n > 1;\n"
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__can_transfer
msgid "Allow transfer AUC (running) to Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_distribution
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_distribution
msgid "Analytic Distribution"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__analytic_precision
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__analytic_precision
msgid "Analytic Precision"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset
msgid "Asset"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset From"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_name
msgid "Asset Name"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_profile_id
msgid "Asset Profile"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Asset To"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
msgid "Asset Transfer Journal Entry"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__asset_value
msgid "Asset Value"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_profile
msgid "Asset profile"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
msgid "Assets"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__balance
msgid "Balance"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__can_transfer
msgid "Can Transfer"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Can be transferred"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Cancel"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__company_id
msgid "Company"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_uid
msgid "Created by"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__create_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__create_date
msgid "Created on"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__currency_id
msgid "Currency"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__display_name
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__display_name
msgid "Display Name"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__distribution_analytic_account_ids
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__distribution_analytic_account_ids
msgid "Distribution Analytic Account"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Expand Asset"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "From"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_ids
msgid "From Asset(s)"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__from_asset_value
msgid "From Value"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__id
msgid "ID"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset__is_transfer
msgid "Is Transfer"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_uid
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_uid
msgid "Last Updated by"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__write_date
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__write_date
msgid "Last Updated on"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__note
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Notes"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
msgid "Only running assets without depreciation (AUC) can transfer"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__partner_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__partner_id
msgid "Partner"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__quantity
msgid "Quantity"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid ""
"There are no journal entries on current asset(s), asset transfer will use "
"account settings from the asset/asset profile instead."
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_ids
msgid "To Asset(s)"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "To New Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__to_asset_value
msgid "To Value"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
msgid "Total values of new assets must equal to source assets"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__transfer_id
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/models/account_asset.py:0
msgid "Transfer AUC to Asset & Create Transfer Journal Entry"
msgstr ""
#. module: account_asset_transfer
#: model:ir.actions.act_window,name:account_asset_transfer.action_account_asset_transfer
#: model:ir.actions.server,name:account_asset_transfer.action_asset_transfer_from_list
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_transfer_view_form
msgid "Transfer Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer Date"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_profile__transfer_journal_id
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer__transfer_journal_id
msgid "Transfer Journal"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model,name:account_asset_transfer.model_account_asset_transfer_line
msgid "Transfer To Asset"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_form
msgid "Transfer asset from AUC to Asset"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset_transfer__date_transfer
msgid "Transfer date must be after the asset journal entry"
msgstr ""
#. module: account_asset_transfer
#: model_terms:ir.ui.view,arch_db:account_asset_transfer.account_asset_view_search
msgid "Transferable"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,field_description:account_asset_transfer.field_account_asset_transfer_line__price_unit
msgid "Unit Price"
msgstr ""
#. module: account_asset_transfer
#. odoo-python
#: code:addons/account_asset_transfer/wizard/account_asset_transfer.py:0
msgid "Value of new asset must greater than 0.0"
msgstr ""
#. module: account_asset_transfer
#: model:ir.model.fields,help:account_asset_transfer.field_account_asset__is_transfer
msgid ""
"flag indicating if the asset has been transferred from/to another asset."
msgstr ""

View File

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

View File

@@ -0,0 +1,104 @@
# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
from odoo.exceptions import ValidationError
class AccountAsset(models.Model):
_inherit = "account.asset"
can_transfer = fields.Boolean(
compute="_compute_can_transfer",
search="_search_can_transfer",
help="Allow transfer AUC (running) to Asset",
)
is_transfer = fields.Boolean(
help="flag indicating if the asset has been transferred from/to another asset."
)
def _compute_can_transfer(self):
for asset in self:
asset.can_transfer = (
not asset.method_number
and asset.value_residual
and asset.state == "open"
)
def _search_can_transfer(self, operator, value):
if operator == "=":
return [
("method_number", "=", 0),
("value_residual", ">", 0),
("state", "=", "open"),
]
if operator == "!=":
return [
"|",
"|",
"|",
("method_number", ">", 0),
("value_residual", "=", 0),
("state", "!=", "open"),
]
def _check_can_transfer(self):
if not all(self.mapped("can_transfer")):
raise ValidationError(
self.env._(
"Only running assets without depreciation (AUC) can transfer"
)
)
def transfer(self):
ctx = dict(self.env.context, active_ids=self.ids)
self._check_can_transfer()
return {
"name": self.env._("Transfer AUC to Asset & Create Transfer Journal Entry"),
"view_mode": "form",
"res_model": "account.asset.transfer",
"target": "new",
"type": "ir.actions.act_window",
"context": ctx,
}
def open_assets(self):
self.ensure_one()
moves = self.account_move_line_ids.mapped("move_id")
assets = self.env["account.asset"]
asset_from = self._context.get("asset_from")
asset_to = self._context.get("asset_to")
for move in moves:
# Source Assets, we check from move that create this asset
if (
asset_from
and self.id
not in move.line_ids.filtered(lambda line: line.credit)
.mapped("asset_id")
.ids
):
assets = move.line_ids.filtered(lambda line: line.credit).mapped(
"asset_id"
)
break
# Destination Assets, we check from move that create destination asset
elif (
asset_to
and self.id
in move.line_ids.filtered(lambda line: line.credit)
.mapped("asset_id")
.ids
):
assets = move.line_ids.filtered(lambda line: line.debit).mapped(
"asset_id"
)
break
return {
"name": self.env._("Assets"),
"view_mode": "tree,form",
"res_model": "account.asset",
"view_id": False,
"type": "ir.actions.act_window",
"context": self._context,
"domain": [("id", "in", assets.ids)],
}

View File

@@ -0,0 +1,14 @@
# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields, models
class AccountAssetProfile(models.Model):
_inherit = "account.asset.profile"
transfer_journal_id = fields.Many2one(
comodel_name="account.journal",
domain="[('type', '=', 'general'), ('company_id', '=', company_id)]",
check_company=True,
)

View File

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

View File

@@ -0,0 +1,2 @@
On asset profile, user can setup default Transfer Journal, to be used
during transfer.

View File

@@ -0,0 +1,4 @@
- [Ecosoft](http://ecosoft.co.th):
- Kitti U. \<<kittiu@ecosoft.co.th>\>
- Pimolnat Suntian \<<pimolnats@ecosoft.co.th>\>
- Saran Lim. \<<saranl@ecosoft.co.th>\>

View File

@@ -0,0 +1,11 @@
This module allow transferring assets under construction (AUC) to normal
assets.
AUC is Asset under construction where some assets are in construction
phase and cost needs to be captured for the time being. Once asset is
fully completed then cost would be transferred to final asset
**Note:**
- If the asset don't have journal entries, asset transfer will use
account settings from the asset/asset profile instead.

View File

@@ -0,0 +1,12 @@
Given asset under construction has been created, i.e., by vendor bill.
- Go to asset menu
- Filter "Transferrable" assets and look for desired assets to transfer
- Select assets to transfer, and click action "Transfer Asset"
- On asset transfer wizard, on the "To New Asset" tab, choose new
profile(s)
- Click "Transfer" button
- Odoo will create journal entry as well as new asset(s)
**Note:** You can click "Expand Asset" button for expand asset line that
selects the asset profile set to be "Create an asset by product item"

View File

@@ -0,0 +1,3 @@
id,name,model_id:id,group_id:id,perm_read,perm_write,perm_create,perm_unlink
access_account_asset_transfer_user,account.asset.transfer,model_account_asset_transfer,account.group_account_user,1,1,1,1
access_account_asset_transfer_line_user,account.asset.transfer.line,model_account_asset_transfer_line,account.group_account_user,1,1,1,1
1 id name model_id:id group_id:id perm_read perm_write perm_create perm_unlink
2 access_account_asset_transfer_user account.asset.transfer model_account_asset_transfer account.group_account_user 1 1 1 1
3 access_account_asset_transfer_line_user account.asset.transfer.line model_account_asset_transfer_line account.group_account_user 1 1 1 1

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

View File

@@ -0,0 +1,461 @@
<!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>Asset Transfer from AUC to Asset</title>
<style type="text/css">
/*
:Author: David Goodger (goodger@python.org)
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $
:Copyright: This stylesheet has been placed in the public domain.
Default cascading style sheet for the HTML output of Docutils.
Despite the name, some widely supported CSS2 features are used.
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to
customize this style sheet.
*/
/* used to remove borders from tables and images */
.borderless, table.borderless td, table.borderless th {
border: 0 }
table.borderless td, table.borderless th {
/* Override padding for "table.docutils td" with "! important".
The right padding separates the table cells. */
padding: 0 0.5em 0 0 ! important }
.first {
/* Override more specific margin styles with "! important". */
margin-top: 0 ! important }
.last, .with-subtitle {
margin-bottom: 0 ! important }
.hidden {
display: none }
.subscript {
vertical-align: sub;
font-size: smaller }
.superscript {
vertical-align: super;
font-size: smaller }
a.toc-backref {
text-decoration: none ;
color: black }
blockquote.epigraph {
margin: 2em 5em ; }
dl.docutils dd {
margin-bottom: 0.5em }
object[type="image/svg+xml"], object[type="application/x-shockwave-flash"] {
overflow: hidden;
}
/* Uncomment (and remove this text!) to get bold-faced definition list terms
dl.docutils dt {
font-weight: bold }
*/
div.abstract {
margin: 2em 5em }
div.abstract p.topic-title {
font-weight: bold ;
text-align: center }
div.admonition, div.attention, div.caution, div.danger, div.error,
div.hint, div.important, div.note, div.tip, div.warning {
margin: 2em ;
border: medium outset ;
padding: 1em }
div.admonition p.admonition-title, div.hint p.admonition-title,
div.important p.admonition-title, div.note p.admonition-title,
div.tip p.admonition-title {
font-weight: bold ;
font-family: sans-serif }
div.attention p.admonition-title, div.caution p.admonition-title,
div.danger p.admonition-title, div.error p.admonition-title,
div.warning p.admonition-title, .code .error {
color: red ;
font-weight: bold ;
font-family: sans-serif }
/* Uncomment (and remove this text!) to get reduced vertical space in
compound paragraphs.
div.compound .compound-first, div.compound .compound-middle {
margin-bottom: 0.5em }
div.compound .compound-last, div.compound .compound-middle {
margin-top: 0.5em }
*/
div.dedication {
margin: 2em 5em ;
text-align: center ;
font-style: italic }
div.dedication p.topic-title {
font-weight: bold ;
font-style: normal }
div.figure {
margin-left: 2em ;
margin-right: 2em }
div.footer, div.header {
clear: both;
font-size: smaller }
div.line-block {
display: block ;
margin-top: 1em ;
margin-bottom: 1em }
div.line-block div.line-block {
margin-top: 0 ;
margin-bottom: 0 ;
margin-left: 1.5em }
div.sidebar {
margin: 0 0 0.5em 1em ;
border: medium outset ;
padding: 1em ;
background-color: #ffffee ;
width: 40% ;
float: right ;
clear: right }
div.sidebar p.rubric {
font-family: sans-serif ;
font-size: medium }
div.system-messages {
margin: 5em }
div.system-messages h1 {
color: red }
div.system-message {
border: medium outset ;
padding: 1em }
div.system-message p.system-message-title {
color: red ;
font-weight: bold }
div.topic {
margin: 2em }
h1.section-subtitle, h2.section-subtitle, h3.section-subtitle,
h4.section-subtitle, h5.section-subtitle, h6.section-subtitle {
margin-top: 0.4em }
h1.title {
text-align: center }
h2.subtitle {
text-align: center }
hr.docutils {
width: 75% }
img.align-left, .figure.align-left, object.align-left, table.align-left {
clear: left ;
float: left ;
margin-right: 1em }
img.align-right, .figure.align-right, object.align-right, table.align-right {
clear: right ;
float: right ;
margin-left: 1em }
img.align-center, .figure.align-center, object.align-center {
display: block;
margin-left: auto;
margin-right: auto;
}
table.align-center {
margin-left: auto;
margin-right: auto;
}
.align-left {
text-align: left }
.align-center {
clear: both ;
text-align: center }
.align-right {
text-align: right }
/* reset inner alignment in figures */
div.align-right {
text-align: inherit }
/* div.align-center * { */
/* text-align: left } */
.align-top {
vertical-align: top }
.align-middle {
vertical-align: middle }
.align-bottom {
vertical-align: bottom }
ol.simple, ul.simple {
margin-bottom: 1em }
ol.arabic {
list-style: decimal }
ol.loweralpha {
list-style: lower-alpha }
ol.upperalpha {
list-style: upper-alpha }
ol.lowerroman {
list-style: lower-roman }
ol.upperroman {
list-style: upper-roman }
p.attribution {
text-align: right ;
margin-left: 50% }
p.caption {
font-style: italic }
p.credits {
font-style: italic ;
font-size: smaller }
p.label {
white-space: nowrap }
p.rubric {
font-weight: bold ;
font-size: larger ;
color: maroon ;
text-align: center }
p.sidebar-title {
font-family: sans-serif ;
font-weight: bold ;
font-size: larger }
p.sidebar-subtitle {
font-family: sans-serif ;
font-weight: bold }
p.topic-title {
font-weight: bold }
pre.address {
margin-bottom: 0 ;
margin-top: 0 ;
font: inherit }
pre.literal-block, pre.doctest-block, pre.math, pre.code {
margin-left: 2em ;
margin-right: 2em }
pre.code .ln { color: gray; } /* line numbers */
pre.code, code { background-color: #eeeeee }
pre.code .comment, code .comment { color: #5C6576 }
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold }
pre.code .literal.string, code .literal.string { color: #0C5404 }
pre.code .name.builtin, code .name.builtin { color: #352B84 }
pre.code .deleted, code .deleted { background-color: #DEB0A1}
pre.code .inserted, code .inserted { background-color: #A3D289}
span.classifier {
font-family: sans-serif ;
font-style: oblique }
span.classifier-delimiter {
font-family: sans-serif ;
font-weight: bold }
span.interpreted {
font-family: sans-serif }
span.option {
white-space: nowrap }
span.pre {
white-space: pre }
span.problematic, pre.problematic {
color: red }
span.section-subtitle {
/* font-size relative to parent (h1..h6 element) */
font-size: 80% }
table.citation {
border-left: solid 1px gray;
margin-left: 1px }
table.docinfo {
margin: 2em 4em }
table.docutils {
margin-top: 0.5em ;
margin-bottom: 0.5em }
table.footnote {
border-left: solid 1px black;
margin-left: 1px }
table.docutils td, table.docutils th,
table.docinfo td, table.docinfo th {
padding-left: 0.5em ;
padding-right: 0.5em ;
vertical-align: top }
table.docutils th.field-name, table.docinfo th.docinfo-name {
font-weight: bold ;
text-align: left ;
white-space: nowrap ;
padding-left: 0 }
/* "booktabs" style (no vertical lines) */
table.docutils.booktabs {
border: 0px;
border-top: 2px solid;
border-bottom: 2px solid;
border-collapse: collapse;
}
table.docutils.booktabs * {
border: 0px;
}
table.docutils.booktabs th {
border-bottom: thin solid;
text-align: left;
}
h1 tt.docutils, h2 tt.docutils, h3 tt.docutils,
h4 tt.docutils, h5 tt.docutils, h6 tt.docutils {
font-size: 100% }
ul.auto-toc {
list-style-type: none }
</style>
</head>
<body>
<div class="document" id="asset-transfer-from-auc-to-asset">
<h1 class="title">Asset Transfer from AUC to Asset</h1>
<!-- !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:15557a7518bd46554ad24af5bfd64c60aa93766d2886d6a20d35acd2440ab7ba
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -->
<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/account-financial-tools/tree/18.0/account_asset_transfer"><img alt="OCA/account-financial-tools" src="https://img.shields.io/badge/github-OCA%2Faccount--financial--tools-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/account-financial-tools-18-0/account-financial-tools-18-0-account_asset_transfer"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/account-financial-tools&amp;target_branch=18.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p>
<p>This module allow transferring assets under construction (AUC) to normal
assets.</p>
<p>AUC is Asset under construction where some assets are in construction
phase and cost needs to be captured for the time being. Once asset is
fully completed then cost would be transferred to final asset</p>
<p><strong>Note:</strong></p>
<ul class="simple">
<li>If the asset dont have journal entries, asset transfer will use
account settings from the asset/asset profile instead.</li>
</ul>
<p><strong>Table of contents</strong></p>
<div class="contents local topic" id="contents">
<ul class="simple">
<li><a class="reference internal" href="#configuration" id="toc-entry-1">Configuration</a></li>
<li><a class="reference internal" href="#usage" id="toc-entry-2">Usage</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="configuration">
<h1><a class="toc-backref" href="#toc-entry-1">Configuration</a></h1>
<p>On asset profile, user can setup default Transfer Journal, to be used
during transfer.</p>
</div>
<div class="section" id="usage">
<h1><a class="toc-backref" href="#toc-entry-2">Usage</a></h1>
<p>Given asset under construction has been created, i.e., by vendor bill.</p>
<ul class="simple">
<li>Go to asset menu</li>
<li>Filter “Transferrable” assets and look for desired assets to transfer</li>
<li>Select assets to transfer, and click action “Transfer Asset”</li>
<li>On asset transfer wizard, on the “To New Asset” tab, choose new
profile(s)</li>
<li>Click “Transfer” button</li>
<li>Odoo will create journal entry as well as new asset(s)</li>
</ul>
<p><strong>Note:</strong> You can click “Expand Asset” button for expand asset line that
selects the asset profile set to be “Create an asset by product item”</p>
</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/account-financial-tools/issues">GitHub Issues</a>.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
<a class="reference external" href="https://github.com/OCA/account-financial-tools/issues/new?body=module:%20account_asset_transfer%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p>
<p>Do not contact contributors directly about support or help with technical issues.</p>
</div>
<div class="section" id="credits">
<h1><a class="toc-backref" href="#toc-entry-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>Ecosoft</li>
</ul>
</div>
<div class="section" id="contributors">
<h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2>
<ul class="simple">
<li><a class="reference external" href="http://ecosoft.co.th">Ecosoft</a>:<ul>
<li>Kitti U. &lt;<a class="reference external" href="mailto:kittiu&#64;ecosoft.co.th">kittiu&#64;ecosoft.co.th</a>&gt;</li>
<li>Pimolnat Suntian &lt;<a class="reference external" href="mailto:pimolnats&#64;ecosoft.co.th">pimolnats&#64;ecosoft.co.th</a>&gt;</li>
<li>Saran Lim. &lt;<a class="reference external" href="mailto:saranl&#64;ecosoft.co.th">saranl&#64;ecosoft.co.th</a>&gt;</li>
</ul>
</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/kittiu"><img alt="kittiu" src="https://github.com/kittiu.png?size=40px" /></a> <a class="reference external image-reference" href="https://github.com/Saran440"><img alt="Saran440" src="https://github.com/Saran440.png?size=40px" /></a></p>
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/account-financial-tools/tree/18.0/account_asset_transfer">OCA/account-financial-tools</a> project on GitHub.</p>
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p>
</div>
</div>
</div>
</body>
</html>

View File

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

View File

@@ -0,0 +1,141 @@
# Copyright 2021 Ecosoft Co., Ltd. (http://ecosoft.co.th)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import fields
from odoo.exceptions import UserError
from odoo.tests import Form, tagged
from odoo.addons.account_asset_management.tests.test_account_asset_management import (
TestAssetManagement,
)
@tagged("post_install", "-at_install")
class TestAccountAssetTransfer(TestAssetManagement):
@classmethod
def setUpClass(cls):
super().setUpClass()
# Profile Under Construction
cls.profile_auc = cls.asset_profile_model.create(
{
"account_expense_depreciation_id": cls.company_data[
"default_account_expense"
].id,
"account_asset_id": cls.company_data["default_account_assets"].id,
"account_depreciation_id": cls.company_data[
"default_account_assets"
].id,
"journal_id": cls.company_data["default_journal_purchase"].id,
"transfer_journal_id": cls.company_data["default_journal_misc"].id,
"asset_product_item": True,
"name": "Asset Under Construction",
"method_time": "year",
"method_number": 0,
"method_period": "year",
}
)
# Profile normal asset
cls.profile_asset = cls.asset_profile_model.create(
{
"account_expense_depreciation_id": cls.company_data[
"default_account_expense"
].id,
"account_asset_id": cls.company_data["default_account_assets"].id,
"account_depreciation_id": cls.company_data[
"default_account_assets"
].id,
"journal_id": cls.company_data["default_journal_purchase"].id,
"asset_product_item": True,
"name": "Room - 5 Years",
"method_time": "year",
"method_number": 5,
"method_period": "year",
}
)
def test_01_asset_transfer_auc_to_asset(self):
"""Create AUC and then transfer to normal asset class,
I expect a new journal entry will be created"""
# Create 3 AUC assets from an invoice
move_form = Form(
self.env["account.move"].with_context(
default_move_type="in_invoice", check_move_validity=False
)
)
move_form.invoice_date = fields.Date.context_today(self.env.user)
move_form.partner_id = self.partner
with move_form.invoice_line_ids.new() as line_form:
line_form.name = "Wall"
line_form.price_unit = 2000.00
line_form.asset_profile_id = self.profile_auc
with move_form.invoice_line_ids.new() as line_form:
line_form.name = "Roof"
line_form.price_unit = 10000.00
line_form.asset_profile_id = self.profile_auc
with move_form.invoice_line_ids.new() as line_form:
line_form.name = "Floor"
line_form.price_unit = 10000.00
line_form.asset_profile_id = self.profile_auc
self.invoice_auc = move_form.save()
self.invoice_auc.invoice_line_ids.write(
{"asset_profile_id": self.profile_auc.id}
)
self.invoice_auc.action_post()
# Create AUC asset without move
asset_auc = self.env["account.asset"].create(
{
"name": "Door",
"profile_id": self.profile_auc.id,
"purchase_value": 1000,
"date_start": fields.Date.context_today(self.env.user),
}
)
# Test can_transfer status
assets = self.invoice_auc.invoice_line_ids.mapped("asset_id")
assets += asset_auc
self.assertFalse(list(set(assets.mapped("can_transfer")))[0])
assets.validate()
assets.invalidate_model()
# can_transfer = True after validate
self.assertTrue(list(set(assets.mapped("can_transfer")))[0])
self.assertEqual(list(set(assets.mapped("is_transfer"))), [False])
# Keep source asset
source_assets = assets
# Create Asset Transfer
transfer_form = Form(
self.env["account.asset.transfer"].with_context(active_ids=assets.ids)
)
transfer_wiz = transfer_form.save()
with self.assertRaises(UserError):
transfer_wiz.transfer()
with transfer_form.to_asset_ids.new() as to_asset:
to_asset.asset_name = "Asset 1"
to_asset.asset_profile_id = self.profile_asset
to_asset.quantity = 6
to_asset.price_unit = 500
with transfer_form.to_asset_ids.new() as to_asset:
to_asset.asset_name = "Asset 2"
to_asset.asset_profile_id = self.profile_asset
to_asset.quantity = 1
to_asset.price_unit = 20000
transfer_form.save()
# Test expand asset lines from quantity line
self.assertEqual(len(transfer_wiz.to_asset_ids), 2)
transfer_wiz.expand_to_asset_ids()
self.assertEqual(len(transfer_wiz.to_asset_ids), 7)
res = transfer_wiz.transfer()
transfer_move = self.env["account.move"].browse(res["domain"][0][2])
assets = transfer_move.invoice_line_ids.mapped("asset_id")
# 2 new assets created, and value equal to original assets
new_assets = assets.filtered(lambda asset: asset.state == "draft")
self.assertEqual(sum(new_assets.mapped("purchase_value")), 23000)
# All asset transfer will change to is_transfer
self.assertEqual(list(set(assets.mapped("is_transfer"))), [True])
# Check source asset from new asset
result = new_assets[0].with_context(asset_from=1).open_assets()
self.assertEqual(sorted(result["domain"][0][2]), source_assets.ids)
# Check dest asset from source asset
result = source_assets[0].with_context(asset_to=1).open_assets()
self.assertEqual(result["domain"][0][2], new_assets.ids)

View File

@@ -0,0 +1,79 @@
<odoo>
<record id="account_asset_view_form" model="ir.ui.view">
<field name="name">account.asset.form</field>
<field name="model">account.asset</field>
<field
name="inherit_id"
ref="account_asset_management.account_asset_view_form"
/>
<field name="arch" type="xml">
<button name="remove" position="after">
<field name="can_transfer" invisible="1" />
<field name="is_transfer" invisible="1" />
<button
name="transfer"
string="Transfer"
type="object"
groups="account.group_account_manager"
invisible="not can_transfer"
help="Transfer asset from AUC to Asset"
/>
</button>
<xpath expr="//header[last()]" position="after">
<div
class="alert alert-warning"
role="alert"
style="margin-bottom:0px;"
invisible="not can_transfer or account_move_line_ids"
>
There are no journal entries on current asset(s), asset transfer will use account settings from the asset/asset profile instead.
</div>
</xpath>
<xpath
expr="//div[@name='button_box']/button[@name='open_entries']"
position="before"
>
<button
name="open_assets"
string="Asset From"
type="object"
class="oe_stat_button"
context="{'asset_from': 1}"
invisible="not is_transfer"
icon="fa-bars"
/>
<button
name="open_assets"
string="Asset To"
type="object"
class="oe_stat_button"
context="{'asset_to': 1}"
invisible="not is_transfer"
icon="fa-bars"
/>
</xpath>
</field>
</record>
<record id="account_asset_view_search" model="ir.ui.view">
<field name="name">account.asset.search</field>
<field name="model">account.asset</field>
<field
name="inherit_id"
ref="account_asset_management.account_asset_view_search"
/>
<field name="arch" type="xml">
<xpath expr="//separator[last()]" position="before">
<separator name="transfer" />
<filter
string="Transferable"
name="can_transfer"
domain="[('can_transfer', '=', True)]"
help="Can be transferred"
/>
</xpath>
</field>
</record>
</odoo>

View File

@@ -0,0 +1,16 @@
<odoo>
<record id="account_asset_profile_view_form" model="ir.ui.view">
<field name="name">account.asset.profile.form</field>
<field name="model">account.asset.profile</field>
<field
name="inherit_id"
ref="account_asset_management.account_asset_profile_view_form"
/>
<field name="arch" type="xml">
<field name="company_id" position="after">
<separator />
<field name="transfer_journal_id" />
</field>
</field>
</record>
</odoo>

View File

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

View File

@@ -0,0 +1,262 @@
# Copyright 2020 Ecosoft Co., Ltd. (http://ecosoft.co.th)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo import Command, api, fields, models
from odoo.exceptions import UserError
from odoo.tools import float_compare
class AccountAssetTransfer(models.TransientModel):
_name = "account.asset.transfer"
_inherit = "analytic.mixin"
_description = "Transfer Asset"
_check_company_auto = True
company_id = fields.Many2one(
comodel_name="res.company",
string="Company",
readonly=True,
required=True,
)
currency_id = fields.Many2one(
comodel_name="res.currency",
related="company_id.currency_id",
)
transfer_journal_id = fields.Many2one(
comodel_name="account.journal",
domain="[('type', '=', 'general'), ('company_id', '=', company_id)]",
string="Transfer Journal",
required=True,
check_company=True,
)
date_transfer = fields.Date(
string="Transfer Date",
required=True,
default=fields.Date.today,
help="Transfer date must be after the asset journal entry",
)
note = fields.Text("Notes")
from_asset_ids = fields.Many2many(
comodel_name="account.asset",
string="From Asset(s)",
readonly=True,
)
to_asset_ids = fields.One2many(
comodel_name="account.asset.transfer.line",
inverse_name="transfer_id",
string="To Asset(s)",
)
from_asset_value = fields.Monetary(
string="From Value",
compute="_compute_asset_value",
)
to_asset_value = fields.Monetary(
string="To Value",
compute="_compute_asset_value",
)
balance = fields.Monetary(
compute="_compute_asset_value",
)
partner_id = fields.Many2one(
comodel_name="res.partner",
string="Partner",
)
@api.model
def default_get(self, field_list):
res = super().default_get(field_list)
from_asset_ids = self.env.context.get("active_ids")
assets = self.env["account.asset"].browse(from_asset_ids)
# Prepare default values
company = assets.mapped("company_id")
company.ensure_one()
journals = assets.mapped("profile_id.transfer_journal_id")
partners = assets.mapped("partner_id")
analytics = assets.mapped("analytic_distribution")
# Combine analytic to dict
analytic_dict = {}
for analytic in analytics:
if analytic:
for key, value in analytic.items():
analytic_dict.setdefault(key, value)
# Assign values
res["company_id"] = company.id
res["partner_id"] = partners[0].id if len(partners) == 1 else False
res["from_asset_ids"] = [(4, asset_id) for asset_id in assets.ids]
res["transfer_journal_id"] = journals[:1].id
res["analytic_distribution"] = analytic_dict
return res
@api.depends("from_asset_ids", "to_asset_ids")
def _compute_asset_value(self):
for rec in self:
rec.from_asset_value = sum(rec.from_asset_ids.mapped("purchase_value"))
rec.to_asset_value = sum(rec.to_asset_ids.mapped("asset_value"))
balance = rec.from_asset_value - rec.to_asset_value
rec.balance = balance if balance > 0 else 0
def _check_amount_transfer(self):
self.ensure_one()
if float_compare(self.from_asset_value, self.to_asset_value, 2) != 0:
raise UserError(
self.env._("Total values of new assets must equal to source assets")
)
if self.to_asset_ids.filtered(lambda asset: asset.asset_value <= 0):
raise UserError(self.env._("Value of new asset must greater than 0.0"))
def _get_new_move_transfer(self):
return {
"date": self.date_transfer,
"journal_id": self.transfer_journal_id.id,
"narration": self.note,
}
def transfer(self):
self.ensure_one()
self.from_asset_ids._check_can_transfer()
self._check_amount_transfer()
# Create transfer journal entry
move_vals = self._get_new_move_transfer()
move = self.env["account.move"].create(move_vals)
move_lines = self._get_transfer_data()
move.with_context(allow_asset=True).write({"line_ids": move_lines})
# Post move and create new assets
move.action_post()
# Set source assets as removed
self.from_asset_ids.write(
{"state": "removed", "date_remove": self.date_transfer}
)
# Set all assets is transfer document
move.line_ids.mapped("asset_id").write({"is_transfer": True})
return {
"name": self.env._("Asset Transfer Journal Entry"),
"view_mode": "list,form",
"res_model": "account.move",
"type": "ir.actions.act_window",
"context": self.env.context,
"domain": [("id", "=", move.id)],
"search_view_id": [
self.env.ref("account.view_account_move_filter").id,
"search",
],
"views": [
[self.env.ref("account.view_move_tree").id, "list"],
[self.env.ref("account.view_move_form").id, "form"],
],
}
def _get_move_line_from_asset(self, asset):
# Case asset created with account move
if asset.account_move_line_ids:
asset.account_move_line_ids.ensure_one()
move_line = asset.account_move_line_ids[0]
return {
"name": move_line.name,
"account_id": move_line.account_id.id,
"analytic_distribution": move_line.analytic_distribution or {},
"debit": move_line.credit,
"credit": move_line.debit,
"partner_id": move_line.partner_id.id,
"asset_id": move_line.asset_id.id, # Link to existing asset
}
# Case asset created without account moves
else:
return {
"name": asset.name,
"account_id": asset.profile_id.account_asset_id.id,
"analytic_distribution": asset.analytic_distribution or {},
"debit": 0.0,
"credit": asset.purchase_value or 0.0,
"partner_id": asset.partner_id.id,
"asset_id": asset.id, # Link to existing asset
}
def _get_move_line_to_asset(self, to_asset):
return {
"name": to_asset.asset_name,
"account_id": to_asset.asset_profile_id.account_asset_id.id,
"analytic_distribution": to_asset.analytic_distribution or {},
"debit": to_asset.asset_value,
"credit": 0.0,
"partner_id": to_asset.partner_id.id,
"asset_profile_id": to_asset.asset_profile_id.id, # To create new asset
"price_subtotal": to_asset.asset_value,
}
def _get_transfer_data(self):
# Create lines from assets
move_lines = [
Command.create(self._get_move_line_from_asset(from_asset))
for from_asset in self.from_asset_ids
]
# Create lines for new assets
move_lines += [
Command.create(self._get_move_line_to_asset(to_asset))
for to_asset in self.to_asset_ids
]
return move_lines
def expand_to_asset_ids(self):
self.ensure_one()
lines = self.to_asset_ids.filtered(
lambda asset: asset.asset_profile_id and asset.quantity
)
for line in lines:
line._expand_asset_line()
result = self.env["ir.actions.act_window"]._for_xml_id(
"account_asset_transfer.action_account_asset_transfer"
)
result.update({"res_id": self.id})
return result
class AccountAssetTransferLine(models.TransientModel):
_name = "account.asset.transfer.line"
_inherit = "analytic.mixin"
_description = "Transfer To Asset"
transfer_id = fields.Many2one(
comodel_name="account.asset.transfer",
index=True,
)
asset_profile_id = fields.Many2one(
comodel_name="account.asset.profile",
string="Asset Profile",
required=True,
)
asset_name = fields.Char(required=True)
quantity = fields.Float(
required=True,
default=0.0,
)
price_unit = fields.Float(
string="Unit Price",
required=True,
default=0.0,
)
asset_value = fields.Float(
compute="_compute_asset_value",
default=0.0,
store=True,
required=True,
)
partner_id = fields.Many2one(
comodel_name="res.partner",
string="Partner",
)
@api.depends("quantity", "price_unit")
def _compute_asset_value(self):
for rec in self:
rec.asset_value = rec.quantity * rec.price_unit
def _expand_asset_line(self):
self.ensure_one()
profile = self.asset_profile_id
if profile and self.quantity > 1.0 and profile.asset_product_item:
line = self
qty = self.quantity
name = self.asset_name
self.update({"quantity": 1, "asset_name": f"{name} {1}"})
for i in range(1, int(qty)):
line.copy({"asset_name": f"{name} {i + 1}"})

View File

@@ -0,0 +1,99 @@
<odoo>
<record id="account_asset_transfer_view_form" model="ir.ui.view">
<field name="name">account.asset.transfer.form</field>
<field name="model">account.asset.transfer</field>
<field name="arch" type="xml">
<form string="Transfer Asset">
<group>
<group>
<field name="date_transfer" />
<field name="company_id" groups="base.group_multi_company" />
<field name="company_id" invisible="1" />
<field name="currency_id" invisible="1" />
<field name="from_asset_value" />
<field name="to_asset_value" />
<field name="balance" invisible="1" />
</group>
<group>
<field name="transfer_journal_id" />
<field name="partner_id" invisible="1" />
<field name="analytic_distribution" invisible="1" />
</group>
</group>
<notebook>
<page name="to_asset" string="To New Asset">
<div class="oe_right" name="buttons">
<button
name="expand_to_asset_ids"
type="object"
string="Expand Asset"
icon="fa-bars"
/>
</div>
<field
name="to_asset_ids"
context="{
'default_asset_value': balance,
'default_partner_id': partner_id,
'default_analytic_distribution': analytic_distribution,
}"
>
<list editable="bottom">
<field name="asset_profile_id" />
<field name="asset_name" />
<field name="price_unit" />
<field name="quantity" />
<field name="asset_value" />
<field name="partner_id" />
<field
name="analytic_distribution"
groups="analytic.group_analytic_accounting"
/>
</list>
</field>
</page>
<page name="from_asset" string="From">
<field name="from_asset_ids" force_save="1" />
</page>
</notebook>
<separator string="Notes" colspan="4" />
<field name="note" nolabel="1" colspan="4" />
<separator colspan="4" />
<footer>
<button
string="Transfer"
name="transfer"
type="object"
class="oe_highlight"
/>
<button string="Cancel" class="oe_link" special="cancel" />
</footer>
</form>
</field>
</record>
<record id="action_account_asset_transfer" model="ir.actions.act_window">
<field name="name">Transfer Asset</field>
<field name="res_model">account.asset.transfer</field>
<field name="view_mode">form</field>
<field name="target">new</field>
</record>
<record id="action_asset_transfer_from_list" model="ir.actions.server">
<field name="name">Transfer Asset</field>
<field name="groups_id" eval="[(4, ref('account.group_account_manager'))]" />
<field name="model_id" ref="account_asset_management.model_account_asset" />
<field
name="binding_model_id"
ref="account_asset_management.model_account_asset"
/>
<field name="binding_view_types">list</field>
<field name="state">code</field>
<field name="code">
if records:
action = records.transfer()
</field>
</record>
</odoo>