Compare commits
19 Commits
fvz-odoo-p
...
14.0-cd-co
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
bb4689ee98 | [IMP] contributing/dev: add cd command to the git config section | ||
|
|
ba1105bff7 | [I18N] Update translation terms from Transifex | ||
|
|
5cb7eb5024 |
[MOV] pos: fiscal_position to "pricing" section
task-3284514 closes odoo/documentation#4236 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
42148acbec |
[ADD] social marketing: added social marketing documentation to v14
closes odoo/documentation#2554 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
7b2a178e82 |
[MOV] pos: restructuration of pos toctree
task-3284514 closes odoo/documentation#4226 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
eb067d6dc1 |
[ADD] Maintenance: add new equipment
closes odoo/documentation#3532 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
7cfedaffc7 | [I18N] Update translation terms from Transifex | ||
|
|
1cbb06857d |
[MOV] field service: improve the structure and merge docs
Currently, there are two pages about onsite interventions in two separate categories. This task aims to merge both pages into a single one and remove the useless categories. task-3275322 closes odoo/documentation#4169 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
c758071861 |
[IMP] odoo_theme: fix menu links
When searching for a word, if that word happens to be in the menu, the `display-flex` on the `a` would remove the space around the word because a `span class=highlight` gets added around it. Fixed by changing `display-flex` on the `a` to display-block (but keeping it for `.o_toc_entry_wrapper`) closes odoo/documentation#4168 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
1289a9ec45 |
[IMP] inventory: update owned_stock
closes odoo/documentation#3600 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
6f4822cb2b |
[IMP] iot: add documentation regarding HTTPS certificate
Also include details/troubleshoot/solutions for redundant support issues: - Error code details for HTTPS certificate generation (see: https://github.com/odoo/odoo/pull/114993 ) - DNS issue with HTTPS domain OPW-3227004 closes odoo/documentation#3818 Signed-off-by: Zachary Straub (zst) <zst@odoo.com> |
||
|
|
5ef339fe82 |
[l10n_mx] Update exempt tax configuration.
In Mexico there are two 0% taxes, 0% VAT and 0% exempt VAT. This change makes the tip clearer so users do not confuse both taxes. Forward to master. closes odoo/documentation#2515 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
b0911a00ad |
[MOV] calendar: "Calendar" app from "Misc" to "Productivity"
To improve the structure of the documentation, the "Miscellaneous" section should be limited as much as possible. This commit: - renames "Calendars" into "Calendar" (as the app name) - moves the app from the "Miscellaneous" section to the "Productivity" section - fixes the wrong file structure to follow the toc (e.g. general/calendars/outlook/outlook_calendar -> productivity/calendar/outlook) task-3217827 closes odoo/documentation#4032 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
3056c7b62d |
[IMP] odoo_theme: design improvements
Revamp of the side menu; Round all borders for consistency with the buttons; Improve .sig-* and .o_code elements; Improve sphinx-tabs hover effect; task-3046383 closes odoo/documentation#3264 Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com> |
||
|
|
620e3c33ef |
[IMP] odoo_theme: general cleanup
A general reorganization of the code was needed for more clarity. The different markup styles have been grouped together under a common "chapter", comments have been rewritten and example pages have been added for context. Some levels have been removed Where there were too many for no reason. By removing one level of styles (e.g.: `#wrap`) we avoid needing to force overrides or adding `!important` to our code. ⌙ e.g.: before commit 9ef86cd93d8c6fc0fd96b437f629237e7a562c6e, `.o_spoilers .accordion-body >:first-child` was being involuntarily overridden. task-3046383 Part-of: odoo/documentation#3264 |
||
|
|
877d1de3c2 |
[IMP] odoo_theme: tweak the HTML structure of TOC entries
task-3046383 Part-of: odoo/documentation#3264 |
||
|
|
281a893540 |
[IMP] extensions/custom_admonitions: tweak the HTML structure of dfn
The structure of the `dfn` role is changed from its default `<em class="dfn">text</em>` to `<span class="dfn"><span>text</span></span>` to ease the styling. task-3046383 Part-of: odoo/documentation#3264 |
||
|
|
e98cf5f54a |
[MOV] live chat: structure
task-3269837 closes odoo/documentation#4101 Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com> |
||
|
|
ce4a0c3e35 |
[MOV] website: structure
As a first step to update the doc - at last! - we first need to update its structure. task-3269837 Part-of: odoo/documentation#4101 |
|
|
@@ -13,7 +13,7 @@ personal email address or an address created by a custom domain.
|
|||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/azure`
|
||||
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
|
||||
- :doc:`/applications/productivity/calendar/outlook`
|
||||
|
||||
Setup in Microsoft Azure Portal
|
||||
===============================
|
||||
|
|
|
|||
|
|
@@ -71,7 +71,7 @@ way to verify the ownership of your domain name is by adding a DNS record. You c
|
|||
other providers.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/websites/website/optimize/seo`
|
||||
- :doc:`/applications/websites/website/pages/seo`
|
||||
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
|
||||
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
|
||||
|
||||
|
|
|
|||
|
|
@@ -13,7 +13,7 @@ email address or an address created by a custom domain.
|
|||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/auth/google`
|
||||
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
|
||||
- :doc:`/applications/productivity/calendar/google`
|
||||
|
||||
Setup in Google
|
||||
===============
|
||||
|
|
|
|||
|
|
@@ -72,9 +72,9 @@ POS.
|
|||
- Sell products without a valid VAT number.
|
||||
- Use a POS that is not connected to an IoT box.
|
||||
|
||||
- The :doc:`cash rounding <../../sales/point_of_sale/shop/cash_rounding>` feature must be activated
|
||||
and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method` set as
|
||||
:guilabel:`Half-Up`.
|
||||
- The :doc:`cash rounding <../../sales/point_of_sale/pricing/cash_rounding>` feature must be
|
||||
activated and set to a :guilabel:`Rounding Precision` of `0,05` and a :guilabel:`Rounding Method`
|
||||
set as :guilabel:`Half-Up`.
|
||||
- Taxes must be set as included in the price. To set it up, go to :menuselection:`Point of Sale -->
|
||||
Configuration --> Settings`, and from the :guilabel:`Taxes` section, open the :guilabel:`Default
|
||||
Sales Tax` form by clicking the arrow next to the default sales tax field. There, click
|
||||
|
|
|
|||
|
|
@@ -174,8 +174,9 @@ Do the same for all the sales taxes that the company needs, either those that co
|
|||
Odoo, or those that you add that are necessary for your company bill.
|
||||
|
||||
.. tip::
|
||||
For the 0% VAT tax, select the option *Exento* instead of *Tasa* within the **Factor Type**
|
||||
field.
|
||||
For the 0% VAT tax, select the option :guilabel:`Tasa` within the :guilabel:`Factor Type` field.
|
||||
For the 0% VAT **exempt** tax, select the option :guilabel:`Exento` instead of :guilabel:`Tasa`
|
||||
within the :guilabel:`Factor Type` field.
|
||||
|
||||
When registering a payment, Odoo will carry out the movement of taxes from the **Cash Basis
|
||||
Transition Account** to the account set in the **Definition** tab. For such movement, a tax base
|
||||
|
|
|
|||
|
|
@@ -10,6 +10,5 @@ Miscellaneous
|
|||
general/export_import_data
|
||||
general/email_communication
|
||||
general/voip
|
||||
general/calendars
|
||||
general/in_app_purchase
|
||||
general/developer_mode
|
||||
|
|
|
|||
|
|
@@ -6,5 +6,5 @@ Due to specific requirements in Azure's OAuth implementation, Microsoft Azure OA
|
|||
is NOT compatible with Odoo at the moment.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
|
||||
- :doc:`../../productivity/calendar/outlook`
|
||||
- :doc:`/administration/maintain/azure_oauth`
|
||||
|
|
|
|||
|
|
@@ -9,7 +9,7 @@ This is particularly helpful if your organization uses Google Workforce and you
|
|||
within your organization to connect to Odoo with their Google Accounts.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
|
||||
- :doc:`../../productivity/calendar/google`
|
||||
- :doc:`/administration/maintain/google_oauth`
|
||||
|
||||
.. _google-sign-in/configuration:
|
||||
|
|
|
|||
|
|
@@ -1,11 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
=========
|
||||
Calendars
|
||||
=========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
calendars/outlook/outlook_calendar
|
||||
calendars/google/google_calendar_credentials
|
||||
|
|
@@ -58,4 +58,4 @@ can change the Language to any previously installed language and click
|
|||
:align: center
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../../websites/website/publish/translate`
|
||||
* :doc:`../../websites/website/configuration/translate`
|
||||
|
|
|
|||
|
|
@@ -1,45 +1,125 @@
|
|||
===============================
|
||||
Manage Stock that you don't own
|
||||
===============================
|
||||
=================================================
|
||||
Consignment: buy and sell stock without owning it
|
||||
=================================================
|
||||
|
||||
Sometimes, suppliers can offer you to store and sell products without
|
||||
having to buy those items. This technique is called *consignee stock*.
|
||||
Most of the time, products stored in a company's warehouse are either purchased from suppliers, or
|
||||
are manufactured in-house. However, suppliers will sometimes let companies store and sell products
|
||||
in the company's warehouse, without having to buy those items up-front. This is called
|
||||
*consignment*.
|
||||
|
||||
Consignee stock is a great way for manufacturers and suppliers to launch
|
||||
new products. As resellers may be reluctant to buy a product they are
|
||||
not sure to be able to sell, consignee stock will allow them to offer an
|
||||
item to check its market without having to pay for it in the first
|
||||
place.
|
||||
Consignment is a useful method for suppliers to launch new products, and easily deliver to their
|
||||
customers. It's also a great way for the company storing the products (the consignee) to earn
|
||||
something back for their efforts. Consignees can even charge a fee for the convenience of storing
|
||||
products they don't actually own.
|
||||
|
||||
Of course, Odoo has the ability to manage those consignee stocks through
|
||||
advanced settings.
|
||||
Enable the consignment setting
|
||||
==============================
|
||||
|
||||
Configuration
|
||||
=============
|
||||
To receive, store, and sell consignment stock, the feature needs to be enabled in the settings. To
|
||||
do this, go to :menuselection:`Inventory --> Configuration --> Settings`, and under the
|
||||
:guilabel:`Traceability` section, check the box next to :guilabel:`Consignment`, and then click
|
||||
:guilabel:`Save` to finish.
|
||||
|
||||
To use this feature, go to :menuselection:`Inventory --> Configuration --> Settings` in
|
||||
the inventory app. Then, enable the *Consignment* feature in the
|
||||
*Traceability* section. Now, hit save.
|
||||
.. image:: owned_stock/owned-stock-enable-consignment.png
|
||||
:align: center
|
||||
:alt: Enabled Consignment setting in Inventory configuration.
|
||||
|
||||
.. image:: owned_stock/owned_stock_01.png
|
||||
:align: center
|
||||
Receive (and store) consignment stock
|
||||
=====================================
|
||||
|
||||
Reception of Consignee Stock
|
||||
============================
|
||||
|
||||
When in the *Inventory* app, open the receipts and create a new
|
||||
reception. On the right side, you will see that a new line called
|
||||
*Assign Owner* has appeared. There, you can specify the partner which
|
||||
owns the stock.
|
||||
|
||||
.. image:: owned_stock/owned_stock_02.png
|
||||
:align: center
|
||||
With the feature enabled in Odoo, consignment stock can now be received into a warehouse. From the
|
||||
main :menuselection:`Inventory` dashboard, click into the :guilabel:`Receipts`
|
||||
section. Then, click :guilabel:`Create`.
|
||||
|
||||
.. note::
|
||||
If you are the owner, you can leave the field blank.
|
||||
Consignment stock is not actually purchased from the vendor; it is simply received and stored.
|
||||
Because of this, there are no quotations or purchase orders involved in receiving consignment
|
||||
stock. So, *every* receipt of consignment stock will start by creating manual receipts.
|
||||
|
||||
Once the receipt is validated, the products enter your stock but still
|
||||
belong to the owner. They don’t impact your inventory valuation.
|
||||
Choose a vendor to enter in the :guilabel:`Receive From` field, and then choose the same vendor to
|
||||
enter in the :guilabel:`Assign Owner` field.
|
||||
|
||||
.. image:: owned_stock/owned_stock_03.png
|
||||
:align: center
|
||||
.. important::
|
||||
Since the products received from the vendor will be owned by the same vendor, the
|
||||
:guilabel:`Receive From` and :guilabel:`Assign Owner` fields must match.
|
||||
|
||||
Once the vendor-related fields are set, enter products into the :guilabel:`Product` lines, and set
|
||||
the quantities to be received into the warehouse under the :guilabel:`Done` column. If the
|
||||
:guilabel:`Units of Measure` feature is enabled, the :abbr:`UoM (Units of Measure)` can be changed,
|
||||
as well. Once all the consignment stock has been received, :guilabel:`Validate` the receipt.
|
||||
|
||||
.. image:: owned_stock/owned-stock-receipt-fields.png
|
||||
:align: center
|
||||
:alt: Matching vendor fields in consignment Receipt creation.
|
||||
|
||||
Sell and deliver consignment stock
|
||||
==================================
|
||||
|
||||
Once consignment stock has been received into the warehouse, it can be sold the same as any other
|
||||
in-stock product that has the :guilabel:`Can Be Sold` option enabled on the product form.
|
||||
|
||||
To create a sales order, navigate to the :menuselection:`Sales` app, and from the
|
||||
:guilabel:`Quotations` overview, click :guilabel:`Create`. Next, choose a customer to enter into the
|
||||
:guilabel:`Customer` field.
|
||||
|
||||
.. note::
|
||||
The :guilabel:`Customer` *must* be different from the :guilabel:`Vendor` that supplied the
|
||||
consignment stock received (and stored) in the warehouse.
|
||||
|
||||
Add the consignment product under the :guilabel:`Product` column in the order lines, set the
|
||||
:guilabel:`Quantity`, and fill out any other pertinent product details on the form. Once the
|
||||
quotation is complete, click :guilabel:`Confirm`.
|
||||
|
||||
.. image:: owned_stock/owned-stock-sales-order.png
|
||||
:align: center
|
||||
:alt: Sales order of consignment stock.
|
||||
|
||||
Once the :abbr:`RFQ (Request for Quotation)` has been confirmed, it will become a sales order. From
|
||||
here, the products can be delivered by clicking on the :guilabel:`Delivery` smart button, and
|
||||
selecting :guilabel:`Validate` to validate the delivery.
|
||||
|
||||
Traceability and reporting of consignment stock
|
||||
===============================================
|
||||
|
||||
Although consignment stock is owned by the vendor who supplied it, and not by the company storing it
|
||||
in their warehouse, consignment products will *still* appear in certain inventory reports.
|
||||
|
||||
To find inventory reports, go to :menuselection:`Inventory --> Reporting`, and choose a report to
|
||||
view.
|
||||
|
||||
.. note::
|
||||
Since the consignee does not actually own consigment stock, these products are *not* reflected
|
||||
in the :guilabel:`Stock Valuation` report, and have no impact on the consignee's inventory
|
||||
valuation.
|
||||
|
||||
Product moves report
|
||||
--------------------
|
||||
|
||||
To view all information about on-hand stock moves, navigate to the the :guilabel:`Product Moves`
|
||||
dashboard by going to :menuselection:`Inventory --> Reporting --> Product Moves`. For consignment
|
||||
products, the information in this report is the same as any other product: the history
|
||||
of its product moves can be reviewed; the :guilabel:`Quantity Done` and :guilabel:`Reference`
|
||||
document are available; and its :guilabel:`Locations` are available, as well. The consignment stock
|
||||
will originate from :guilabel:`Partner Location/Vendors`.
|
||||
|
||||
.. tip::
|
||||
To view a consignment product's moves by ownership, select the :guilabel:`Group By` filter,
|
||||
choose the :guilabel:`Add Custom Group` parameter, and then select :guilabel:`From Owner`, and
|
||||
:guilabel:`Apply` to finish.
|
||||
|
||||
.. image:: owned_stock/owned-stock-moves-history.png
|
||||
:align: center
|
||||
:alt: Consignment stock moves history.
|
||||
|
||||
.. tip::
|
||||
To see forecasted units of consignment stock, go to :menuselection:`Inventory --> Reporting -->
|
||||
Forecasted Inventory`.
|
||||
|
||||
Stock on hand report
|
||||
--------------------
|
||||
|
||||
View the :guilabel:`Stock On Hand` dashboard by navigating to :menuselection:`Inventory -->
|
||||
Reporting --> Inventory Report`. From this report, the :guilabel:`Locations` of all stock on-hand
|
||||
are displayed, in addition to the quantities per location. For consigment products, the
|
||||
:guilabel:`Owner` column will be populated with the owner of those products, or the original vendor
|
||||
who supplied the products in the first place.
|
||||
|
|
|
|||
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 23 KiB |
|
After Width: | Height: | Size: 45 KiB |
|
Before Width: | Height: | Size: 4.7 KiB |
|
Before Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 8.2 KiB |
|
|
@@ -19,5 +19,6 @@ and allow workers to trigger maintenance operations, feedback loops, quality iss
|
|||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
manufacturing/maintenance
|
||||
manufacturing/management
|
||||
manufacturing/quality_control
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,10 @@
|
|||
:nosearch:
|
||||
|
||||
===========
|
||||
Maintenance
|
||||
===========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
maintenance/add_new_equipment
|
||||
|
|
@@ -0,0 +1,85 @@
|
|||
=================
|
||||
Add new equipment
|
||||
=================
|
||||
|
||||
In Odoo, **equipment** refers to any item that is used in everyday operations, including the
|
||||
manufacturing of products. This can mean a piece of machinery on a production line, a tool that is
|
||||
used in different locations, or a computer in an office space. Equipment registered in Odoo can be
|
||||
owned by the company that uses the Odoo database, or by a third party, such as a vendor in the case
|
||||
of equipment rentals.
|
||||
|
||||
Using Odoo **Maintenance**, it is possible to track individual pieces of equipment, along with
|
||||
information about their maintenance requirements. To add a new piece of equipment, navigate to the
|
||||
:guilabel:`Maintenance` module, select :menuselection:`Equipments --> Machines & Tools --> Create`,
|
||||
and configure the equipment as follows:
|
||||
|
||||
- :guilabel:`Equipment Name`: the product name of the piece of equipment
|
||||
- :guilabel:`Equipment Category`: the category that the equipment belongs to; for example,
|
||||
computers, machinery, tools, etc.; new categories can be created by navigating to
|
||||
:menuselection:`Configuration --> Equipment Categories` and clicking :guilabel:`Create`
|
||||
- :guilabel:`Company`: the company that owns the equipment; again, this can be the company that uses
|
||||
the Odoo database, or a third-party company
|
||||
- :guilabel:`Used By`: specify if the equipment is used by a specific employee, department, or both;
|
||||
select :guilabel:`Other` to specify both an employee and a department
|
||||
- :guilabel:`Maintenance Team`: the team responsible for servicing the equipment; new teams can be
|
||||
created by navigating to :menuselection:`Configuration --> Maintenance Teams` and
|
||||
selecting :guilabel:`Create`; the members of each team can also be assigned from this page
|
||||
- :guilabel:`Technician`: the person responsible for servicing the equipment; this can be used to
|
||||
assign a specific individual in the event that no maintenance team is assigned or when a specific
|
||||
member of the assigned team should always be responsible for the equipment; any person added to
|
||||
Odoo as a user can be assigned as a technician
|
||||
- :guilabel:`Used in location`: the location where the equipment is used; this is a simple text
|
||||
field that can be used to specify locations that are not work centers, like an office, for
|
||||
example
|
||||
- :guilabel:`Work Center`: if the equipment is used at a work center, specify it here; equipment can
|
||||
also be assigned to a work center by navigating to :menuselection:`Maintenance --> Equipments -->
|
||||
Work Centers`, selecting a work center or creating a new one using the :guilabel:`Create` button,
|
||||
and clicking the :guilabel:`Equipment` tab on the work center form
|
||||
|
||||
.. image:: add_new_equipment/new-equipment-form.png
|
||||
:align: center
|
||||
:alt: An example of a fully configured new equipment form.
|
||||
|
||||
Include additional product information
|
||||
--------------------------------------
|
||||
|
||||
The :guilabel:`Product Information` tab at the bottom of the form can be used to provide further
|
||||
details about the piece of equipment:
|
||||
|
||||
- :guilabel:`Vendor`: the vendor that the equipment was purchased from
|
||||
- :guilabel:`Vendor Reference`: the reference code assigned to the vendor
|
||||
- :guilabel:`Model`: the specific model of the piece of equipment
|
||||
- :guilabel:`Serial Number`: the unique serial number of the equipment
|
||||
- :guilabel:`Effective Date`: the date that the equipment became available for use; this is used to
|
||||
calculate the :abbr:`MTBF (Mean Time Between Failures)`
|
||||
- :guilabel:`Cost`: the amount the equipment was purchased for
|
||||
- :guilabel:`Warranty Expiration Date`: the date on which the equipment's warranty will expire
|
||||
|
||||
.. image:: add_new_equipment/new-equipment-product-information.png
|
||||
:align: center
|
||||
:alt: The product information tab for the new piece of equipment.
|
||||
|
||||
Add maintenance details
|
||||
-----------------------
|
||||
|
||||
The :guilabel:`Maintenance` tab includes information that can be useful to maintenance teams:
|
||||
|
||||
- :guilabel:`Preventive Maintenance Frequency`: specifies how often maintenance should be
|
||||
performed to prevent equipment failure
|
||||
- :guilabel:`Maintenance Duration`: the amount of time required to fix the equipment when it fails
|
||||
- :guilabel:`Expected Mean Time Between Failure`: the average amount of time that the equipment is
|
||||
expected to operate before failing
|
||||
|
||||
.. image:: add_new_equipment/new-equipment-maintenance.png
|
||||
:align: center
|
||||
:alt: The maintenance tab for the new piece of equipment.
|
||||
|
||||
.. Note::
|
||||
The :guilabel:`Maintenance` tab also includes sections for :guilabel:`Mean Time Between Failure`,
|
||||
:guilabel:`Estimated Next Failure`, :guilabel:`Latest Failure`,
|
||||
and :guilabel:`Mean Time To Repair`. These values are calculated automatically based on
|
||||
maintenance requests if any exist.
|
||||
|
||||
.. tip::
|
||||
To see the maintenance requests for a piece of equipment, go to the page for the equipment and
|
||||
select :guilabel:`Maintenance` in the top right corner of the form.
|
||||
|
After Width: | Height: | Size: 12 KiB |
|
After Width: | Height: | Size: 9.0 KiB |
|
After Width: | Height: | Size: 8.3 KiB |
|
|
@@ -11,3 +11,4 @@ Marketing
|
|||
marketing/sms_marketing
|
||||
marketing/events
|
||||
marketing/surveys
|
||||
marketing/social_marketing
|
||||
|
|
|
|||
16
content/applications/marketing/social_marketing.rst
Normal file
|
|
@@ -0,0 +1,16 @@
|
|||
:nosearch:
|
||||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
|
||||
================
|
||||
Social Marketing
|
||||
================
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Marketing <https://www.odoo.com/slides/marketing-27>`_
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
social_marketing/essentials
|
||||
|
|
@@ -0,0 +1,11 @@
|
|||
:nosearch:
|
||||
|
||||
==========
|
||||
Essentials
|
||||
==========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
essentials/social_essentials
|
||||
essentials/social_campaigns
|
||||
|
|
@@ -0,0 +1,151 @@
|
|||
==========================
|
||||
Social marketing campaigns
|
||||
==========================
|
||||
|
||||
Social marketing campaigns help companies connect directly with the marketplace. These campaigns
|
||||
are helpful when introducing a new product to customers, explaining the value of a product or
|
||||
service, or when advertising an upcoming event or product release.
|
||||
|
||||
The most effective social marketing campaigns typically involve multiple channels to maximize
|
||||
content distribution, and Odoo's *Social Marketing* application acts as a singular control center to
|
||||
monitor, plan, post, track, and analyze all of the various content and content channels within a
|
||||
single dashboard.
|
||||
|
||||
Campaigns page
|
||||
==============
|
||||
|
||||
To access a complete overview of all social marketing campaigns, open the :menuselection:`Social
|
||||
Marketing` application, and click :menuselection:`Campaigns` from the header menu. Doing so reveals
|
||||
a separate page with every campaign in a default kanban view.
|
||||
|
||||
.. image:: social_campaigns/campaigns-page.png
|
||||
:align: center
|
||||
:alt: View of the campaigns page in the Odoo Social Marketing application.
|
||||
|
||||
Each *stage* in the kanban view can be edited, by clicking the :guilabel:`gear icon` to the left of
|
||||
the :guilabel:`+ (plus sign)` - located to the right of the stage title.
|
||||
|
||||
.. note::
|
||||
The **gear icon** *only* appears when the cursor hovers to the left of the **+ (plus sign)**.
|
||||
When the gear icon is clicked, a drop-down menu reveals the options: :guilabel:`Fold`,
|
||||
:guilabel:`Edit Stage`, and :guilabel:`Delete`.
|
||||
|
||||
.. image:: social_campaigns/campaign-stage-dropdown.png
|
||||
:align: center
|
||||
:alt: View of the campaigns page in the Odoo Social Marketing application.
|
||||
|
||||
Clicking :guilabel:`Fold` minimizes that specific stage's column. The stage column can be restored
|
||||
by clicking the folded version of it on the main :guilabel:`Campaigns` dashboard in the default
|
||||
kanban view.
|
||||
|
||||
Selecting :guilabel:`Edit Stage` reveals a pop-up window, in which the name and the sequence of the
|
||||
stage can be modified. If changes are made, be sure to click :guilabel:`Save`.
|
||||
|
||||
Clicking :guilabel:`Delete` removes the stage entirely.
|
||||
|
||||
.. note::
|
||||
To add a new stage to the pipeline, side-scroll to the right on the :guilabel:`Campaigns`
|
||||
dashboard, click :guilabel:`Add a Column`, enter in the desired information, and click
|
||||
:guilabel:`Add`.
|
||||
|
||||
.. tip::
|
||||
The same social marketing campaign information on the :guilabel:`Campaigns` dashboard can also be
|
||||
viewed as a list, by selecting the :guilabel:`List` option, located under the search bar, in the
|
||||
upper-right corner.
|
||||
|
||||
Create social marketing campaigns
|
||||
=================================
|
||||
|
||||
First, open the :menuselection:`Social Marketing` application, and select :guilabel:`Campaigns` from
|
||||
the header menu.
|
||||
|
||||
On the :guilabel:`Campaigns` dashboard, a new campaign can be created by clicking the quick add
|
||||
:guilabel:`+ (plus sign)` located in the top-right corner of each stage in the pipeline, visible in
|
||||
the kanban view. Campaigns can also be created by clicking :guilabel:`Create` in the upper-left
|
||||
corner of the :guilabel:`Campaigns` dashboard.
|
||||
|
||||
Both options reveal a new campaign detail window directly on the :guilabel:`Campaigns` dashboard
|
||||
when clicked.
|
||||
|
||||
.. image:: social_campaigns/quick-add-campaign.png
|
||||
:align: center
|
||||
:alt: View of the quick add option for campaigns in Odoo Social Marketing.
|
||||
|
||||
Here, the :guilabel:`Campaign Name`, :guilabel:`Responsible`, and :guilabel:`Tags` can be entered.
|
||||
When all modifications are complete, click :guilabel:`Add` to add the campaign to the database.
|
||||
|
||||
Edit social marketing campaigns
|
||||
===============================
|
||||
|
||||
In order to edit a campaign in greater detail, and create/send various forms of communications
|
||||
related to it, the template page for that campaign must be accessed and modified, accordingly.
|
||||
There are multiple ways to access a template page for a campaign.
|
||||
|
||||
- After entering the pertinent information in the :guilabel:`Quick Add` campaign drop-down, click
|
||||
:guilabel:`Edit`.
|
||||
- Simply select the desired campaign from the :guilabel:`Campaigns` dashboard in list or kanban
|
||||
view.
|
||||
- On the :guilabel:`Campaigns` dashboard in the kanban view, select the :guilabel:`⋮ (three dots)`
|
||||
drop-down menu on the desired campaign, and select :guilabel:`Edit`.
|
||||
|
||||
Any of the above routes will reveal the *Campaign Template* page for that specific campaign.
|
||||
|
||||
Social marketing campaign templates
|
||||
===================================
|
||||
|
||||
On a *Campaign Template* page, numerous elements can be customized/modified, and various forms of
|
||||
communications can be created, modified, and sent or scheduled. Below is a sample of a completed
|
||||
campaign template.
|
||||
|
||||
.. image:: social_campaigns/create-campaign.png
|
||||
:align: center
|
||||
:alt: View of a sample campaign template page in Odoo Social Marketing.
|
||||
|
||||
.. important::
|
||||
In order for the :guilabel:`Send New Mailing` option to appear on campaign templates, make sure
|
||||
the *Mailing Campaigns* feature is enabled in the *Email Marketing* app. To do that, navigate to
|
||||
:menuselection:`Email Marketing --> Configuration --> Settings`, activate :guilabel:`Mailing
|
||||
Campaigns`, and click :guilabel:`Save`.
|
||||
|
||||
.. note::
|
||||
In order for the :guilabel:`Send SMS` option to appear, the Odoo *SMS Marketing* application must
|
||||
be installed on the database.
|
||||
|
||||
Add content and communications to campaigns
|
||||
===========================================
|
||||
|
||||
If the proper settings and applications are installed (as instructed above), there are four forms
|
||||
of communication/content options that can be added to campaigns. Each of these options are displayed
|
||||
as buttons in the upper-left corner of the campaign template page.
|
||||
|
||||
- :guilabel:`Send New Mailing`: reveals a blank email template on a separate page, in which the
|
||||
message can be fully customized in a variety of ways.
|
||||
- :guilabel:`Send SMS`: reveals a blank SMS template on a separate page, in which a SMS
|
||||
communication can be created and configured.
|
||||
- :guilabel:`Send Social Post`: reveals a blank social post template on a separate page, in which
|
||||
a post can be created, and applied to social media accounts that are already connected to the
|
||||
database.
|
||||
- :guilabel:`Push Notification`: reveals a similar blank social post template on a separate page,
|
||||
however, the :guilabel:`Push Notification` options are already pre-selected in the :guilabel:`Post
|
||||
on` field.
|
||||
|
||||
Whichever form of communication is created, once it's completed, Odoo returns to the
|
||||
:guilabel:`Campaign Template` page, showcasing that new content in its corresponding tab (e.g.
|
||||
:guilabel:`Mailings`, :guilabel:`SMS`, :guilabel:`Social Media`, and/or :guilabel:`Push
|
||||
Notifications`).
|
||||
|
||||
As content and communications are added to a campaign, tabs for those specific mediums appear,
|
||||
along with a variety of analytical smart buttons (e.g. :guilabel:`Revenues`, :guilabel:`Quotations`,
|
||||
:guilabel:`Leads`, etc.).
|
||||
|
||||
These smart buttons, located at the top of the template, display different metrics related to the
|
||||
campaign, and its various communications and content. Clicking any smart button reveals a separate
|
||||
page dedicated to that particular element of the campaign, allowing for quicker, more organized
|
||||
analysis.
|
||||
|
||||
.. note::
|
||||
The Odoo *Social Marketing* app is integrated with other Odoo applications, such as *Sales*,
|
||||
*Invoicing*, *CRM*, and *Website*.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/marketing/social_marketing/essentials/social_essentials`
|
||||
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
After Width: | Height: | Size: 28 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
|
@@ -0,0 +1,345 @@
|
|||
===========================
|
||||
Social marketing essentials
|
||||
===========================
|
||||
|
||||
Odoo's *Social Marketing* helps content marketers create and schedule posts, manage various social
|
||||
media accounts, analyze content effectiveness, and engage directly with social media followers in
|
||||
one, centralized location.
|
||||
|
||||
Add social media accounts
|
||||
=========================
|
||||
|
||||
In order to create posts, each social media account must be added as a stream in the Odoo *Social
|
||||
Marketing* application.
|
||||
|
||||
Add a social media stream
|
||||
-------------------------
|
||||
|
||||
Add a social media account as a stream by navigating to :menuselection:`Social Marketing` and then
|
||||
select the :guilabel:`Add A Stream` button located in the upper left corner
|
||||
|
||||
When :guilabel:`Add A Stream` is clicked, the following pop-up appears, displaying the different
|
||||
social media outlets to choose from.
|
||||
|
||||
.. image:: social_essentials/social-add-streams.png
|
||||
:align: center
|
||||
:alt: View of the pop-up that appears when 'Add a Stream' is selected in Odoo.
|
||||
|
||||
.. note::
|
||||
Additional social media outlet options are available depending on your version of Odoo.
|
||||
|
||||
From this pop-up, select a social media option: :guilabel:`Facebook`, :guilabel:`LinkedIn`, or
|
||||
:guilabel:`Twitter`.
|
||||
|
||||
Then, Odoo navigates directly to that specific social media outlet's authorization page, where
|
||||
permission must be granted, in order for Odoo to add that particular social media account to the
|
||||
*Social Marketing* application as a stream on the main dashboard of the app.
|
||||
|
||||
.. note::
|
||||
A Facebook page can be added as long as the Facebook account that grants permission is the
|
||||
administrator for the page. Also, different pages can be added for different streams.
|
||||
|
||||
Once permission is granted, Odoo navigates back to the :guilabel:`Feed` on the main
|
||||
:guilabel:`Social Marketing` dashboard, and a new column with that account's posts are automatically
|
||||
added.
|
||||
|
||||
From here, new accounts and/or streams can be added and managed at any time.
|
||||
|
||||
.. image:: social_essentials/feed.png
|
||||
:align: center
|
||||
:alt: Example of how a populated stream-filled dashboard looks in Odoo Social Marketing
|
||||
|
||||
.. note::
|
||||
Adding social media accounts to the feed also links that specific social media platform's KPIs
|
||||
(if the platform has them). To get redirected to the statistics and metrics related to any social
|
||||
account, click on :guilabel:`Insights`.
|
||||
|
||||
.. image:: social_essentials/insights.png
|
||||
:align: center
|
||||
:alt: The insights link that can be accessed for each social media stream added in Odoo.
|
||||
|
||||
Create and publish social media posts in Odoo
|
||||
=============================================
|
||||
|
||||
To create content for social media accounts in the :menuselection:`Social Marketing` application,
|
||||
click the :guilabel:`New Post` button located in the upper-left corner of the main dashboard, or
|
||||
navigate to :menuselection:`Posts --> Create` from the header menu.
|
||||
|
||||
Either route reveals a blank post template page that can be customized and configured in a number
|
||||
of different ways.
|
||||
|
||||
.. image:: social_essentials/social-create-post.png
|
||||
:align: center
|
||||
:alt: How to create a social media post directly through Odoo
|
||||
|
||||
Post template
|
||||
-------------
|
||||
|
||||
The post template page has many different options avaiable.
|
||||
|
||||
'Your Post' section
|
||||
~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
The first option is the :guilabel:`Post on` field. This is where it's determined on what social
|
||||
media account(s), or on which website(s) via push notification, this post will be published.
|
||||
|
||||
.. important::
|
||||
In order for the :guilabel:`Push Notification` option to appear, make sure the *Enable Web Push
|
||||
Notifications* feature is enabled in the *Website* app. To do that, navigate to
|
||||
:menuselection:`Website --> Configuration --> Settings`, activate :guilabel:`Enable Web Push
|
||||
Notifications`, fill out the corresponding fields, and click :guilabel:`Save`.
|
||||
|
||||
Odoo automatically provides every available social media account that's been linked to the database
|
||||
as an option in this section, as well.
|
||||
|
||||
.. note::
|
||||
If a social media account hasn't been added as a stream to the *Social Marketing* application, it
|
||||
will not appear as an option on the post template.
|
||||
|
||||
Next, there's the :guilabel:`Message` field. This is where the main content of the post is created.
|
||||
|
||||
Type the desired message for the post in this field. To the right, as the :guilabel:`Message` field
|
||||
is populated, Odoo displays visual samples of how the post will look on all the previously selected
|
||||
social media accounts from the :guilabel:`Post on` field above.
|
||||
|
||||
.. tip::
|
||||
Emojis can also be added directly to the text in the :guilabel:`Message` field. Just click the
|
||||
:guilabel:`emoji (smiley face) icon`, located on the line of the :guilabel:`Message` field to the
|
||||
far right. Clicking this icon reveals a drop-down containing numerous emojis to choose from.
|
||||
|
||||
If images are to be used in the post, click the :guilabel:`ATTACH IMAGES` link beneath the
|
||||
:guilabel:`Message` field, and Odoo reveals a pop-up window. In this pop-up, the desired image must
|
||||
be chosen, and then uploaded.
|
||||
|
||||
A preview of the entire post, text and image (if applicable), is instantly displayed in the visual
|
||||
preview of the post.
|
||||
|
||||
Next, there's the option to attach this post to a specific marketing campaign in the database in
|
||||
the :guilabel:`Campaign` field. Click the blank line next to :guilabel:`Campaign` to reveal the
|
||||
previously configured campaigns to choose from.
|
||||
|
||||
.. tip::
|
||||
A new campaign can be created, as well, by typing the name of the new campaign on the blank
|
||||
:guilabel:`Campaign` field, and selecting :guilabel:`Create` from the drop-down field menu. Or,
|
||||
select :guilabel:`Create and edit` from the menu to further customize that newly-created
|
||||
campaign.
|
||||
|
||||
.. note::
|
||||
A social post does *not* need to be attached to a campaign.
|
||||
|
||||
Then, in the :guilabel:`When` field, choose either :guilabel:`Send Now` to have Odoo publish the
|
||||
post immediately, or :guilabel:`Schedule later` to have Odoo publish the post at a later date and
|
||||
time.
|
||||
|
||||
If :guilabel:`Schedule later` is selected, Odoo reveals a new field beneath it (the
|
||||
:guilabel:`Scheduled post date` field). Clicking that empty field reveals a pop-up calendar, in
|
||||
which a future date and time is designated. At which time, Odoo will promptly publish the post on
|
||||
the pre-determined social media accounts.
|
||||
|
||||
Click on the desired date to schedule the post for that day. Then, either select and customize
|
||||
the default time in the :guilabel:`Scheduled post date` field manually. Or, adjust the desired post
|
||||
time, by clicking the :guilabel:`scheduling (clock) icon` located on the calendar pop-up, and choose
|
||||
the desired time for Odoo to publish this post on that future date.
|
||||
|
||||
If scheduling a post, remember to hit :guilabel:`Schedule` in the upper left of the post template.
|
||||
Doing so, locks in that specific date/time for Odoo to send the post, and it changes the status of
|
||||
the post to :guilabel:`Scheduled`.
|
||||
|
||||
.. note::
|
||||
Also, when :guilabel:`Schedule` is clicked, a number of analytical smart buttons appear on the
|
||||
post page. Each one offers up a detailed anaylsis of the corresponding metric (e.g.
|
||||
:guilabel:`Leads`, :guilabel:`Revenues`, etc.). These same smart buttons appear when a post is
|
||||
officially published, as well.
|
||||
|
||||
'Web Notification Options' section
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
If any :guilabel:`Push Notifications` are selected in the :guilabel:`Post on` field, Odoo provides
|
||||
another section of settings/options at the bottom of the post template. It should be noted that
|
||||
*none* of these fields are required.
|
||||
|
||||
The first field is for a :guilabel:`Push Notification Title`. This is text that is displayed as the
|
||||
title of the push notification whenever it's sent. Odoo displays a visual preview of this title, if
|
||||
one is created.
|
||||
|
||||
To designate a specific page on the website that should trigger this push notification, enter that
|
||||
page's URL in the :guilabel:`Push Target URL` field. Then, once a visitor reaches that specific
|
||||
page, Odoo will display the push notification.
|
||||
|
||||
Below that field is the option to add a custom :guilabel:`Push Icon Image`. This is an icon that
|
||||
appears beside the push notification. By default, Odoo uses a "smiley face" as the icon.
|
||||
|
||||
To upload a new image, click the :guilabel:`Edit (pencil) icon` when the :guilabel:`Push Icon Image`
|
||||
field is hovered over with the cursor. Then, proceed to locate and upload the desired image, and
|
||||
Odoo automatically displays a preview of how the icon will appear on the push notification.
|
||||
|
||||
Next, there is the option to :guilabel:`Send at Visitors' Timezone`. If enabled, Odoo will send it
|
||||
at the appropriate, pre-determined time, taking the visitor's location into consideration.
|
||||
|
||||
Save, post, and test notification options
|
||||
-----------------------------------------
|
||||
|
||||
When all the modifications have been made, and the post is completed, either click :guilabel:`Save`
|
||||
to save the post as a *Draft*. Or, if the post is ready to be published immediately, click
|
||||
:guilabel:`Post`, and Odoo automatically publishes the post on the pre-determined social media
|
||||
accounts.
|
||||
|
||||
There is also the option to :guilabel:`Test Notification`, if a :guilabel:`Push Notification` was
|
||||
selected in the :guilabel:`Post on` field. Clicking that, provides a quick example of how the
|
||||
notification will appear for visitors.
|
||||
|
||||
Social post status bar
|
||||
----------------------
|
||||
|
||||
In the top-right of the :guilabel:`Post Template` page is the :guilabel:`Status Bar`. This displays
|
||||
the current status of the post.
|
||||
|
||||
When :guilabel:`Save` is clicked, the post is in the *Draft* status.
|
||||
|
||||
If the post is scheduled to be sent at a future date/time, and the :guilabel:`Schedule` button has
|
||||
been clicked, the status of the post is *Scheduled*.
|
||||
|
||||
If the post is in the process of currently being published or sent, the status of the post is
|
||||
*Posting*. And, lastly, if the post has already been published or sent, the status is *Posted*.
|
||||
|
||||
Posts page
|
||||
==========
|
||||
|
||||
To see a complete overview of posts, go to Odoo :menuselection:`Social Marketing`, and click
|
||||
:menuselection:`Posts` in the header menu. Here, every post that has been created and posted with
|
||||
Odoo is available.
|
||||
|
||||
There are four different view options for :guilabel:`Posts` page data: *kanban*, *calendar*, *list*,
|
||||
and *pivot*. The view options are located in the upper right corner of the :guilabel:`Posts` page,
|
||||
beneath the search bar.
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Kanban view
|
||||
|
||||
By default, Odoo displays the posts in a kanban view. The information on this page can be
|
||||
sorted even further, via the :guilabel:`Filters` and :guilabel:`Group by` drop-down menu.
|
||||
|
||||
.. image:: social_essentials/posts-page.png
|
||||
:align: center
|
||||
:alt: Kanban view of the posts page in the Odoo Social Marketing application.
|
||||
|
||||
.. tab:: Calendar view
|
||||
|
||||
The calendar view option displays a visual representation in a calendar format of when posts
|
||||
were published, or are scheduled to be published. This option provides a clear overview of any
|
||||
planned day, week, or month, and Odoo displays all drafted, scheduled, and published posts.
|
||||
|
||||
.. image:: social_essentials/calendar-view.png
|
||||
:align: center
|
||||
:alt: Example of the calendar view in Odoo Social Marketing.
|
||||
|
||||
.. tab:: List view
|
||||
|
||||
The list view option is similar to the kanban option, but instead of individual blocks, all
|
||||
the post information is displayed in a clear, list layout. Each line of the list displays the
|
||||
:guilabel:`Social Accounts`, :guilabel:`Message`, and :guilabel:`Status` of every post.
|
||||
|
||||
.. image:: social_essentials/list-view.png
|
||||
:align: center
|
||||
:alt: View of the list option on the posts page in Odoo Social Marketing.
|
||||
|
||||
.. tab:: Pivot view
|
||||
|
||||
The pivot view option provides a fully customizable grid table, where different measures of
|
||||
data can be added and analyzed.
|
||||
|
||||
.. image:: social_essentials/pivot-view.png
|
||||
:align: center
|
||||
:alt: View of the pivot option on the posts page in Odoo Social Marketing.
|
||||
|
||||
The pivot view option provides numerous analytical options, allowing for in-depth, detailed
|
||||
analysis of various posts.
|
||||
|
||||
Click on any :guilabel:`+ (plus sign) icon` next to a line in the pivot table to reveal more metric
|
||||
options to add to the grid.
|
||||
|
||||
While in the pivot view, the option to :guilabel:`Insert in Spreadsheet` is available, located
|
||||
to the right of the :guilabel:`Measures` drop-down.
|
||||
|
||||
When clicked, a pop-up appears, where the option to add this information to a current
|
||||
spreadsheet is available. The option to create a new spreadsheet for this information
|
||||
on-the-fly is also available in this pop-up, as well.
|
||||
|
||||
Next to the :guilabel:`Insert in Spreadsheet` are three view options, specific to the pivot
|
||||
view.
|
||||
|
||||
From left to right, the options are:
|
||||
|
||||
- :guilabel:`Flip Axis`, which switches the *X* and *Y* axis in the grid table.
|
||||
- :guilabel:`Expand All`, which expands each line in the grid, revealing more detailed
|
||||
information related to it.
|
||||
- :guilabel:`Download`, which, when clicked, instantly downloads the pivot table as a
|
||||
spreadsheet.
|
||||
|
||||
Visitors
|
||||
========
|
||||
|
||||
To see a complete overview of all the people who have visited the website(s) connected to the
|
||||
database, navigate to :menuselection:`Social Marketing --> Visitors` in the header menu.
|
||||
|
||||
.. image:: social_essentials/visitors.png
|
||||
:align: center
|
||||
:alt: View of the Visitors page in the Odoo Social Marketing application.
|
||||
|
||||
Here, Odoo provides a detailed layout of all the visitors' pertinent information in a default
|
||||
kanban view. This same information can be sorted via the :guilabel:`Filters` and :guilabel:`Group
|
||||
By` options.
|
||||
|
||||
The visitor data can also be viewed as a list or a graph. Those view options are located in the
|
||||
upper-right corner of the :guilabel:`Visitors` page beneath the search bar.
|
||||
|
||||
Social media page
|
||||
=================
|
||||
|
||||
Go to :menuselection:`Configuration --> Social Media` to see a collection of all social media
|
||||
options: :guilabel:`Facebook`, :guilabel:`LinkedIn`, :guilabel:`Twitter`, and :guilabel:`Push
|
||||
Notifications`.
|
||||
|
||||
.. image:: social_essentials/social-media-page.png
|
||||
:align: center
|
||||
:alt: View of the social media page in the Odoo Social Marketing application.
|
||||
|
||||
If no account has been linked to any particular social media, click :guilabel:`Link Account` to
|
||||
proceed through the linking process.
|
||||
|
||||
Social accounts page
|
||||
====================
|
||||
|
||||
To see a list of all social accounts linked to the database, go to :menuselection:`Configuration -->
|
||||
Social Accounts`. This page will display the :guilabel:`Medium Name` and the :guilabel:`Social
|
||||
Media` platform it is associated with.
|
||||
|
||||
.. image:: social_essentials/social-accounts-page.png
|
||||
:align: center
|
||||
:alt: View of the social accounts page in the Odoo Social Marketing application.
|
||||
|
||||
To edit/modify any social accounts, simply select the desired account from the list on this page,
|
||||
and proceed to make any adjustments necessary. Don't forget to hit :guilabel:`Save` to secure any
|
||||
changes.
|
||||
|
||||
Social streams page
|
||||
===================
|
||||
|
||||
Navigate to :menuselection:`Configuration --> Social Streams` to reveal a separate page containing
|
||||
all of the social media streams that have been added to the main dashboard of the *Social Marketing*
|
||||
app, accessible via the :guilabel:`Feed` option in the header menu.
|
||||
|
||||
.. image:: social_essentials/social-streams-page.png
|
||||
:align: center
|
||||
:alt: View of the social accounts page in the Odoo Social Marketing application.
|
||||
|
||||
Here, the social stream information is organized in a list with the :guilabel:`Social Media`, the
|
||||
:guilabel:`Title` of the stream, and the :guilabel:`Type` of the stream (e.g. :guilabel:`Posts`,
|
||||
:guilabel:`Keyword`, etc.).
|
||||
|
||||
To modify any stream's information, simply click the desired stream from the list, and proceed to
|
||||
make any necessary adjustments. Don't forget to hit :guilabel:`Save` to secure any changes.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/marketing/social_marketing/essentials/social_campaigns`
|
||||
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 86 KiB |
|
After Width: | Height: | Size: 40 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 17 KiB |
|
After Width: | Height: | Size: 22 KiB |
|
After Width: | Height: | Size: 15 KiB |
|
After Width: | Height: | Size: 8.6 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 13 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 19 KiB |
|
|
@@ -8,5 +8,6 @@ Productivity
|
|||
.. toctree::
|
||||
|
||||
productivity/discuss
|
||||
productivity/calendar
|
||||
productivity/iot
|
||||
productivity/studio
|
||||
|
|
|
|||
|
|
@@ -1,10 +1,11 @@
|
|||
:nosearch:
|
||||
|
||||
========
|
||||
Helpdesk
|
||||
Calendar
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
helpdesk/plan_onsite
|
||||
calendar/outlook
|
||||
calendar/google
|
||||
|
|
@@ -1,6 +1,6 @@
|
|||
=====================================
|
||||
Synchronize Google Calendar with Odoo
|
||||
=====================================
|
||||
===============================
|
||||
Google Calendar synchronization
|
||||
===============================
|
||||
|
||||
Synchronize Google Calendar with Odoo to see and manage meetings from both platforms (updates go
|
||||
in both directions). This integration helps organize your schedule so you never miss a meeting.
|
||||
|
|
@@ -25,7 +25,7 @@ Begin by creating a new Google API project and enabling the Google Calendar API.
|
|||
|
||||
Next, click :guilabel:`Select a project` and select or create an API project to store credentials.
|
||||
|
||||
.. image:: google_calendar_credentials/new-api-project.png
|
||||
.. image:: google/new-api-project.png
|
||||
:align: center
|
||||
:alt: Create a new API project to store credentials.
|
||||
|
||||
|
|
@@ -34,14 +34,14 @@ Next, click :guilabel:`Select a project` and select or create an API project to
|
|||
|
||||
Then, open the API Project and click :guilabel:`Enable APIs and Services`.
|
||||
|
||||
.. image:: google_calendar_credentials/enable-apis-services.png
|
||||
.. image:: google/enable-apis-services.png
|
||||
:align: center
|
||||
:alt: Enable APIs and Services on the API Project.
|
||||
|
||||
After that, search for *Google Calendar API* using the search bar and select :guilabel:`Google
|
||||
Calendar API` from the search results. Click :guilabel:`Enable`.
|
||||
|
||||
.. image:: google_calendar_credentials/enable-google-cal-api.png
|
||||
.. image:: google/enable-google-cal-api.png
|
||||
:align: center
|
||||
:alt: Enable the Google Calendar API.
|
||||
|
||||
|
|
@@ -55,7 +55,7 @@ four steps to create your API credentials.
|
|||
- In the first step, :guilabel:`Credential Type`, select the :guilabel:`Google Calendar API` and
|
||||
:guilabel:`User Data` options. Then, click :guilabel:`Next`.
|
||||
|
||||
.. image:: google_calendar_credentials/credential-type.png
|
||||
.. image:: google/credential-type.png
|
||||
:align: center
|
||||
:alt: Select Google Calendar API and User Data for the Credential Type.
|
||||
|
||||
|
|
@@ -76,7 +76,7 @@ four steps to create your API credentials.
|
|||
your company's Odoo URL address followed by */google_account/authentication*. Finally, click
|
||||
:guilabel:`Create` and :guilabel:`Done`.
|
||||
|
||||
.. image:: google_calendar_credentials/uri.png
|
||||
.. image:: google/uri.png
|
||||
:align: center
|
||||
:alt: Add the authorized JavaScript origins and the authorized redirect URIs.
|
||||
|
||||
|
|
@@ -94,7 +94,7 @@ Next, locate the credentials you just created for the Google Calendar API. Then,
|
|||
:guilabel:`Edit OAuth Client` (the pencil icon). The page will redirect to the edit page, where you
|
||||
can view the Client ID and the Client Secret.
|
||||
|
||||
.. image:: google_calendar_credentials/edit-oauth-2.png
|
||||
.. image:: google/edit-oauth-2.png
|
||||
:align: center
|
||||
:alt: Click Edit OAuth Client to view the credential details.
|
||||
|
||||
|
|
@@ -105,7 +105,7 @@ Once the Client ID and the Client Secret are located, open the Odoo database and
|
|||
:menuselection:`Settings --> General Settings --> Integrations --> Google Calendar`. Check the box
|
||||
next to :guilabel:`Google Calendar`.
|
||||
|
||||
.. image:: google_calendar_credentials/settings-google-cal.png
|
||||
.. image:: google/settings-google-cal.png
|
||||
:align: center
|
||||
:alt: The Google Calendar checkbox in General Settings.
|
||||
|
||||
|
|
@@ -116,7 +116,7 @@ page into their respective fields below the :guilabel:`Google Calendar` checkbox
|
|||
Finally, open the Calendar module in Odoo and click on the :guilabel:`Google` sync button to sync
|
||||
Google Calendar with Odoo.
|
||||
|
||||
.. image:: google_calendar_credentials/sync-google.png
|
||||
.. image:: google/sync-google.png
|
||||
:align: center
|
||||
:alt: Click the Google sync button in Odoo Calendar to sync Google Calendar with Odoo.
|
||||
|
||||
|
|
@@ -124,12 +124,12 @@ Google Calendar with Odoo.
|
|||
The first time you sync your Google Calendar with Odoo, the page will redirect to your Google
|
||||
Account. Click :guilabel:`OK` and :guilabel:`Allow` to authorize Odoo to access Google Calendar.
|
||||
|
||||
.. image:: google_calendar_credentials/trust-odoo.png
|
||||
.. image:: google/trust-odoo.png
|
||||
:align: center
|
||||
:alt: Give Odoo permission to access Google Calendar.
|
||||
|
||||
Now, Odoo Calendar is successfully synced with Google Calendar!
|
||||
|
||||
.. image:: google_calendar_credentials/successful-sync.png
|
||||
.. image:: google/successful-sync.png
|
||||
:align: center
|
||||
:alt: Successfully sync between Odoo and Google Calendar.
|
||||
|
Before Width: | Height: | Size: 30 KiB After Width: | Height: | Size: 30 KiB |
|
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.3 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 9.7 KiB After Width: | Height: | Size: 9.7 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
Before Width: | Height: | Size: 6.6 KiB After Width: | Height: | Size: 6.6 KiB |
|
Before Width: | Height: | Size: 32 KiB After Width: | Height: | Size: 32 KiB |
|
Before Width: | Height: | Size: 31 KiB After Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 27 KiB After Width: | Height: | Size: 27 KiB |
|
Before Width: | Height: | Size: 20 KiB After Width: | Height: | Size: 20 KiB |
|
|
@@ -1,6 +1,6 @@
|
|||
======================================
|
||||
Synchronize Outlook Calendar with Odoo
|
||||
======================================
|
||||
================================
|
||||
Outlook Calendar synchronization
|
||||
================================
|
||||
|
||||
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
|
||||
appointments across all related applications.
|
||||
|
|
@@ -33,7 +33,7 @@ URI (URL) followed by `/microsoft_account/authentication`.
|
|||
Enter `https://www.companyname.odoo.com/microsoft_account/authentication` for the
|
||||
:guilabel:`Redirect URI`.
|
||||
|
||||
.. image:: outlook_calendar/azure-register-application.png
|
||||
.. image:: outlook/azure-register-application.png
|
||||
:align: center
|
||||
:alt: The "Supported account type" and "Redirect URI" settings in the Microsoft Azure AD portal.
|
||||
|
||||
|
|
@@ -58,27 +58,27 @@ Configuration in Odoo
|
|||
In the Odoo database, go to :menuselection:`Settings --> General Settings --> Integrations` and
|
||||
activate the :guilabel:`Outlook Calendar` setting.
|
||||
|
||||
.. image:: outlook_calendar/outlook-calendar-setting.png
|
||||
.. image:: outlook/outlook-calendar-setting.png
|
||||
:align: center
|
||||
:alt: The "Outlook Calendar" setting activated in Odoo.
|
||||
|
||||
From the Microsoft Azure portal, under the :guilabel:`Overview` section of the application, copy
|
||||
the :guilabel:`Application (Client) ID`, and paste it into the :guilabel:`Client ID` field in Odoo.
|
||||
|
||||
.. image:: outlook_calendar/client-id.png
|
||||
.. image:: outlook/client-id.png
|
||||
:align: center
|
||||
:alt: The "Client ID" in the Microsoft Azure portal.
|
||||
|
||||
In the Microsoft Azure portal, under the :guilabel:`Certificates & secrets` section, copy the
|
||||
:guilabel:`Client Secret Value` and paste it into the :guilabel:`Client Secret` field in Odoo.
|
||||
|
||||
.. image:: outlook_calendar/client-secret-value.png
|
||||
.. image:: outlook/client-secret-value.png
|
||||
:align: center
|
||||
:alt: The "Client Secret" token to be copied from Microsoft to Odoo.
|
||||
|
||||
Finally, on the Odoo :menuselection:`Settings --> General Settings` page, click :guilabel:`Save`.
|
||||
|
||||
.. _outlook_calendar/sync_with_outlook:
|
||||
.. _outlook/sync:
|
||||
|
||||
Sync with Outlook
|
||||
=================
|
||||
|
|
@@ -125,7 +125,7 @@ In the Odoo database, go to the :guilabel:`Calendar` module and click the :guila
|
|||
button. The page will redirect to a Microsoft login page, and the user is asked to log in to
|
||||
their account, if they are not already, and grant the required permissions.
|
||||
|
||||
.. image:: outlook_calendar/outlook-sync-button.png
|
||||
.. image:: outlook/outlook-sync-button.png
|
||||
:align: center
|
||||
:alt: The "Outlook" sync button in Odoo Calendar.
|
||||
|
||||
|
|
@@ -134,11 +134,11 @@ The synchronization is a two-way process, meaning that events are reconciled in
|
|||
|
||||
.. note::
|
||||
All users that want to use the synchronization simply need to :ref:`sync their calendar with
|
||||
Outlook <outlook_calendar/sync_with_outlook>`. The configuration of Microsoft's Azure account
|
||||
Outlook <outlook/sync>`. The configuration of Microsoft's Azure account
|
||||
is only done once, as Azure AD tenants' Client IDs and Client Secrets are unique, and represent
|
||||
an organization that helps the user to manage a specific instance of Microsoft cloud services
|
||||
for their internal and external users.
|
||||
|
||||
.. seealso::
|
||||
- :doc:`../../../sales/crm/optimize/outlook_extension`
|
||||
- :doc:`../google/google_calendar_credentials`
|
||||
- :doc:`../../sales/crm/optimize/outlook_extension`
|
||||
- :doc:`google`
|
||||
|
Before Width: | Height: | Size: 41 KiB After Width: | Height: | Size: 41 KiB |
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 5.5 KiB After Width: | Height: | Size: 5.5 KiB |
|
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
|
@@ -12,4 +12,3 @@ Internet of Things (IoT)
|
|||
|
||||
iot/config
|
||||
iot/devices
|
||||
../sales/point_of_sale/payment
|
||||
|
|
|
|||
|
|
@@ -10,5 +10,6 @@ Configuration
|
|||
|
||||
config/connect
|
||||
config/pos
|
||||
config/https_certificate_iot
|
||||
config/flash_sdcard
|
||||
config/troubleshooting
|
||||
|
|
|
|||
|
|
@@ -0,0 +1,260 @@
|
|||
.. _iot/https_certificate_iot:
|
||||
|
||||
=======================
|
||||
HTTPS certificate (IoT)
|
||||
=======================
|
||||
|
||||
What is HTTPS?
|
||||
==============
|
||||
|
||||
*Hypertext Transfer Protocol Secure* (HTTPS) is the secure version of *Hypertext Transfer Protocol*
|
||||
(HTTP), which is the primary protocol used to send data back and forth between a web browser and a
|
||||
website. :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is encrypted in order to increase the
|
||||
security of data transfer.
|
||||
|
||||
:abbr:`HTTPS (Hypertext Transfer Protocol Secure)` uses an encryption protocol to encrypt
|
||||
communications. The protocol is called *Transport Layer Security* (TLS), although formerly it was
|
||||
known as *Secure Sockets Layer* (SSL).
|
||||
|
||||
:abbr:`HTTPS (Hypertext Transfer Protocol Secure)` occurs based upon the transmission of :abbr:`TLS
|
||||
(Transport Layer Security)`/:abbr:`SSL (Secure Sockets Layer)` certificates, which verify that a
|
||||
particular provider is who they say they are.
|
||||
|
||||
.. note::
|
||||
In this documentation and throughout Odoo the term "HTTPS certificate" will be used to define the
|
||||
fact that the :abbr:`SSL (Secure Sockets Layer)` certificate is valid and allows a :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)` connection.
|
||||
|
||||
Why is it needed?
|
||||
-----------------
|
||||
|
||||
In order to communicate with certain network devices (in particular for payment terminals), the
|
||||
usage of :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` is mandatory. If the :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)` certificate isn't valid, some devices won't be able to
|
||||
interact with the :abbr:`IoT (Internet of Things)` Box.
|
||||
|
||||
How to obtain a Hypertext Transfer Protocol Secure (HTTPS) certificate
|
||||
======================================================================
|
||||
|
||||
The generation of the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate is automatic.
|
||||
|
||||
The :abbr:`IoT (Internet of Things)` Box will send a specific request to `<https://www.odoo.com>`_
|
||||
which will send back the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate if the
|
||||
:abbr:`IoT (Internet of Things)` box and database are eligible.
|
||||
|
||||
.. _iot/iot-eligibility:
|
||||
|
||||
Internet of Things (IoT) eligibility
|
||||
------------------------------------
|
||||
|
||||
#. The database should be a **production** instance. The database instance should not be a copy, a
|
||||
duplicate, a staging, or a development environment.
|
||||
#. The Odoo subscription must:
|
||||
|
||||
- Have an :guilabel:`IoT Box Subscription` line.
|
||||
- :guilabel:`Status` must be :guilabel:`In Progress`.
|
||||
|
||||
If the subscription is linked to a `<https://www.odoo.com>`_ portal user check the information
|
||||
on the portal subscription page.
|
||||
|
||||
.. figure:: https_certificate_iot/sub-example-in-progress.png
|
||||
:align: center
|
||||
:alt: Odoo.com portal subscriptions filtered by "in progress".
|
||||
|
||||
In this case, both subscriptions are considered "in progress" as the :guilabel:`Filter By\:
|
||||
In Progress` was used.
|
||||
|
||||
.. note::
|
||||
If the subscription is in question, contact the database's Account Manager or Partner
|
||||
regarding the matter.
|
||||
|
||||
Troubleshooting Hypertext Transfer Protocol Secure (HTTPS) certificate errors
|
||||
=============================================================================
|
||||
|
||||
If anything goes wrong during the process of the "HTTPS certificate" generation or reception, a
|
||||
specific error will code be given on the :abbr:`IoT (Internet of Things)` box home page.
|
||||
|
||||
.. tip::
|
||||
Accessing the :abbr:`IoT (Internet of Things)` box homepage will check for the presence of the
|
||||
"HTTPS certificate" and will attempt its generation if it is missing. As such, if there is an
|
||||
error on the :abbr:`IoT (Internet of Things)` box home page, refresh the :abbr:`IoT (Internet of
|
||||
Things)` home page to see if the error disappears.
|
||||
|
||||
`ERR_IOT_HTTPS_CHECK_NO_SERVER`
|
||||
-------------------------------
|
||||
|
||||
Reason:
|
||||
The configuration regarding the server is missing. In other words, the Odoo instance is not
|
||||
connected with the IoT box.
|
||||
|
||||
Solution:
|
||||
Ensure that the server is configured.
|
||||
|
||||
.. seealso::
|
||||
:doc:`/applications/productivity/iot/config/connect`
|
||||
|
||||
`ERR_IOT_HTTPS_CHECK_CERT_READ_EXCEPTION`
|
||||
-----------------------------------------
|
||||
|
||||
Reason:
|
||||
An unhandled error happened when trying to read the existing :abbr:`HTTPS (Hypertext Transfer
|
||||
Protocol Secure)` certificate.
|
||||
|
||||
Solution:
|
||||
Ensure that the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate file is readable.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_NO_CREDENTIAL`
|
||||
----------------------------------
|
||||
|
||||
Reason:
|
||||
The contract and/or database :abbr:`UUID (Universal Unique Identifier)` is missing.
|
||||
|
||||
Solution:
|
||||
Ensure that both values are configured as intended. To modify them, go to the :abbr:`IoT
|
||||
(Internet of Things)` box home page, and navigate to :guilabel:`Credential`.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_EXCEPTION`
|
||||
--------------------------------------
|
||||
|
||||
Reason:
|
||||
An unexpected error happened when the :abbr:`IoT (Internet of Things)` box tried to reach
|
||||
`<https://www.odoo.com>`_. The causes are likely due to the network
|
||||
infrastructure/configuration:
|
||||
|
||||
- The :abbr:`IoT (Internet of Things)` box does not have access to internet.
|
||||
- The network does not allow the :abbr:`IoT (Internet of Things)` box to communicate with
|
||||
`<https://www.odoo.com>`_. This may be due to network devices preventing the communication
|
||||
(firewalls, etc.) or the network configuration (:abbr:`VPN (Virtual Private Network)`,
|
||||
etc.).
|
||||
|
||||
.. note::
|
||||
More information regarding the error that occurred can be found in the full request
|
||||
exception details, which are in the :abbr:`IoT (Internet of Things)` box logs.
|
||||
|
||||
Solution:
|
||||
.. warning::
|
||||
Consult with your system or network administrator should this issue arise. This error code
|
||||
depends on the network infrastructure and goes beyond :doc:`Odoo support's service scope
|
||||
</services/support/what_can_i_expect>`.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_STATUS`
|
||||
-----------------------------------
|
||||
|
||||
Reason:
|
||||
The IoT-box was able to reach `<https://www.odoo.com>`_ but received an unusual
|
||||
`HTTP response (status codes)
|
||||
<https://developer.mozilla.org/en-US/docs/Web/HTTP/Status>`_.
|
||||
|
||||
This error code will also give the HTTP response status codes. For example, if the error reads
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_STATUS 404` it means that the page returned a 404 error, which is
|
||||
the "Page Not Found" code.
|
||||
|
||||
Solution:
|
||||
Check if `<https://www.odoo.com>`_ is down using a web browser, as it's possible that it is down
|
||||
due to maintenance.
|
||||
|
||||
- If `<https://www.odoo.com>`_ is down due to maintenance, unfortunately there is nothing that
|
||||
can be done but instead wait for it to recover.
|
||||
- If `<https://www.odoo.com>`_ is not down due to maintenance, open a `support ticket
|
||||
<https://www.odoo.com/help>`_ on the matter. Ensure that the 3 digits status code next to the
|
||||
code error is included in the support ticket.
|
||||
|
||||
`ERR_IOT_HTTPS_LOAD_REQUEST_NO_RESULT`
|
||||
--------------------------------------
|
||||
|
||||
Reason:
|
||||
The :abbr:`IoT (Internet of Things)` box was able to reach `<https://www.odoo.com>`_ but it
|
||||
refused to deliver the :abbr:`HTTPS (Hypertext Transfer Protocol Secure)` certificate.
|
||||
|
||||
Solution:
|
||||
Ensure that the :abbr:`IoT (Internet of Things)` box and database are eligible for a
|
||||
certificate: :ref:`Internet of Things (IoT) eligibility <iot/iot-eligibility>`.
|
||||
|
||||
How to ensure that the HTTPS certificate is correct
|
||||
===================================================
|
||||
|
||||
If the certificate has been applied successfully, a new :abbr:`HTTPS (Hypertext Transfer Protocol
|
||||
Secure)` :abbr:`URL (Uniform Resource Locator)` for the :abbr:`IoT (Internet of Things)` box ending
|
||||
with `.odoo-iot.com` will appear on the Odoo database, inside of the :menuselection:`IoT`
|
||||
application on that specific device's form.
|
||||
|
||||
.. image:: https_certificate_iot/odoo-new-domain.png
|
||||
:align: center
|
||||
:alt: Odoo IoT app IoT box with .odoo-iot.com domain.
|
||||
|
||||
When navigating to the :abbr:`URL (Uniform Resource Locator)` in a browser a secured :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)` connection will be established.
|
||||
|
||||
.. figure:: https_certificate_iot/secured-connection.png
|
||||
:align: center
|
||||
:alt: Example of valid SSL certificate details on the browser.
|
||||
|
||||
Padlock in Chrome on Windows 10 attesting the fact that the connection is secured in :abbr:`HTTPS
|
||||
(Hypertext Transfer Protocol Secure)`.
|
||||
|
||||
The IoT-box homepage will now display an `OK` status next to `HTTPS certificate`. The
|
||||
drop-down menu icon, when clicked, will reveal information regarding the certificate.
|
||||
|
||||
.. image:: https_certificate_iot/status-ok.png
|
||||
:align: center
|
||||
:alt: IoT box homepage with HTTPS certificate OK status.
|
||||
|
||||
Domain Name System (DNS) issue
|
||||
==============================
|
||||
|
||||
If the :abbr:`IoT (Internet of Things)` box can be accessed from its :abbr:`IP (Intrernet Protocol)`
|
||||
address but not the Odoo assigned domain: `.odoo-iot.com`; then the :abbr:`IoT (Internet of Things)`
|
||||
box is likely running into a :abbr:`DNS (Domain Name System)` issue. On some browsers, it will give
|
||||
an error code mentioning :abbr:`DNS (Domain Name System)` (like `DNS_PROBE_FINISHED_NXDOMAIN`).
|
||||
|
||||
These :abbr:`DNS (Domain Name System)` issues may appear as the following in different browsers:
|
||||
|
||||
.. tabs::
|
||||
|
||||
.. tab:: Chrome
|
||||
|
||||
.. figure:: https_certificate_iot/dns-chrome.png
|
||||
:align: center
|
||||
:alt: DNS issue on Chrome browser on Windows 10.
|
||||
|
||||
DNS issue on Chrome browser on Windows 10.
|
||||
|
||||
|
||||
.. tab:: Firefox
|
||||
|
||||
.. figure:: https_certificate_iot/dns-firefox.png
|
||||
:align: center
|
||||
:alt: DNS issue on Firefox browser on Windows 10.
|
||||
|
||||
DNS issue on Firefox browser on Windows 10.
|
||||
|
||||
.. tab:: Edge
|
||||
|
||||
.. figure:: https_certificate_iot/dns-edge.png
|
||||
:align: center
|
||||
:alt: DNS issue on Edge browser on Windows 10.
|
||||
|
||||
DNS issue on Edge browser on Windows 10.
|
||||
|
||||
|
||||
Domain Name System (DNS) issue solution
|
||||
---------------------------------------
|
||||
|
||||
#. Should the router allow the :abbr:`DNS (Domain Name System)` to be manually changed, change the
|
||||
DNS to use `Google DNS <https://developers.google.com/speed/public-dns>`_.
|
||||
#. If your router doesn't allow for this, then a change will need to be made on the :abbr:`DNS
|
||||
(Domain Name System)` settings of each of the devices using `Google DNS
|
||||
<https://developers.google.com/speed/public-dns>`_. This will need to occur on **every** device
|
||||
that plans to interact with the :abbr:`IoT (Internet of Things)` box (e.g. computer, tablet or
|
||||
phone). The individual device configuration processes can be found on the website of the
|
||||
device's manufacturer.
|
||||
|
||||
.. note::
|
||||
Other :abbr:`IoT (Internet of Things)` devices such as payment terminals likely won't need
|
||||
their :abbr:`DNS (Domain Name System)` settings changed as they are already configured with
|
||||
custom :abbr:`DNS (Domain Name System)`.
|
||||
|
||||
.. warning::
|
||||
Consult with your system or network administrator should this issue arise. This error code
|
||||
depends on the network infrastructure, and it goes beyond :doc:`Odoo support's service scope
|
||||
</services/support/what_can_i_expect>`.
|
||||
|
After Width: | Height: | Size: 19 KiB |
|
After Width: | Height: | Size: 20 KiB |
|
After Width: | Height: | Size: 26 KiB |
|
After Width: | Height: | Size: 27 KiB |
|
After Width: | Height: | Size: 6.2 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 16 KiB |
|
|
@@ -54,7 +54,7 @@ Then, you have to connect the peripheral devices to your IoT Box.
|
|||
|
||||
- **Payment terminal**: The connection process depends on the terminal,
|
||||
please refer to the :doc:`payment terminals documentation
|
||||
</applications/sales/point_of_sale/payment>`.
|
||||
</applications/sales/point_of_sale/payment_methods>`.
|
||||
|
||||
Once it's done, you can connect the IoT Box to your PoS. For this, go in
|
||||
:menuselection:`Point of Sale --> Configuration --> PoS`, tick *IoT Box*
|
||||
|
|
|
|||
|
|
@@ -1,24 +1,120 @@
|
|||
:nosearch:
|
||||
:show-content:
|
||||
:hide-page-toc:
|
||||
:show-toc:
|
||||
|
||||
=============
|
||||
Point of Sale
|
||||
=============
|
||||
|
||||
With **Odoo Point of Sale**, run your shops or restaurants easily. The app runs on the browser, but
|
||||
is able to continue working even if you are offline.
|
||||
With **Odoo Point of Sale**, run your shops and restaurants easily. The app works on any device with
|
||||
a web browser, even if you are temporarily offline. Product moves are automatically registered in
|
||||
your stock, you get real-time statistics, and your data is consolidated across all shops.
|
||||
|
||||
.. seealso::
|
||||
- `Odoo Tutorials: Point of Sale Tutorials <https://www.odoo.com/slides/point-of-sale-28>`_
|
||||
- :doc:`IoT Boxes Documentations </applications/productivity/iot>`
|
||||
|
||||
.. _pos/session-start:
|
||||
|
||||
Start a session
|
||||
===============
|
||||
|
||||
From the **POS dashboard**, click :guilabel:`New Session` to start a POS session, or
|
||||
:guilabel:`Resume` if the session was already open.
|
||||
|
||||
.. note::
|
||||
Multiple users can be connected to the same session at the same time. However, the session can
|
||||
only be open once on the same browser.
|
||||
|
||||
.. _pos/sell:
|
||||
|
||||
Sell products
|
||||
=============
|
||||
|
||||
Click on products to add them to the cart. To change the **quantity**, click :guilabel:`Qty` and
|
||||
enter the number of products using the keypad. To add a **discount** or modify the product
|
||||
**price**, click respectively :guilabel:`Disc` or :guilabel:`Price` and enter the amounts.
|
||||
|
||||
Once an order is completed, proceed to checkout by clicking :guilabel:`Payment`. Select the
|
||||
**payment method**, enter the received amount, and click :guilabel:`Validate`. Click
|
||||
:guilabel:`New Order` to move on to the next customer.
|
||||
|
||||
.. image:: point_of_sale/pos-interface.png
|
||||
:align: center
|
||||
:alt: POS session interface.
|
||||
|
||||
.. tip::
|
||||
- You can use both `,` and `.` on your keyboard as decimal separators.
|
||||
- **Cash** is selected by default if you enter the amount without choosing a payment method.
|
||||
|
||||
.. _pos/customers:
|
||||
|
||||
Register customers
|
||||
==================
|
||||
|
||||
Registering your customers gives you the ability to grant them various privileges such as discounts,
|
||||
loyalty program, specific communication. It is also required if they want an invoice and registering
|
||||
them makes any future interaction with them faster.
|
||||
|
||||
From your session interface, use the customer button.
|
||||
|
||||
.. image:: point_of_sale/customer-button.png
|
||||
|
||||
Create a new one by using this button.
|
||||
|
||||
.. image:: point_of_sale/customer-add.png
|
||||
|
||||
You will be invited to fill out the customer form with their
|
||||
information.
|
||||
|
||||
.. image:: point_of_sale/customer-form.png
|
||||
|
||||
Use the save button when you are done. You can then select that customer
|
||||
in any future transactions.
|
||||
|
||||
.. _pos/refund:
|
||||
|
||||
Return and refund products
|
||||
==========================
|
||||
|
||||
To return a product and make a refund,
|
||||
|
||||
#. from the **POS dashboard**, **open a session** and select the returned product;
|
||||
#. click :guilabel:`Qty` and :guilabel:`+/-` to enter the quantity of returned products;
|
||||
#. once the order is completed, click :guilabel:`Payment` to proceed to the refund;
|
||||
#. click :guilabel:`Validate` and :guilabel:`New Order` to move on to the next customer.
|
||||
|
||||
.. _pos/session-close:
|
||||
|
||||
Close the POS session
|
||||
=====================
|
||||
|
||||
To close your session,
|
||||
|
||||
#. go back to the POS dashboard by clicking :guilabel:`Close` and :guilabel:`Confirm` in the upper
|
||||
right corner of your screen;
|
||||
#. then, click :guilabel:`Close` and proceed to the **closing control**;
|
||||
#. click the :guilabel:`Payments` smart button to know what amount of cash should be in your cash
|
||||
drawer;
|
||||
#. once the control is done, click :guilabel:`Close session & post entries`;
|
||||
#. the status goes automatically from :guilabel:`In Progress` to :guilabel:`Closed & Posted`.
|
||||
|
||||
.. image:: point_of_sale/close-pos-session.png
|
||||
:align: center
|
||||
:alt: How to close a POS session.
|
||||
|
||||
.. tip::
|
||||
- It is strongly advised to close your POS session at the end of each day.
|
||||
- To look at all your previous sessions, go to :menuselection:`Point of Sale --> Orders -->
|
||||
Sessions`.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
point_of_sale/overview
|
||||
point_of_sale/employee_login
|
||||
point_of_sale/receipts_invoices
|
||||
point_of_sale/configuration
|
||||
point_of_sale/shop
|
||||
point_of_sale/restaurant
|
||||
point_of_sale/payment
|
||||
point_of_sale/advanced_pricing_features
|
||||
point_of_sale/pricing
|
||||
point_of_sale/payment_methods
|
||||
point_of_sale/reporting
|
||||
|
|
|
|||
|
|
@@ -1,13 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
================
|
||||
Pricing Features
|
||||
================
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
advanced_pricing_features/discounts
|
||||
advanced_pricing_features/discount_tags
|
||||
advanced_pricing_features/loyalty
|
||||
advanced_pricing_features/pricelists
|
||||
|
Before Width: | Height: | Size: 16 KiB After Width: | Height: | Size: 16 KiB |
33
content/applications/sales/point_of_sale/configuration.rst
Normal file
|
|
@@ -0,0 +1,33 @@
|
|||
:show-content:
|
||||
:show-toc:
|
||||
|
||||
=============
|
||||
Configuration
|
||||
=============
|
||||
|
||||
.. _configuration/settings:
|
||||
|
||||
Access POS settings
|
||||
===================
|
||||
|
||||
To access the general POS settings, go to :menuselection:`Point of Sale --> Configuration -->
|
||||
Settings`.
|
||||
|
||||
To access the settings of a specific point of sale, go to :menuselection:`Point of Sale -->
|
||||
Configuration --> Point of Sale`. Alternatively, from the Point of Sale dashboard, click the
|
||||
vertical ellipsis (:guilabel:`⋮`) button on a POS card, then on :guilabel:`Settings`.
|
||||
|
||||
Make products available
|
||||
=======================
|
||||
|
||||
To make products available for sale, go to :menuselection:`Point of Sale --> Products --> Products`,
|
||||
and open a product. In the :guilabel:`Point of Sale` tab, enable :guilabel:`Available in POS`.
|
||||
|
||||
.. image:: configuration/pos-available.png
|
||||
:alt: Making a product available in your POS.
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
configuration/https
|
||||
configuration/epos_ssc
|
||||
|
Before Width: | Height: | Size: 13 KiB After Width: | Height: | Size: 13 KiB |
|
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
|
Before Width: | Height: | Size: 8.6 KiB After Width: | Height: | Size: 8.6 KiB |
|
Before Width: | Height: | Size: 21 KiB After Width: | Height: | Size: 21 KiB |
|
Before Width: | Height: | Size: 6.9 KiB After Width: | Height: | Size: 6.9 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 14 KiB After Width: | Height: | Size: 14 KiB |
|
Before Width: | Height: | Size: 54 KiB After Width: | Height: | Size: 54 KiB |
|
|
@@ -21,7 +21,7 @@ To enable the feature, go to your *PoS settings* and check log in with
|
|||
employees on your *PoS form*. Then, add the employees that have access
|
||||
to the cash register.
|
||||
|
||||
.. image:: multicashiers/multicashiers01.png
|
||||
.. image:: employee_login/multicashiers01.png
|
||||
:align: center
|
||||
|
||||
Now, you can switch cashier easily.
|
||||
|
|
@@ -32,12 +32,12 @@ Switch without pin codes
|
|||
The easiest way to switch cashiers is without a code. To do so, click on
|
||||
the cashier name in your PoS interface.
|
||||
|
||||
.. image:: multicashiers/multicashiers02.png
|
||||
.. image:: employee_login/multicashiers02.png
|
||||
:align: center
|
||||
|
||||
Now, you just have to click on your name.
|
||||
|
||||
.. image:: multicashiers/multicashiers03.png
|
||||
.. image:: employee_login/multicashiers03.png
|
||||
:align: center
|
||||
|
||||
.. _set-pin-code:
|
||||
|
|
@@ -48,12 +48,12 @@ Switch cashier with pin codes
|
|||
You can set a pin code on each cashier. To set up a pin code, go to the
|
||||
employee form and add a security PIN, in the *HR settings tab*.
|
||||
|
||||
.. image:: multicashiers/multicashiers04.png
|
||||
.. image:: employee_login/multicashiers04.png
|
||||
:align: center
|
||||
|
||||
Now, when switching cashier, a PIN password will be asked.
|
||||
|
||||
.. image:: multicashiers/multicashiers05.png
|
||||
.. image:: employee_login/multicashiers05.png
|
||||
:align: center
|
||||
|
||||
.. _employee-barcode:
|
||||
|
|
@@ -66,7 +66,7 @@ so, set up a barcode at the same place you add the PIN code. Print the
|
|||
badge and when they will scan it, the cashier will be switched to that
|
||||
employee.
|
||||
|
||||
.. image:: multicashiers/multicashiers06.png
|
||||
.. image:: employee_login/multicashiers06.png
|
||||
:align: center
|
||||
|
||||
Find who was the cashier
|
||||
|
|
@@ -75,7 +75,7 @@ Find who was the cashier
|
|||
Once you have closed your *PoS session*, you can have an overview of
|
||||
the amount each cashier sold for. To do so, go to the orders menu.
|
||||
|
||||
.. image:: multicashiers/multicashiers07.png
|
||||
.. image:: employee_login/multicashiers07.png
|
||||
:align: center
|
||||
|
||||
Now, you can open the order and have a summary of the sold products.
|
||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 6.3 KiB |
|
Before Width: | Height: | Size: 3.9 KiB After Width: | Height: | Size: 3.9 KiB |
|
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
|
Before Width: | Height: | Size: 4.0 KiB After Width: | Height: | Size: 4.0 KiB |
|
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
|
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 5.9 KiB |
|
Before Width: | Height: | Size: 8.4 KiB After Width: | Height: | Size: 8.4 KiB |
|
|
@@ -1,13 +0,0 @@
|
|||
:nosearch:
|
||||
|
||||
========
|
||||
Overview
|
||||
========
|
||||
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
overview/getting_started
|
||||
overview/register
|
||||
overview/https
|
||||
overview/epos_ssc
|
||||
|
|
@@ -1,118 +0,0 @@
|
|||
===============
|
||||
Getting started
|
||||
===============
|
||||
|
||||
**Point of Sale** is a fully integrated application that allows you to sell products (online or
|
||||
offline) with any device. It also automatically registers product moves in your stock, gives you
|
||||
real-time statistics, and consolidations across all shops.
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Make products available
|
||||
-----------------------
|
||||
|
||||
To make products available for sale, go to :menuselection:`Point of Sale --> Products --> Products`,
|
||||
and open a product. In the :guilabel:`Point of Sale` tab, enable :guilabel:`Available in POS`.
|
||||
|
||||
.. image:: getting_started/pos-available.png
|
||||
:align: center
|
||||
:alt: Making a product available in your POS.
|
||||
|
||||
Configure payment methods
|
||||
-------------------------
|
||||
|
||||
To add a payment method, you first need to create it. Go to :menuselection:`Point of Sale -->
|
||||
Configuration --> Payment Methods --> Create`. Set a name and select the **payment terminal** or
|
||||
check :guilabel:`Cash` for cash payments.
|
||||
|
||||
.. image:: getting_started/payment-method.png
|
||||
:align: center
|
||||
:alt: Creating a new payment method for a POS.
|
||||
|
||||
.. note::
|
||||
Credentials are mandatory to use a payment terminal. To learn how to configure the different
|
||||
terminals, check out the following documentation pages:.
|
||||
|
||||
- :doc:`Adyen configuration <../payment/adyen>`
|
||||
- :doc:`Vantiv configuration <../payment/vantiv>`
|
||||
- :doc:`Ingenico configuration <../payment/ingenico>`
|
||||
- :doc:`Six configuration <../payment/six>`
|
||||
|
||||
Now, you can select the payment method in your POS settings. To do so, go to
|
||||
:menuselection:`Point of Sale --> Configuration --> Point of Sale` and select a POS for which you
|
||||
wish to make the payment method available. Click :guilabel:`Edit` and add the payment method under
|
||||
the :guilabel:`Payments` section.
|
||||
|
||||
|
||||
POS sessions
|
||||
============
|
||||
|
||||
Start a session
|
||||
---------------
|
||||
|
||||
From the **POS dashboard**, click :guilabel:`New Session` to start a POS session, or
|
||||
:guilabel:`Resume` if the session was already open.
|
||||
|
||||
.. note::
|
||||
Multiple users can be connected to the same session at the same time. However, the session can
|
||||
only be open once on the same browser.
|
||||
|
||||
Click on products to add them to the cart. To change the **quantity**, click :guilabel:`Qty` and
|
||||
enter the number of products using the keypad. To add a **discount** or modify the product
|
||||
**price**, click respectively :guilabel:`Disc` or :guilabel:`Price` and enter the amounts.
|
||||
|
||||
Once an order is completed, proceed to checkout by clicking :guilabel:`Payment`. Select the
|
||||
**payment method**, enter the received amount, and click :guilabel:`Validate`. Click
|
||||
:guilabel:`New Order` to move on to the next customer.
|
||||
|
||||
.. image:: getting_started/pos-interface.png
|
||||
:align: center
|
||||
:alt: POS session interface.
|
||||
|
||||
.. tip::
|
||||
- You can use both `,` and `.` on your keyboard as decimal separators.
|
||||
- **Cash** is selected by default if you enter the amount without choosing a payment method.
|
||||
|
||||
|
||||
Return and refund products
|
||||
--------------------------
|
||||
|
||||
To return a product and make a refund,
|
||||
|
||||
#. from the **POS dashboard**, **open a session** and select the returned product;
|
||||
#. click :guilabel:`Qty` and :guilabel:`+/-` to enter the quantity of returned products;
|
||||
#. once the order is completed, click :guilabel:`Payment` to proceed to the refund;
|
||||
#. click :guilabel:`Validate` and :guilabel:`New Order` to move on to the next customer.
|
||||
|
||||
Close the POS session
|
||||
---------------------
|
||||
|
||||
To close your session,
|
||||
|
||||
#. go back to the POS dashboard by clicking :guilabel:`Close` and :guilabel:`Confirm` in the upper
|
||||
right corner of your screen;
|
||||
#. then, click :guilabel:`Close` and proceed to the **closing control**;
|
||||
#. click the :guilabel:`Payments` smart button to know what amount of cash should be in your cash
|
||||
drawer;
|
||||
#. once the control is done, click :guilabel:`Close session & post entries`;
|
||||
#. the status goes automatically from :guilabel:`In Progress` to :guilabel:`Closed & Posted`.
|
||||
|
||||
.. image:: getting_started/close-pos-session.png
|
||||
:align: center
|
||||
:alt: How to close a POS session.
|
||||
|
||||
.. tip::
|
||||
- It is strongly advised to close your POS session at the end of each day.
|
||||
- To look at all your previous sessions, go to :menuselection:`Point of Sale --> Orders -->
|
||||
Sessions`.
|
||||
|
||||
View statistics
|
||||
===============
|
||||
|
||||
To access your statistics, go to :menuselection:`Point of Sale --> Reporting --> Orders`. Or, from
|
||||
the **POS dashboard**, click the vertical ellipsis (:guilabel:`⋮`) button, :guilabel:`Reporting`,
|
||||
and :guilabel:`Orders`.
|
||||
|
||||
These statistics are available in graph or pivot view that you can filter or group depending on your
|
||||
needs.
|
||||