Compare commits
7 Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
22daa15a25 |
[ADD] search panel: document new field attribute "depth"
We document the new attribute "depth" available for search panel fields of type "category" introduced in https://github.com/odoo/odoo/pull/198733. Task ID: 4579118 |
||
|
|
8c685239b4 |
[IMP] sales: gelato feedback
Apply suggestions from JERO review
edits
closes odoo/documentation#12123
X-original-commit:
|
||
|
|
224e1f5982 |
[IMP] account_reports: Unambiguous cross_report aggregations
Before this commit, when using cross_report subformula it would search for a report that has an line with this code. We had to ensure there was no duplicate codes and so it was difficult to maintain. Now, when we use a cross_report subformula, we need to explicitly target the report from where the code is from. task-4457667 closes odoo/documentation#11747 Related: odoo/odoo#193106 Related: odoo/enterprise#76845 Signed-off-by: Logan Staelens (lost) <lost@odoo.com> |
||
|
|
606b56ccda |
[FIX] Use <chatter> instead of <div class="oe_chatter">
closes odoo/documentation#12110
X-original-commit:
|
||
|
|
c1154c0c5d |
[ADD] Purchase: Templates
closes odoo/documentation#12103
X-original-commit:
|
||
|
|
cd3086cea4 |
[ADD] sales: gelato integration
edit image sizes
edits
Apply suggestions from FEKU review
edits
Apply suggestions from FEKU review
edits
Apply suggestions from FEKU review
edits
Update content/applications/sales/sales/gelato.rst
edits
Apply suggestions from ZST review
edits
edits
sales file
Apply suggestions from SALI review
Apply suggestions from SALI review2
images
Edits
closes odoo/documentation#12090
X-original-commit:
|
||
|
|
cc4e3a87f6 |
[IMP] accounting: clarify invoice sequence format
task-4564980
closes odoo/documentation#12100
X-original-commit:
|
@@ -7,8 +7,7 @@ Customer invoices
|
||||
A customer invoice is a document issued by a company for products and/or services sold to a
|
||||
customer. It records receivables as they are sent to customers. Customer invoices can include
|
||||
amounts due for the goods and/or services provided, applicable sales taxes, shipping and handling
|
||||
fees, and other charges.
|
||||
Odoo supports multiple invoicing and payment workflows.
|
||||
fees, and other charges. Odoo supports multiple invoicing and payment workflows.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/finance/accounting/customer_invoices/overview`
|
||||
@@ -84,14 +83,14 @@ Invoice confirmation
|
||||
|
||||
Click :guilabel:`Confirm` when the invoice is completed. The invoice's status changes to
|
||||
:guilabel:`Posted`, and a journal entry is generated based on the invoice configuration. On
|
||||
confirmation, Odoo assigns each invoice a unique number from a defined
|
||||
:ref:`sequence <accounting/invoice/sequence>`.
|
||||
confirmation, Odoo assigns each invoice a unique number from a defined :ref:`sequence
|
||||
<accounting/invoice/sequence>`.
|
||||
|
||||
.. note::
|
||||
- Once confirmed, an invoice can no longer be updated. Click :guilabel:`Reset to draft` if
|
||||
changes are needed.
|
||||
- If required, invoices and other journal entries can be locked once posted
|
||||
using the :ref:`Secure posted entries with hash <data-inalterability/restricted>` feature.
|
||||
- If required, invoices and other journal entries can be locked once posted using the
|
||||
:ref:`Secure posted entries with hash <data-inalterability/restricted>` feature.
|
||||
|
||||
.. _accounting/invoice/sending:
|
||||
|
||||
@@ -174,53 +173,45 @@ same customer, the actions are performed on the most overdue invoice.
|
||||
|
||||
.. _accounting/invoice/sequence:
|
||||
|
||||
Sequence
|
||||
========
|
||||
Invoice sequence
|
||||
================
|
||||
|
||||
Odoo assigns each document a unique sequence made up of a prefix and a number. The prefix combines
|
||||
the journal code and the entry date and groups entries by period. The number is unique for each
|
||||
period and is used to identify the entry. The default sequence on customer invoices is
|
||||
INV/YYYY/number. In some specific cases, :ref:`resequencing <accounting/invoice/resequencing>`
|
||||
invoices might be necessary.
|
||||
When confirming an invoice, Odoo generates a unique invoice reference number. By default, Odoo uses
|
||||
the following sequence format `INV/year/incrementing-number` (e.g., `INV/2025/00001`), which
|
||||
restarts from `00001` each year.
|
||||
|
||||
However, it is possible to :ref:`change the sequence format <accounting/invoice/resequencing>` and
|
||||
its periodicity, and to :ref:`mass-resequence invoices <accounting/invoice/mass-resequencing>`.
|
||||
|
||||
.. note::
|
||||
Changes made to reference numbers are logged in the chatter.
|
||||
|
||||
.. _accounting/invoice/resequencing:
|
||||
|
||||
Resequencing
|
||||
------------
|
||||
Changing the default sequence
|
||||
-----------------------------
|
||||
|
||||
Resequencing is not possible:
|
||||
To customize the default sequence, open the last confirmed invoice, click :guilabel:`Reset to
|
||||
Draft`, and edit the invoice's reference number.
|
||||
|
||||
- When entries are before a lock date.
|
||||
- When the sequence leads to a duplicate.
|
||||
- When the :guilabel:`Invoice Date` doesn't match the date contained in the new sequence number,
|
||||
e.g., if the sequence is changed to INV/2023/XXXXX for a document with an :guilabel:`Invoice Date`
|
||||
of 2024.
|
||||
.. image:: customer_invoices/reference-number.png
|
||||
:alt: Editing the reference number of an invoice.
|
||||
|
||||
To change the invoice sequence with the structure INV/YYYY/MM/number, add `/MM` with the number of
|
||||
the month of the :guilabel:`Invoice date`. Odoo will recognize the "/" term as a month and update
|
||||
the future invoice sequence appropriately with the month of the :guilabel:`Invoice date`. For
|
||||
example, if the invoice date is January, change the sequence to `INV/2024/01/XXXXX`.
|
||||
Odoo then explains how the detected format will be applied to all future invoices. For example, if
|
||||
the current invoice's month is added, the sequence's periodicity will change to every month instead
|
||||
of every year.
|
||||
|
||||
In this case, if the :guilabel:`Invoice date` isn't aligned with the sequence number, a
|
||||
:guilabel:`Validation Error` message appears.
|
||||
.. image:: customer_invoices/sequence-dialog.png
|
||||
:alt: Editing the reference number of an invoice.
|
||||
|
||||
.. note::
|
||||
|
||||
- All sequence changes are logged in the chatter to keep the information.
|
||||
- Sequence changes also affect the format of future invoices' sequences.
|
||||
|
||||
.. _accounting/invoice/resequencing-one-invoice:
|
||||
|
||||
Resequencing a single invoice
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
To resequence the last confirmed invoice, click :guilabel:`Reset to Draft`, then change the
|
||||
sequence. The invoice now appears in red on the :guilabel:`Customer Invoices` list.
|
||||
.. tip::
|
||||
The sequence format can be edited directly when creating the first invoice of a given sequence
|
||||
period.
|
||||
|
||||
.. _accounting/invoice/mass-resequencing:
|
||||
|
||||
Mass-resequencing invoices
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
--------------------------
|
||||
|
||||
It can be helpful to resequence multiple invoice numbers. For example, when importing invoices from
|
||||
another invoicing or accounting system and the reference originates from the previous software,
|
||||
@@ -239,6 +230,7 @@ Follow these steps to resequence invoice numbers:
|
||||
|
||||
- :guilabel:`Keep current order`: The order of the numbers remains the same.
|
||||
- :guilabel:`Reorder by accounting date`: The number is reordered by accounting date.
|
||||
|
||||
#. Set the :guilabel:`First New Sequence`.
|
||||
#. :guilabel:`Preview Modifications` and click :guilabel:`Confirm`.
|
||||
|
||||
@@ -270,18 +262,18 @@ go to :menuselection:`Accounting --> Reporting --> Partner Ledger`.
|
||||
Aged Receivable
|
||||
~~~~~~~~~~~~~~~
|
||||
|
||||
To review outstanding customer invoices and their related due dates, use the
|
||||
:ref:`Aged Receivable <accounting/reporting/aged-receivable>` report. To access it, go to
|
||||
:menuselection:`Accounting --> Reporting --> Aged Receivable`.
|
||||
To review outstanding customer invoices and their related due dates, use the :ref:`Aged Receivable
|
||||
<accounting/reporting/aged-receivable>` report. To access it, go to :menuselection:`Accounting -->
|
||||
Reporting --> Aged Receivable`.
|
||||
|
||||
.. _accounting/invoices/aged-payable:
|
||||
|
||||
Aged Payable
|
||||
~~~~~~~~~~~~
|
||||
|
||||
To review outstanding vendor bills and their related due dates, use the
|
||||
:ref:`Aged Payable <accounting/reporting/aged-payable>` report. To access it, go to
|
||||
:menuselection:`Accounting --> Reporting --> Aged Payable`.
|
||||
To review outstanding vendor bills and their related due dates, use the :ref:`Aged Payable
|
||||
<accounting/reporting/aged-payable>` report. To access it, go to :menuselection:`Accounting -->
|
||||
Reporting --> Aged Payable`.
|
||||
|
||||
.. _accounting/invoices/profit-and-loss:
|
||||
|
||||
|
||||
|
After Width: | Height: | Size: 6.7 KiB |
|
After Width: | Height: | Size: 9.1 KiB |
@@ -173,7 +173,8 @@ expression's **label** (ex. **code.label**).
|
||||
`CUR` is the currency code in capital letters, and `amount` is the amount of the bound expressed in
|
||||
that currency.
|
||||
|
||||
You can also use the `cross_report` subformula to match an expression found in another report.
|
||||
`cross_report(xml_id | report_id)`
|
||||
Used to match an expression from another report targeted by the xml_id or the report ID itself.
|
||||
|
||||
'Prefix of Account Codes' engine
|
||||
--------------------------------
|
||||
|
||||
@@ -10,5 +10,6 @@ Manage deals
|
||||
manage_deals/rfq
|
||||
manage_deals/blanket_orders
|
||||
manage_deals/calls_for_tenders
|
||||
manage_deals/purchase_templates
|
||||
manage_deals/control_bills
|
||||
manage_deals/manage
|
||||
|
||||
@@ -0,0 +1,80 @@
|
||||
==================
|
||||
Purchase templates
|
||||
==================
|
||||
|
||||
.. |Pts| replace:: Purchase templates
|
||||
.. |pt| replace:: purchase template
|
||||
.. |RFQ| replace:: :abbr:`RFQ (request for quotation)`
|
||||
.. |RFQs| replace:: :abbr:`RFQs (requests for quotation)`
|
||||
|
||||
*Purchase templates* are an agreement type that allow for the repeated creation of requests for
|
||||
quotations (RFQs) for recurring purchases. Products can then be added and quantities can be changed,
|
||||
as needed. |Pts| can be used for multiple vendors, saving time and simplifying the |RFQ| process.
|
||||
|
||||
|Pts| differ from *blanket orders* in that a :doc:`blanket order <blanket_orders>` is a large order
|
||||
split into several deliveries, therefore all |RFQs| must be for the same vendor. |PTs| can be
|
||||
replicated for multiple vendors, and can copy over quantities, which is useful when placing frequent
|
||||
orders.
|
||||
|
||||
Configuration
|
||||
-------------
|
||||
|
||||
First, navigate to :menuselection:`Purchase app --> Configuration --> Settings`. Under the
|
||||
:guilabel:`Orders` section, tick the :guilabel:`Purchase Agreements` checkbox. Click
|
||||
:guilabel:`Save` to save the changes.
|
||||
|
||||
.. image:: purchase_templates/purchase-agreements-setting.png
|
||||
:alt: The Purchase agreements setting in the Purchase app.
|
||||
|
||||
Create a new template
|
||||
---------------------
|
||||
|
||||
Navigate :menuselection:`Purchase app --> Orders --> Purchase Agreements` and click :guilabel:`New`.
|
||||
|
||||
Select a :guilabel:`Vendor` from the drop-down list.
|
||||
|
||||
.. tip::
|
||||
To make this template available to use with multiple vendors, leave the :guilabel:`Vendor` field
|
||||
blank.
|
||||
|
||||
In the :guilabel:`Agreement Type` field, select :guilabel:`Purchase Template` from the drop-down.
|
||||
|
||||
Confirm the information in the remaining fields is correct, or update as needed.
|
||||
|
||||
On the :guilabel:`Products` tab, click :guilabel:`Add a line`, and select the desired product.
|
||||
Update the :guilabel:`Quantity`, and set the :guilabel:`Unit Price`.
|
||||
|
||||
.. important::
|
||||
When adding products to a new blanket order, the pre-existing prices of products are not
|
||||
automatically added to the product lines. Instead, the prices **must** be manually assigned, by
|
||||
changing the value in the :guilabel:`Unit Price` column to an agreed-upon price with the listed
|
||||
vendor. Otherwise, the price will remain `0`.
|
||||
|
||||
After adding all necessary products, click :guilabel:`Confirm`.
|
||||
|
||||
Create a new RFQ from a purchase template
|
||||
=========================================
|
||||
|
||||
After confirming a |pt|, new quotations can be created directly from the |pt| form. |RFQs| using
|
||||
this form are pre-populated with information based on the rules set in the form. Additionally, new
|
||||
quotations are automatically linked to this |pt| form, via the :icon:`fa-list-alt`
|
||||
:guilabel:`RFQs/Orders` smart button at the top of the form.
|
||||
|
||||
To :ref:`create a new quotation <purchase/manage_deals/create-new-rfq>`, click :guilabel:`New
|
||||
Quotation`. This opens a new |RFQ|, that is pre-populated with the correct information, depending on
|
||||
the settings configured on the |pt| form.
|
||||
|
||||
If there was no vendor identified on the |pt|, choose a :guilabel:`Vendor` from the drop-down list.
|
||||
Products can be added to the |RFQ| by clicking :guilabel:`Add a product` in the :guilabel:`Products`
|
||||
tab. To remove a product, click the :icon:`fa-trash-o` :guilabel:`(trash)` icon at the far-right of
|
||||
the product line.
|
||||
|
||||
From the new |RFQ| form, click :guilabel:`Send by Email` to compose and send an email to the listed
|
||||
vendor. Click :guilabel:`Print RFQ` to generate a printable PDF of the quotation; or, once ready,
|
||||
click :guilabel:`Confirm Order` to confirm the purchase order.
|
||||
|
||||
After confirming the order, return to the |pt| via the breadcrumbs. The :icon:`fa-list-alt`
|
||||
:guilabel:`RFQs/Orders` smart button has been updated to list the confirmed order.
|
||||
|
||||
.. image:: purchase_templates/rfq-smart-button.png
|
||||
:alt: The RFQ smart button on a purchase template.
|
||||
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 17 KiB |
@@ -91,6 +91,8 @@ In addition to various view options, the :guilabel:`Requests for Quotation` dash
|
||||
.. seealso::
|
||||
:doc:`../../../essentials/search`
|
||||
|
||||
.. _purchase/manage_deals/create-new-rfq:
|
||||
|
||||
Create new |RFQ|
|
||||
----------------
|
||||
|
||||
|
||||
@@ -21,3 +21,4 @@ deliver and invoice what has been sold.
|
||||
sales/products_prices
|
||||
sales/amazon_connector
|
||||
sales/shopee_connector
|
||||
sales/gelato
|
||||
|
||||
@@ -1,7 +1,164 @@
|
||||
:orphan:
|
||||
|
||||
======
|
||||
Gelato
|
||||
======
|
||||
|
||||
The documentation for Gelato will be added soon.
|
||||
Gelato is a global print-on-demand platform that integrates with Odoo to sync product catalogs and
|
||||
automate order fulfillment.
|
||||
|
||||
Connecting Gelato's services with Odoo's **Sales** and **eCommerce** apps enables the following:
|
||||
|
||||
- Sync Odoo sales orders with Gelato for automated order fulfillment
|
||||
- Create and manage Gelato products within Odoo; supports product variant and image sync
|
||||
- Configure delivery options in Odoo and receive order updates via webhooks.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. important::
|
||||
The company information (*Company name* and *Billing address*) in the Gelato account *must* match
|
||||
the company information in the Odoo database in order for sales orders to be confirmed and sent
|
||||
to Gelato for fulfillment.
|
||||
|
||||
.. image:: gelato/gelato-company.png
|
||||
:alt: Company information in Gelato.
|
||||
|
||||
.. image:: gelato/odoo-company.png
|
||||
:alt: Company information in Odoo.
|
||||
|
||||
Configure API keys and webhooks in Gelato
|
||||
-----------------------------------------
|
||||
|
||||
Before configuring the Gelato connector in Odoo, first obtain API credentials and webhooks from the
|
||||
Gelato account.
|
||||
|
||||
API connectors enable Odoo **Sales** to send and receive data from Gelato for order processing,
|
||||
while webhooks provide real-time updates on order status and shipment tracking.
|
||||
|
||||
API Key
|
||||
~~~~~~~
|
||||
|
||||
An API Key is a unique authentication token that allows Odoo to securely communicate with Gelato's
|
||||
API, enabling order transmission, status updates, and data synchronization.
|
||||
|
||||
After logging into Gelato, click :icon:`fa-code` :guilabel:`Developer` in the left menu bar. From
|
||||
here, click on :guilabel:`API keys`. In the new page, click the :guilabel:`Add API Key` button to
|
||||
open a new API key form. Type in a name, then click :guilabel:`Create Key`.
|
||||
|
||||
Copy the generated API key using :guilabel:`Copy to Clipboard`.
|
||||
|
||||
.. image:: gelato/gelato-api-key.png
|
||||
:alt: Newly generated API key in the Gelato platform.
|
||||
|
||||
.. important::
|
||||
Copy the API key and store it somewhere safe and secure before leaving this page. Once the page
|
||||
is refreshed or exited, the key will not be available to copy.
|
||||
|
||||
If the key cannot be copied or is lost, return to the :guilabel:`API key` page and start over,
|
||||
creating a new API key.
|
||||
|
||||
Webhook
|
||||
~~~~~~~
|
||||
|
||||
A webhook is an automated notification system that instantly updates Odoo when Gelato processes,
|
||||
ships, or delivers an order, ensuring real-time tracking and minimal manual intervention.
|
||||
|
||||
To create a webhook, go to :menuselection:`Developer --> Webhooks` under the :guilabel:`Developer`
|
||||
drop-down menu in the left menu bar. In the new page, click :guilabel:`Add Webhook` to open a
|
||||
:guilabel:`Create Webhook` form.
|
||||
|
||||
The webhook form requires several specific configurations:
|
||||
|
||||
- :guilabel:`URL`: This tells Gelato where to send the order updates in Odoo. Copy and paste the
|
||||
Odoo database URL with the additional suffix `/gelato/webhook`.
|
||||
|
||||
.. example::
|
||||
`https://stealthywood.odoo.com/gelato/webhook`
|
||||
|
||||
- :guilabel:`Events`: Click into the field and select :guilabel:`order_status_updated`. Selecting
|
||||
:guilabel:`order_status_updated` ensures Odoo receives order changes automatically.
|
||||
- :guilabel:`Method`: Click into the field and select the :guilabel:`HTTP Post` option, as this is
|
||||
the request method used to send data from Gelato to Odoo.
|
||||
- Tick the checkbox next to :guilabel:`I want to take Authorization to this webhook`.
|
||||
- :guilabel:`Header Name`: In this field, type in `signature` to match the field in Odoo.
|
||||
- Click :guilabel:`Generate Key` to generate a :guilabel:`Header Value`.
|
||||
- Click :guilabel:`Create` to complete this webhook configuration.
|
||||
|
||||
.. image:: gelato/gelato-webhook.png
|
||||
:alt: Newly configured webhook in the Gelato platform.
|
||||
|
||||
.. tip::
|
||||
Copy and paste the API key and webhook on a notepad before tabbing out of the Gelato webpage as
|
||||
backup.
|
||||
|
||||
Configure Gelato connector in Odoo
|
||||
----------------------------------
|
||||
|
||||
In Odoo, navigate to :menuselection:`Sales app --> Configuration --> Settings`, then scroll to the
|
||||
:guilabel:`Connectors` section. Enable the :guilabel:`Gelato` connector by ticking the checkbox.
|
||||
Next, paste the newly generated API keys and webhook secret key into their respective fields. Once
|
||||
saved, Gelato is available in Odoo **Sales** and **eCommerce** products.
|
||||
|
||||
Synchronizing Gelato products with Odoo Sales
|
||||
=============================================
|
||||
|
||||
It is recommended to have products already configured in Gelato before configuring them in Odoo. To
|
||||
get the product ID in Gelato, navigate to the :guilabel:`Templates` page from the side bar menu.
|
||||
Select which product to synchronize in Odoo, then hover over the product card to reveal the
|
||||
:icon:`fa-ellipsis-v` :guilabel:`(vertical ellipsis)` menu icon. Click the menu icon, then click
|
||||
:guilabel:`Copy Template ID` to copy the product template ID to the clipboard.
|
||||
|
||||
.. seealso::
|
||||
`Start selling products with Gelato: Quick & easy setup
|
||||
<https://www.gelato.com/blog/get-started-with-gelato-creating-products>`_
|
||||
|
||||
|
||||
Odoo Sales product
|
||||
------------------
|
||||
|
||||
To create a product in Odoo that matches the Gelato product, navigate to :menuselection:`Sales app
|
||||
--> Products --> Products`, select :guilabel:`New` to create a new product form. Type in the product
|
||||
:guilabel:`Name`, then navigate to the :guilabel:`Sales` tab. Find the :guilabel:`Gelato` section,
|
||||
then click into the :guilabel:`Template Reference` field and paste the copied template ID from the
|
||||
Gelato product. Finally, click :guilabel:`Synchronize`.
|
||||
|
||||
Successful synchronization pulls the Gelato product variant options into the newly configured Odoo
|
||||
product.
|
||||
|
||||
In the new :guilabel:`Print Images` field, click the :guilabel:`default` marker to set a default
|
||||
product image. Click the :icon:`fa-pencil` :guilabel:`(edit)` icon and select the product image file
|
||||
to upload, then :guilabel:`Save & Close`.
|
||||
|
||||
.. important::
|
||||
The :guilabel:`Print Images` field *must* be configured on all Gelato products and their
|
||||
respective product variations before they can be ordered.
|
||||
|
||||
Product variants
|
||||
----------------
|
||||
|
||||
To view and edit the newly synchronized product variants, navigate to the :guilabel:`Attributes &
|
||||
Variants` tab, which will have the variants pulled from the Gelato product configuration. Click the
|
||||
:guilabel:`Configure` button to edit and configure the variant images, delivery methods, additional
|
||||
pricing, etc.
|
||||
|
||||
Order a Gelato product from Odoo
|
||||
--------------------------------
|
||||
|
||||
Once synchronized, Gelato products are available to order in Odoo through :doc:`sales quotations
|
||||
<send_quotations>` or on the **eCommerce** store. Gelato delivery options are automatically
|
||||
synchronized upon API and webhook configuration.
|
||||
|
||||
To add Gelato delivery, click :guilabel:`Add shipping` on the sales order. Select
|
||||
:guilabel:`Standard Delivery` or :guilabel:`Express Delivery` in the :guilabel:`Shipping Method`
|
||||
field, then click :guilabel:`Get rate`.
|
||||
|
||||
Once the quotation is confirmed, it becomes an active sales order, and the order is sent to Gelato
|
||||
for fulfillment. Once a sales order is sent from Odoo to Gelato, Gelato processes the order,
|
||||
produces the product at the nearest fulfillment center, and ships it directly to the end-customer.
|
||||
|
||||
.. seealso::
|
||||
:doc:`send_quotations/create_quotations`
|
||||
|
||||
.. important::
|
||||
When creating a sales order for Gelato products in the database, only Gelato products can be
|
||||
added to the same sales order. Multivendor orders are not available with the Gelato connector at
|
||||
this time.
|
||||
|
||||
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 11 KiB |
|
After Width: | Height: | Size: 36 KiB |
|
After Width: | Height: | Size: 18 KiB |
@@ -766,11 +766,11 @@ widgets, respectively).
|
||||
<field name="arch" type="xml">
|
||||
<form string="Business Trip">
|
||||
<!-- Your usual form view goes here -->
|
||||
<div class="oe_chatter">
|
||||
<chatter>
|
||||
<field name="message_follower_ids" widget="mail_followers"/>
|
||||
<field name="activity_ids" widget="mail_activity"/>
|
||||
<field name="message_ids" widget="mail_thread"/>
|
||||
</div>
|
||||
</chatter>
|
||||
</form>
|
||||
</field>
|
||||
</record>
|
||||
|
||||
@@ -2261,6 +2261,16 @@ attributes:
|
||||
:default: `True`
|
||||
:scope: :class:`~odoo.fields.Many2one` fields
|
||||
|
||||
.. attribute:: depth
|
||||
:noindex:
|
||||
|
||||
If set to a non zero integer, the hierarchy (if any) will be unfold up to the given level.
|
||||
|
||||
:requirement: Optional
|
||||
:type: integer
|
||||
:default: `0`
|
||||
:scope: :class:`~odoo.fields.Many2one` fields
|
||||
|
||||
When the `field` element has the `select=multi` attribute set, it can have the following additional
|
||||
attributes:
|
||||
|
||||
|
||||