mirror of
https://github.com/bringout/oca-ocb-accounting.git
synced 2026-04-26 04:42:07 +02:00
Initial commit: Accounting packages
This commit is contained in:
commit
4ef34c2317
2661 changed files with 1709616 additions and 0 deletions
|
|
@ -0,0 +1,68 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="product_template_tree_view" model="ir.ui.view">
|
||||
<field name="name">product.template.tree.inherit.stock.account</field>
|
||||
<field name="model">product.template</field>
|
||||
<field name="inherit_id" ref="product.product_template_tree_view"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="standard_price" position="attributes">
|
||||
<attribute name="readonly">1</attribute>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_category_property_form_stock" model="ir.ui.view">
|
||||
<field name="name">product.category.stock.property.form.inherit.stock</field>
|
||||
<field name="model">product.category</field>
|
||||
<field name="inherit_id" ref="stock.product_category_form_view_inherit"/>
|
||||
<field name="arch" type="xml">
|
||||
<group name="logistics" position="after">
|
||||
<group string="Inventory Valuation">
|
||||
<field name="property_cost_method"/>
|
||||
<field name="property_valuation" groups="account.group_account_readonly,stock.group_stock_manager"/>
|
||||
</group>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_category_property_form" model="ir.ui.view">
|
||||
<field name="name">product.category.stock.property.form.inherit</field>
|
||||
<field name="model">product.category</field>
|
||||
<field name="inherit_id" ref="account.view_category_property_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<group name="account_property" position="inside">
|
||||
<group name="account_stock_property" string="Account Stock Properties" groups="account.group_account_readonly" attrs="{'invisible':[('property_valuation', '=', 'manual_periodic')]}">
|
||||
<field name="property_valuation" invisible="1"/>
|
||||
<field name="property_stock_valuation_account_id" options="{'no_create': True}" attrs="{'required':[('property_valuation', '=', 'real_time')]}"/>
|
||||
<field name="property_stock_journal" attrs="{'required':[('property_valuation', '=', 'real_time')]}" />
|
||||
<field name="property_stock_account_input_categ_id" options="{'no_create': True}" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}" />
|
||||
<field name="property_stock_account_output_categ_id" options="{'no_create': True}" attrs="{'required':[ ('property_valuation', '=', 'real_time')]}" />
|
||||
<div colspan="2" class="alert alert-info mt16" role="status">
|
||||
<b>Set other input/output accounts on specific </b><button name="%(stock.action_prod_inv_location_form)d" role="button" type="action" class="btn-link" style="padding: 0;vertical-align: baseline;" string="locations"/>.
|
||||
</div>
|
||||
</group>
|
||||
</group>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- Stock Report View -->
|
||||
<record model="ir.ui.view" id="product_product_stock_tree_inherit_stock_account">
|
||||
<field name="name">product.product.stock.tree.inherit.stock.account</field>
|
||||
<field name="model">product.product</field>
|
||||
<field name="inherit_id" ref="stock.product_product_stock_tree"/>
|
||||
<field name="arch" type="xml">
|
||||
<field name="qty_available" position="before">
|
||||
<field name="company_currency_id" invisible="1"/>
|
||||
<field name="cost_method" invisible="1"/>
|
||||
<field name="avg_cost" string="Unit Cost" optional="show" widget='monetary' options="{'currency_field': 'company_currency_id'}"/>
|
||||
<field name="total_value" string="Total Value" optional="show" widget='monetary' options="{'currency_field': 'company_currency_id'}" sum="Total Value"/>
|
||||
<button name="%(stock_valuation_layer_action)d" title="Valuation Report" type="action" class="btn-link"
|
||||
icon="fa-bar-chart" context="{'search_default_product_id': id, 'default_product_id': id}" attrs="{'invisible': [('cost_method', '!=', 'average')]}"/>
|
||||
<button name="%(stock_valuation_layer_report_action)d" title="Valuation Report" type="action" class="btn-link"
|
||||
icon="fa-bar-chart" context="{'search_default_product_id': id, 'default_product_id': id}" attrs="{'invisible': [('cost_method', '!=', 'fifo')]}"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<template id="stock_account_report_invoice_document" inherit_id="account.report_invoice_document">
|
||||
<xpath expr="//div[@id='total']" position="after">
|
||||
<t groups="stock_account.group_lot_on_invoice">
|
||||
<t t-set="lot_values" t-value="o._get_invoiced_lot_values()"/>
|
||||
<t t-if="lot_values">
|
||||
<br/>
|
||||
<table class="table table-sm" style="width: 50%;" name="invoice_snln_table">
|
||||
<thead>
|
||||
<tr>
|
||||
<th><span>Product</span></th>
|
||||
<th class="text-end"><span>Quantity</span></th>
|
||||
<th class="text-end"><span>SN/LN</span></th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<t t-foreach="lot_values" t-as="snln_line">
|
||||
<tr>
|
||||
<td><t t-esc="snln_line['product_name']"/></td>
|
||||
<td class="text-end">
|
||||
<t t-esc="snln_line['quantity']"/>
|
||||
<t t-esc="snln_line['uom_name']" groups="uom.group_uom"/>
|
||||
</td>
|
||||
<td class="text-end"><t t-esc="snln_line['lot_name']"/></td>
|
||||
</tr>
|
||||
</t>
|
||||
</tbody>
|
||||
</table>
|
||||
</t>
|
||||
</t>
|
||||
</xpath>
|
||||
</template>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,45 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
<record id="res_config_settings_view_form" model="ir.ui.view">
|
||||
<field name="name">res.config.settings.view.form.inherit.stock.account</field>
|
||||
<field name="model">res.config.settings</field>
|
||||
<field name="inherit_id" ref="stock.res_config_settings_view_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<div id="production_lot_info" position="after">
|
||||
<h2>Valuation</h2>
|
||||
<div class="row mt16 o_settings_container" name="valuation_setting_container">
|
||||
<div class="col-12 col-lg-6 o_setting_box"
|
||||
id="additional_cost_setting"
|
||||
title="Affect landed costs on reception operations and split them among products to update their cost price.">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="module_stock_landed_costs"/>
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="module_stock_landed_costs"/>
|
||||
<a href="https://www.odoo.com/documentation/16.0/applications/inventory_and_mrp/inventory/management/reporting/integrating_landed_costs.html" title="Documentation" class="o_doc_link" target="_blank"></a>
|
||||
<div class="text-muted">
|
||||
Add additional cost (transport, customs, ...) in the value of the product.
|
||||
</div>
|
||||
<div class="content-group">
|
||||
<div name="landed_cost_info"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-12 col-lg-6 o_setting_box" attrs="{'invisible': [('group_stock_production_lot', '=', False)]}" id="group_lot_on_invoice">
|
||||
<div class="o_setting_left_pane">
|
||||
<field name="group_lot_on_invoice"/>
|
||||
</div>
|
||||
<div class="o_setting_right_pane">
|
||||
<label for="group_lot_on_invoice"/>
|
||||
<div class="text-muted">
|
||||
Lots & Serial numbers will appear on the invoice
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</field>
|
||||
</record>
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,53 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<data>
|
||||
|
||||
<record id="view_move_form_inherit" model="ir.ui.view">
|
||||
<field name="name">stock.move.form.inherit</field>
|
||||
<field name="model">stock.move</field>
|
||||
<field name="inherit_id" ref="stock.view_move_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='button_box']" position="inside" >
|
||||
<button name="action_get_account_moves" icon="fa-usd" class="oe_stat_button" string="Accounting Entries" type="object" groups="account.group_account_readonly"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_stock_quant_tree_inventory_editable_inherit_stock_account" model="ir.ui.view">
|
||||
<field name="name">stock.quant.inventory.tree.editable.inherit.stock.account</field>
|
||||
<field name="model">stock.quant</field>
|
||||
<field name="inherit_id" ref="stock.view_stock_quant_tree_inventory_editable"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='product_uom_id']" position="after">
|
||||
<field name="accounting_date" optional="hide"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_location_form_inherit" model="ir.ui.view">
|
||||
<field name="name">stock.location.form.inherit</field>
|
||||
<field name="model">stock.location</field>
|
||||
<field name="inherit_id" ref="stock.view_location_form"/>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//group[@name='additional_info']" position="after">
|
||||
<group string="Accounting Information" attrs="{'invisible':[('usage','not in',('inventory','production'))]}">
|
||||
<field name="valuation_in_account_id" options="{'no_create': True}"/>
|
||||
<field name="valuation_out_account_id" options="{'no_create': True}"/>
|
||||
</group>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_stock_return_picking_form_inherit_stock_account" model="ir.ui.view">
|
||||
<field name="name">stock.return.picking.stock.account.form</field>
|
||||
<field name="inherit_id" ref="stock.view_stock_return_picking_form"/>
|
||||
<field name="model">stock.return.picking</field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='product_return_moves']/tree" position="inside">
|
||||
<field name="to_refund" groups="base.group_no_one"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</data>
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,34 @@
|
|||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<odoo>
|
||||
<record model="ir.ui.view" id="view_stock_quant_tree_inherit">
|
||||
<field name="name">stock.quant.tree.inherit</field>
|
||||
<field name="model">stock.quant</field>
|
||||
<field name="inherit_id" ref="stock.view_stock_quant_tree"></field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='product_uom_id']" position="after">
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="value" optional="hidden"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record model="ir.ui.view" id="view_stock_quant_tree_editable_inherit">
|
||||
<field name="name">stock.quant.tree.editable.inherit</field>
|
||||
<field name="model">stock.quant</field>
|
||||
<field name="inherit_id" ref="stock.view_stock_quant_tree_editable"></field>
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//field[@name='product_uom_id']" position="after">
|
||||
<field name="currency_id" invisible="1"/>
|
||||
<field name="cost_method" invisible="1"/>
|
||||
<field name="value" optional="hidden" sum="Total Value"/>
|
||||
</xpath>
|
||||
<xpath expr="//button[@name='action_view_orderpoints']" position="after">
|
||||
<button name="%(stock_valuation_layer_report_action)d" title="Stock Valuation"
|
||||
string="Valuation" type="action" class="btn-link" icon="fa-bar-chart"
|
||||
context="{'search_default_product_id': product_id}"
|
||||
attrs="{'invisible': [('cost_method', '!=', 'fifo')]}"/>
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
|
|
@ -0,0 +1,163 @@
|
|||
<odoo>
|
||||
<record id="stock_valuation_layer_form" model="ir.ui.view">
|
||||
<field name="name">stock.valuation.layer.form</field>
|
||||
<field name="model">stock.valuation.layer</field>
|
||||
<field name="arch" type="xml">
|
||||
<form edit="0" create="0">
|
||||
<sheet>
|
||||
<group>
|
||||
<group>
|
||||
<field name="create_date" string="Date" />
|
||||
<field name="product_id" />
|
||||
<field name="stock_move_id" attrs="{'invisible': [('stock_move_id', '=', False)]}" />
|
||||
</group>
|
||||
</group>
|
||||
<notebook>
|
||||
<page string="Valuation" name="valuation">
|
||||
<group>
|
||||
<field name="quantity" />
|
||||
<field name="uom_id" groups="uom.group_uom" />
|
||||
<field name="currency_id" invisible="1" />
|
||||
<field name="unit_cost" />
|
||||
<field name="value" />
|
||||
<field name="remaining_qty" />
|
||||
</group>
|
||||
</page>
|
||||
<page string="Other Info" name="other_info">
|
||||
<group>
|
||||
<field name="description" />
|
||||
<field name="account_move_id" groups="account.group_account_invoice" attrs="{'invisible': [('account_move_id', '=', False)]}" />
|
||||
<field name="company_id" groups="base.group_multi_company" />
|
||||
<field name="stock_valuation_layer_id" attrs="{'invisible': [('stock_valuation_layer_id', '=', False)]}" />
|
||||
</group>
|
||||
</page>
|
||||
</notebook>
|
||||
</sheet>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="stock_valuation_layer_tree" model="ir.ui.view">
|
||||
<field name="name">stock.valuation.layer.tree</field>
|
||||
<field name="model">stock.valuation.layer</field>
|
||||
<field name="arch" type="xml">
|
||||
<tree default_order="id desc" create="0"
|
||||
import="0" js_class="inventory_report_list"
|
||||
action="action_open_reference" type="object">
|
||||
<field name="create_date" string="Date" />
|
||||
<field name="reference"/>
|
||||
<button name="action_open_layer" icon="fa-arrow-right" title="Open Valuation Layer" type="object"/>
|
||||
<field name="product_id" />
|
||||
<field name="company_id" groups="base.group_multi_company"/>
|
||||
<field name="quantity" string="Moved Quantity"/>
|
||||
<field name="unit_cost" />
|
||||
<field name="uom_id" groups="uom.group_uom" />
|
||||
<field name="currency_id" invisible="1" />
|
||||
<field name="value" sum="Total Value"/>
|
||||
<groupby name="product_id">
|
||||
<field name="cost_method" invisible="1"/>
|
||||
<field name="quantity_svl" invisible="1"/>
|
||||
<button name="action_revaluation" icon="fa-plus" title="Add Manual Valuation" type="object" attrs="{'invisible':['|', ('cost_method', '=', 'standard'), ('quantity_svl', '<=', 0)]}" />
|
||||
</groupby>
|
||||
</tree>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="stock_valuation_layer_pivot" model="ir.ui.view">
|
||||
<field name="name">stock.valuation.layer.pivot</field>
|
||||
<field name="model">stock.valuation.layer</field>
|
||||
<field name="arch" type="xml">
|
||||
<pivot>
|
||||
<field name="quantity" type="measure"/>
|
||||
<field name="value" type="measure"/>
|
||||
</pivot>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="stock_valuation_layer_action" model="ir.actions.act_window">
|
||||
<field name="name">Stock Valuation</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">stock.valuation.layer</field>
|
||||
<field name="view_mode">tree,form,pivot</field>
|
||||
<field name="view_id" ref="stock_valuation_layer_tree"/>
|
||||
<field name="domain">[('product_id.type', '=', 'product')]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face"/>
|
||||
<p>
|
||||
There are no valuation layers. Valuation layers are created when there are product moves that impact the valuation of the stock.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="view_inventory_valuation_search" model="ir.ui.view">
|
||||
<field name="name">Inventory Valuation</field>
|
||||
<field name="model">stock.valuation.layer</field>
|
||||
<field name="arch" type="xml">
|
||||
<search string="Inventory Valuation">
|
||||
<field name="product_id"/>
|
||||
<field name="categ_id" />
|
||||
<field name="product_tmpl_id" />
|
||||
<separator/>
|
||||
<filter string="Incoming" name="incoming" domain="[('stock_move_id.location_id.usage', 'not in', ('internal', 'transit')), ('stock_move_id.location_dest_id.usage', 'in', ('internal', 'transit'))]"/>
|
||||
<filter string="Outgoing" name="outgoing" domain="[('stock_move_id.location_id.usage', 'in', ('internal', 'transit')), ('stock_move_id.location_dest_id.usage', 'not in', ('internal', 'transit'))]"/>
|
||||
<separator/>
|
||||
<filter string="Has Remaining Qty" name="has_remaining_qty" domain="[('remaining_qty', '>', 0)]"/>
|
||||
<group expand='0' string='Group by...'>
|
||||
<filter string='Product' name="group_by_product_id" context="{'group_by': 'product_id'}"/>
|
||||
</group>
|
||||
</search>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<!-- reporting view -->
|
||||
<record id="stock_valuation_layer_report_tree" model="ir.ui.view">
|
||||
<field name="name">stock.valuation.layer.report.tree</field>
|
||||
<field name="model">stock.valuation.layer</field>
|
||||
<field name="inherit_id" ref="stock_valuation_layer_tree"/>
|
||||
<field name="mode">primary</field>
|
||||
<field name="arch" type="xml">
|
||||
<field name="quantity" position="attributes">
|
||||
<attribute name="invisible">1</attribute>
|
||||
</field>
|
||||
<field name="unit_cost" position="after">
|
||||
<field name="remaining_qty" sum="Total Remaining Quantity"/>
|
||||
</field>
|
||||
<field name="value" position="before">
|
||||
<field name="remaining_value" sum="Total Remaining Value"/>
|
||||
</field>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<record id="stock_valuation_layer_report_action" model="ir.actions.act_window">
|
||||
<field name="name">Stock Valuation</field>
|
||||
<field name="type">ir.actions.act_window</field>
|
||||
<field name="res_model">stock.valuation.layer</field>
|
||||
<field name="view_mode">tree,form,pivot</field>
|
||||
<field name="view_id" ref="stock_valuation_layer_report_tree"/>
|
||||
<field name="context">{'search_default_has_remaining_qty': 1}</field>
|
||||
<field name="domain">[('product_id.type', '=', 'product')]</field>
|
||||
<field name="help" type="html">
|
||||
<p class="o_view_nocontent_smiling_face"/>
|
||||
<p>
|
||||
There are no valuation layers. Valuation layers are created when there are product moves that impact the valuation of the stock.
|
||||
</p>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
<menuitem id="menu_valuation" name="Valuation" parent="stock.menu_warehouse_report" sequence="250" action="stock_valuation_layer_action" groups="base.group_no_one"/>
|
||||
|
||||
<record id="stock_valuation_layer_picking" model="ir.ui.view">
|
||||
<field name="name">stock.valuation.layer.picking</field>
|
||||
<field name="model">stock.picking</field>
|
||||
<field name="inherit_id" ref="stock.view_picking_form" />
|
||||
<field name="arch" type="xml">
|
||||
<xpath expr="//div[@name='button_box']" position="inside">
|
||||
<button string="Valuation" type="object"
|
||||
name="action_view_stock_valuation_layers"
|
||||
class="oe_stat_button" icon="fa-dollar" groups="base.group_no_one"
|
||||
attrs="{'invisible': [('state', 'not in', ['done'])]}" />
|
||||
</xpath>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
</odoo>
|
||||
Loading…
Add table
Add a link
Reference in a new issue