Compare commits

..

89 Commits

Author SHA1 Message Date
Martin Trigaux
0dbf42b385 [FIX] odoo_theme: correctly consider baseurl
urlBase was only containing the domain name, not the /documentation/
2022-05-20 11:02:58 +02:00
Martin Trigaux
9f27b04063 [IMP] odoo_theme: introduce fallback URLs for the page switchers
When a user clicks on the link of an alternate page in the version or
language switcher, we now check if the page referenced by the target URL
exists or not. If not, we generate a series of fallback URLs from the
target URL and check whether the targeted resource exists or not, until
we read the root of the documentation. As soon as we find a valid URL,
we redirect the user to it.

This is inspired by the behaviour of docs.python.org's version and
language switchers.

task-2534669

closes odoo/documentation#2049

X-original-commit: 25e863a64c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-19 23:13:08 +02:00
Beshoy Nabeih
6210353661 [FIX] developer/frontend: typo in the user menu registry example
closes odoo/documentation#2036

X-original-commit: 6d30d81a76
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-19 15:53:54 +02:00
Altela Eleviansyah Pramardhika
e02de5c5ac [FW][FIX] developer/howtos: Fixed typo from field to fields
closes odoo/documentation#2033

Forward-port-of: odoo/documentation#2023
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-19 15:53:51 +02:00
Tori (vpk)
f3fd6990c1 [IMP] CRM: updated lead scoring with note about deprecation
Task ID: 2496900

closes odoo/documentation#2027

X-original-commit: fca684e802
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-19 14:54:43 +02:00
Tori (vpk)
27220bcdec [IMP] CRM: updating flow and screenshots of generating leads
closes odoo/documentation#2020

Task: 2540813
X-original-commit: 44129be225
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-19 12:13:59 +02:00
John Kirkwood (kij)
d2d6c10c12 [IMP] developer: clarify options for many2one widget
Only `no_create` is required to hide both the 'Create "xxx"' and the
'Create and Edit...' dropdown menu options.

closes odoo/documentation#2014

X-original-commit: 599a137ffc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-18 14:05:56 +02:00
Donatienne Pirlot
0cab975494 [ADD] accounting: new doc about outstanding account
Task-id 2744131

closes odoo/documentation#2010

X-original-commit: 5de81c9e2d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-18 12:53:00 +02:00
Antoine Vandevenne (anv)
9cf700b1ee [FIX] requirements.txt: pin Jinja2 < 3.1
The latest versions of Jinja2 are no longer compatible with the latest
version of Sphinx 3 (3.5.4).

task-2828982

closes odoo/documentation#1999

X-original-commit: 4c7e89d872
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-13 15:29:48 +02:00
Fabrice Henrion
1a466a95a3 [IMP] payment acquirers: a note in Authorize.net
closes odoo/documentation#1988

X-original-commit: df10f17c3e
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-05-12 18:20:47 +02:00
Laurent Desausoi (lade)
75cf0a88dc [IMP] sale_management: remove price_unit from quotation template
Companion of [1].

[1]: https://github.com/odoo/odoo/pull/47186

opw-2824263

closes odoo/documentation#1978

X-original-commit: f6bf1183db
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Desausoi Laurent (lade) <lade@odoo.com>
2022-05-10 16:12:47 +02:00
Antoine Vandevenne (anv)
beaa5afd9f [FIX] conf: allow building the documentation with Python 3.6.
Commit 3d358fdb introduced a new import of Odoo source files which
complain about the minimal Python version if the hack added by 57e1e314
is not executed early enough.

closes odoo/documentation#1971

X-original-commit: 557b261e01
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-09 16:13:54 +02:00
Demesmaeker
5e0f64edcd [IMP] amazon: explain how to use a carrier
In case of an unsupported carrier or a self Delivery, Odoo won't block
the user to use the Amazon connector, but explanation were needed for
these cases.

task-2804907

closes odoo/documentation#1965

X-original-commit: 3231d20d92
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-09 13:19:09 +02:00
Tori (vpk)
0ef18f4d90 [IMP] CRM: update multiple sales teams doc
closes odoo/documentation#1961

Task: 2588786
X-original-commit: 98f306eca5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-09 12:19:03 +02:00
wan
9db567159d [REF] i18n/localization.rst: rework the entire localization tutorial
closes odoo/documentation#1956

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: William Andre <wan@odoo.com>
Co-authored-by: Ivan Yelizariev <iel@odoo.com>
2022-05-09 12:19:00 +02:00
wan
e00b5e35c7 [ADD] extension: allow to build graphs using graphviz
Part-of: odoo/documentation#1956
2022-05-09 12:19:00 +02:00
wan
16afaf6fa7 [ADD] extensions: new autofield directive
This new directive is generating documentation from Odoo fields. This
can be used to build documentation about business classes.
This will help developpers import/export data and build localization
modules for instance.

Part-of: odoo/documentation#1956
2022-05-09 12:19:00 +02:00
wan
a514c905c0 [ADD] conf: give relative and absolute path to odoo repo
Also add a condition on some directives to ignore them when we have no
relative/absolute path.

Part-of: odoo/documentation#1956
2022-05-09 12:19:00 +02:00
Jeremy Kersten
496a28400b [IMP] odoo_theme: allow to add plausible script
export PLAUSIBLE_SCRIPT=https://plausible.io/js/script.js
export PLAUSIBLE_DOMAIN=yourdomain.com

closes odoo/documentation#1953

X-original-commit: 4c526eb02f
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Jérémy Kersten <jke@odoo.com>
2022-05-09 11:16:57 +02:00
Zachary Straub (ZST)
382e296e13 [ADD] accounting: avatax integration
closes odoo/documentation#1944

X-original-commit: 093aea15ec
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-09 08:25:23 +02:00
Jonathan Castillo (jcs)
3feb4678b4 [IMP] install/maintain: add seealso links in domain names doc
closes odoo/documentation#1936

X-original-commit: d7da800674
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-05-06 16:19:53 +02:00
Altela Eleviansyah Pramardhika
28dde5dcbe [FW][FIX] developer/howtos: missing parentheses in print statement
Added parentheses in a print function

closes odoo/documentation#1929

Forward-port-of: odoo/documentation#1923
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-05-06 13:14:55 +02:00
Jonathan Castillo (jcs)
992ead9e0a [IMP] contributing: modify titles and headings guidelines
The previous guidelines for titles and headings included an exception to
capitalize feature names as they are written in the apps. However, this
exception seems to have confused most writers as it isn't always clear
what should be considered as a feature name or what should be considered
as a noun or noun group. This commit removes this exception to make the
writing and reviewing processes easier while retaining good titles and
improving consistency across the documentation. It also changes the
titles of the Accounting section to provide a better example to other
writers.

task-id 2843109

closes odoo/documentation#1920

X-original-commit: 1997788e81
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-05-05 14:28:51 +02:00
Antoine Dupuis (andu)
9122af05cd [FW][IMP] accounting: add a warning about invoices in USD in Mexico
Mexican companies very commonly issue invoices in USD, to be fulfiled
in MXN, at the official exchange rate defined by the Banco de Mexico
on the day of payment.

(Presumably, this is to insure against the volatility of the Mexican
peso.)

Odoo supports this workflow, but only if the payment is registered
directly on the invoice using the 'Register Payment' button.

If the payment is created separately, and then reconciled manually
with the invoice, a whole host of problems occur:
- the payment typically can't be reconciled fully with the invoice,
  (even though that can usually be solved by manually creating
  an exchange move)
- but more problematically, the amounts on the payment CFDI will
  be wrong, and even manually creating an exchange move won't solve
  that.

So, we absolutely need to warn users not to try to do that.

(We've been encountering lots of tickets lately in the tech-support
pipe because of users who tried this and then wonder why it doesn't
work.)

This is currently an issue in 14.0, 15.0 and master.

closes odoo/documentation#1915

Forward-port-of: odoo/documentation#1728
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-05 09:41:42 +02:00
Alexandre de Pape
e9e8963682 [FIX] sales: fix typo
critarias -> criteria

closes odoo/documentation#1904

X-original-commit: b2f4a9e818
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-05-02 18:47:23 +02:00
Antoine Vandevenne (anv)
6913280063 [ADD] .gitattributes: include RST files in language statistic on GitHub
closes odoo/documentation#1895

X-original-commit: 34d604ca89
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-28 19:31:32 +02:00
root
def5b7c245 [ADD] multi_website: add info to configure multiple domains
closes odoo/documentation#1894

X-original-commit: 324936c43e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-28 19:31:29 +02:00
Loan (lse)
d2650ca3c9 [IMP] outlook mail_plugin: add solution for cookie issue
closes odoo/documentation#1883

X-original-commit: 3e25d94b0d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-28 11:48:56 +02:00
Adrien Milis
3d1bb598a7 [FIX] developer/rd-training: fix commands
Changed commands that were still referring to Odoo 14.0 to 15.0

closes odoo/documentation#1878

X-original-commit: b578f575d0
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-27 10:09:07 +02:00
MichaSi
b4a37f1004 [FW][FIX] crm: fix typos and menuselection items
closes odoo/documentation#1872

Forward-port-of: odoo/documentation#1183
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-26 15:27:54 +02:00
Antoine Vandevenne (anv)
0e0fb430ad [FIX] developer/rdtraining: fix typos
closes odoo/documentation#1865

X-original-commit: f8f5ed93e1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-26 10:58:44 +02:00
Dossogne Bertrand
1c67fb351c [FIX] developer: fix duplicate action availability
The duplicate action is not available for list views

closes odoo/documentation#1858

X-original-commit: ce1961ebaf
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-25 10:06:05 +02:00
Dossogne Bertrand
4e5c5cfb86 [FIX] developer: fix duplicate availability
The duplicate action is not available for list views

closes odoo/documentation#1850

X-original-commit: 9cf425d886
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-22 17:24:02 +02:00
Touati Djamel (otd)
09c8973603 [FIX] inventory_and_mrp: documentation update
After this PR: https://github.com/odoo/odoo/pull/78199

The explanation of the `Security Lead Time for Purchase` field needs to be updated

opw-2766940

closes odoo/documentation#1839

X-original-commit: 9c242400b6
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Djamel Touati (otd) <otd@odoo.com>
2022-04-21 16:47:21 +02:00
Benoit Socias
4f7bb49805 [IMP] rdtraining: clarify transition sentence to view inheritance
The "View Inheritance" section is introduced by a sentence that can be
understood as "do this task then we'll be ready to go the next section"
instead of "in the next section we will see how to do this task".
This can confuse the reader into thinking that some knowledge was not
acquired in the previous parts.

This commit makes it clear that the task described in the transition
sentence will be achieved in the next part.

task-2822582

closes odoo/documentation#1829

X-original-commit: 5a39ba7d24
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2022-04-13 14:35:03 +02:00
Benoit Socias
823e773fbb [IMP] rdtraining: add note about Settings requiring at least one app
At the point when the developer mode is introduced in the training, it is
confusing because the documentation page describes the option inside the
Settings page, but that page only appears if at least one application is
installed. (Otherwise, the Settings app shows the Users instead)

This commit adds a note so that the reader does not start looking for a
screen that cannot be reached at that point.

task-2822582

X-original-commit: 2ebb7fe802
Part-of: odoo/documentation#1829
2022-04-13 14:35:03 +02:00
Altela Eleviansyah Pramardhika
10ffb09278 [FW][FIX] developer/rdtraining: fix typo
Fixed `name = field.Char(required=True)` to
`name = fields.Char(required=True)`.

closes odoo/documentation#1821

Forward-port-of: odoo/documentation#1816
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-11 12:51:50 +02:00
Antoine Vandevenne (anv)
0e818066ff [IMP] odoo_theme: hide the "Edit on GitHub" button for pages in legal/
closes odoo/documentation#1814

X-original-commit: ff79ca3a6b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-08 16:03:43 +02:00
Christophe Simonis
631bb2d23e [FIX] supported_versions: correct naming of recent saas~x versions
Since 11.0, the naming scheme changed from `(x.)saas~y` to `saas~x.y`.

closes odoo/documentation#1808

X-original-commit: 30f55dfd72
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-04-06 17:55:54 +02:00
Antoine Vandevenne (anv)
fe6a601398 [ADD] last_build: add an orphan page informing on the last build date
closes odoo/documentation#1802

X-original-commit: 683840be18
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-05 17:06:51 +02:00
nouraellm
c62169e08f [IMP] manufacturing: scrap location warning fw of #950
The destination location in manufacturing order shouldn't be a scrap location.
Otherwise, the user won't be able to complete manufacturing orders.

closes odoo/documentation#1793

X-original-commit: 7c5d18b84c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-04-05 10:06:58 +02:00
LoredanaLrpz
c923dd3d0e [IMP] pos: add tip usable decimal separator
task-id 2608735

closes odoo/documentation#1787

X-original-commit: ae76baa20e
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-03-31 10:39:30 +02:00
Ray Carnes
2b293d5cb5 [IMP] inventory: add note about detailed operations in one_step.rst
User tripped up due to the creation of a second warehouse enabling
Storage Locations and changingthe workflow.

https://www.odoo.com/forum/help-1/inventory-receipt-in-second-warehouse-199962

closes odoo/documentation#1781

X-original-commit: bdf526af2c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-30 15:03:58 +02:00
Antoine Vandevenne (anv)
85b5e51db4 [REF] general: move images in their respective page's folder
Codeowner regexes need images to be in the correct location, otherwise
some image files might not be assigned to a GitHub team when the regex
covering the parent folder is split into multiple codeowner rules.

closes odoo/documentation#1776

X-original-commit: 4e0a9b615f
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-30 14:07:59 +02:00
Donatienne Pirlot
0744cb58a0 [FIX] upgrade: small fixes
task-2684744

closes odoo/documentation#1768

X-original-commit: 6a316ca86e
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-03-29 11:43:54 +02:00
Jonathan Castillo (jcs)
8e3e05959f [FIX] redirects: add missing redirection for maintain/online.rst
closes odoo/documentation#1763

X-original-commit: 73a7ec6d6e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-03-28 17:43:02 +02:00
Eric Macharia
7a8fd93aeb [FIX] install/maintain: typo in deploy.rst
closes odoo/documentation#1758

X-original-commit: 5c5ef6e603
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-03-28 17:43:00 +02:00
Donatienne Pirlot
ddff6b5af8 [IMP] upgrade: update and improve the upgrade processes and information
task ID: 2684744

closes odoo/documentation#1748

X-original-commit: 825e0ede21
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-26 07:12:13 +01:00
Antoine Vandevenne (anv)
b43a80ded5 [IMP] supported_versions: flag saas-15.2 as supported
closes odoo/documentation#1744

X-original-commit: ba0e93e836
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-25 20:25:51 +01:00
Thibault Francois
fe41dec3e9 [IMP] CLI: adapt cloc doc to new behavior
since https://github.com/odoo/odoo/pull/85854 cloc
also count stylesheet file and frontend file in
imported module

closes odoo/documentation#1733

X-original-commit: d2de65a15a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-22 11:27:54 +01:00
Jonathan Castillo (jcs)
a458ae05e1 [ADD] accounting/l10n: new localization for luxembourg
task-id 2780977

closes odoo/documentation#1721

X-original-commit: 5a70ee1088
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-03-21 17:48:42 +01:00
Zachary Straub (ZST)
c179ceadb6 [ADD] general/digest_emails: add new digest emails docs
closes odoo/documentation#1730

X-original-commit: 5d8246c206
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-21 14:55:50 +01:00
0b11001111
a0fab7bd7c [IMP] developer: extend internationalization guide
In order for javascript translations to become active, the corresponding
addon needs to follow a certain naming scheme or register explicitly.
This commit updates the internationalization guide with a respective
hint.

Fixes odoo/documentation#1676

closes odoo/documentation#1726

X-original-commit: 112b6c1267
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2022-03-18 17:14:15 +01:00
Antoine Vandevenne (anv)
d19fe91014 [FIX] odoo_theme: fix CSS issues and warnings
closes odoo/documentation#1716

X-original-commit: cb7a41b75b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-18 15:25:24 +01:00
bve-odoo
923a60532c [FIX] dev/misc/cmdline: update url werkzeug
URL was pointing to a dead end.
Update from
http://werkzeug.pocoo.org/docs/contrib/fixers/#werkzeug.contrib.fixers.ProxyFix
to
https://werkzeug.palletsprojects.com/en/0.16.x/middleware/proxy_fix/#module-werkzeug.middleware.proxy_fix
new URL as we are using 0.16.1

closes odoo/documentation#1708

X-original-commit: 7ce175ff55
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-17 11:48:44 +01:00
Demesmaeker
3e83d1113f [IMP] payment_acquirers: add tabs for Stripe
task-2782290

closes odoo/documentation#1701

X-original-commit: 88752379bb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
2022-03-16 15:09:56 +01:00
Antoine Vandevenne (anv)
65be544b0c [IMP] developer/cli: mention the different ways of calling the CLI
All examples on the page suggest calling the CLI with "odoo-bin" while
it is recommended to call it with "odoo" when Odoo was installed from a
distribution package. It also failed to mention the location of
"odoo-bin" relative to the source files.

The chance is also taken to rename the somewhat unclear page title to
something more clear and generic.

closes odoo/documentation#1698

X-original-commit: c018a53686
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-14 11:20:09 +00:00
Antoine Vandevenne (anv)
693d09d98a [IMP] developer/api/extract_api: rework page to get rid of switchers
task-2787415

closes odoo/documentation#1691

X-original-commit: 85b7200944
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-11 14:44:53 +00:00
Antoine Vandevenne (anv)
a655c82e21 [IMP] developer/api/odoo: rework page to use examples and content tabs
task-2787415

X-original-commit: 1afdec3784
Part-of: odoo/documentation#1691
2022-03-11 14:44:53 +00:00
Antoine Vandevenne (anv)
b2149964a1 [REM] extensions: remove the 'switcher' extension
The 'sphinx-tabs' extension is better in every aspect:
- Synchronize selected tabs (group tabs feature).
- No need for extra `code-block` directive (code tabs feature).
- Better looking.
- No custom Python, JS, or CSS.

task-2787415

X-original-commit: 269173caac
Part-of: odoo/documentation#1691
2022-03-11 14:44:53 +00:00
Antoine Vandevenne (anv)
7f6dfcf665 [IMP] contributing/documentation: document usage of code tabs
task-2787415

X-original-commit: 1e24b482b6
Part-of: odoo/documentation#1691
2022-03-11 14:44:52 +00:00
nle-odoo
db4f98d44e [FIX] developer/mixins: mail.thread method names
In d46e358d3e88aea9f9289c4845c6c87ab9491c55 some mail.thread method
names were changed: it should be changed in documentation too.

closes odoo/documentation#1685

X-original-commit: b24560e224
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-10 14:59:51 +00:00
Jonathan Castillo (jcs)
2c8f6d11c7 [IMP] install/maintain: add use of :guilabel: in domain_names
+ fix two small typos.

closes odoo/documentation#1680

X-original-commit: 7e51c98636
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-03-10 14:38:20 +00:00
Elisabeth Dickinson
e2be114583 [IMP] scss: content tabs refining
This commit removes unnecessary negative margins and makes code-blocks
inside content tabs lose their bottom margin and border.

closes odoo/documentation#1672

X-original-commit: ac28acee4a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-08 16:31:15 +00:00
Elisabeth Dickinson
6348f5df3d [IMP] scss: make alert full width of parent
Before this commit, the alerts would all have different widths according
to their content, some stretching and getting pushed under the
"on this page" menu. This way all alerts are aligned.

X-original-commit: b76a566522
Part-of: odoo/documentation#1672
2022-03-08 16:31:14 +00:00
Carlos Valverde
4ad3584f06 [IMP] documentation: content tabs design
This commit improves current css style added by default to the Odoo
Documentation's content tabs.

This design improvement has been made by following the current theme's
style, especially in terms of palette and borders.

Tabs are responsive and have been optimised in order to have a
cross-browser compatibility.

--
Task-2755240

closes odoo/documentation#1665

X-original-commit: 7250f88b8d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-03-08 10:16:50 +00:00
Ray Carnes
479252f211 [IMP] accounting: improve phrasing OCR
Add link to try the OCR service, cleanup copy.

closes odoo/documentation#1659

X-original-commit: b83df4f6d2
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2022-03-07 14:33:42 +00:00
Jonathan Castillo (jcs)
486dabe6bf [IMP] install/maintain: new improved doc about domain names
task-id 2680490

closes odoo/documentation#1650

X-original-commit: cda64e2678
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-03-03 17:54:39 +00:00
Jonathan Castillo (jcs)
e68027e79d [IMP] accounting: fix a typo in eu_distance_selling.rst
closes odoo/documentation#1637

X-original-commit: 3c0b7783b8
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-02-24 16:45:53 +00:00
Thibault Libioulle
759d99aa1a [IMP] general/payment_acquirers: add Stripe Connect documentation
This commit adds the user documentation about the modification done in
the payment onboarding and the new Stripe Connect capabilities.

task-2685160

closes odoo/documentation#1630

X-original-commit: ff55b18aa2
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-23 17:28:45 +00:00
Antoine Vandevenne (anv)
f163a968a3 [IMP] extensions: add content tabs (backport of cf6ca0fb)
closes odoo/documentation#1628

X-original-commit: 286b01a241
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-23 13:54:58 +00:00
Stanislas Sobieski
1c7c9eab28 [FW][REV] odoo_sh: revert commit 6c48f90
closes odoo/documentation#1622

Forward-port-of: odoo/documentation#1618
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-22 17:11:23 +00:00
Obay Abdelgadir
a3a8098fed [IMP] install: remove deprecated ssl instruction in deploy.rst
Backport of commit d227ab66b0 on #1448

closes odoo/documentation#1616

X-original-commit: a80f3c3899
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-22 13:44:18 +00:00
Stanislas Sobieski
0086b51de9 [IMP] odoo_sh doc update
closes odoo/documentation#1609

X-original-commit: 6c48f90739
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-21 17:55:11 +00:00
Antoine Vandevenne (anv)
afee8f919b [FIX] conf: upper-case 'master' in the version switcher
closes odoo/documentation#1603

X-original-commit: a7f0651773
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-16 12:01:45 +00:00
Elisabeth Dickinson
d366d7b739 [IMP] odoo_theme: switch admonitions' display type to inline-block
When placing an image before an admonition block and setting its
alignment to left or right, the admonition block would hide the image.
The reason for this is the use of "float" on the image. In order for
the image to reappear, we change the admonition's `display: block` to
`display: inline-block`.

task-2582954

closes odoo/documentation#1594

X-original-commit: c30f2735b8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-15 08:49:15 +00:00
Antoine Vandevenne (anv)
3febaffd75 [IMP] conf: show all relevant versions in the version switcher
From now on, the master branch and the latest released SaaS branch are
always shown. SaaS branches are labeled "Odoo Online".

The list of the versions shown in the switcher is hard-coded to force
their ordering.

The class `dropdown-toggle` is always added to the version|language
switcher regardless of whether other versions|languages are available,
as a quick fix to a CSS issue that occurs when the class is missing.

closes odoo/documentation#1580

X-original-commit: fb469b8211
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-11 14:40:04 +00:00
Jonathan Castillo (jcs)
620c40967e [IMP] install/maintain: add info about upgrading Odoo Online databases
closes odoo/documentation#1581

X-original-commit: 337b36320c
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-02-11 13:44:09 +00:00
Antoine Vandevenne (anv)
7e2b194743 [IMP] supported_versions: emphasis short-term support of SaaS versions
X-original-commit: 31709ad082
Part-of: odoo/documentation#1581
2022-02-11 13:44:09 +00:00
Antoine Vandevenne (anv)
b77132847a [IMP] supported_versions: flag saas-15.1 as supported
X-original-commit: 696ab7de05
Part-of: odoo/documentation#1581
2022-02-11 13:44:09 +00:00
lejeune quentin
a0fe598958 [ADD] point_of_sale: Connect an Worldline Payment Terminal to your PoS
Documentation to explain how to configure a Worldline Payment terminal.

closes odoo/documentation#1571

X-original-commit: ae7868d8ed
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Co-authored-by: perazzo loredana <lrpz@odoo.com>
Co-authored-by: lejeune quentin <qle@odoo.com>
2022-02-10 16:00:43 +00:00
ren-odoo
ef92af7d6c [IMP] accounting/l10n: update webinar link in colombia.rst
The current webinar link is for another version, with this commit we're adding the newest webinar link.

closes odoo/documentation#1568

X-original-commit: 45726dded7
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-10 13:32:05 +00:00
StanvanHoorn
108e607528 [FIX] install/maintain: update versions in "Installing Odoo"
closes odoo/documentation#1563

X-original-commit: c7d8e3ecba
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-02-09 16:39:53 +00:00
Jonathan Castillo (jcs)
5f55abc561 [FIX] redirections: duplicate rule + misplaced rules
- removes a duplicate rule:
  applications/finance/sign/overview/signature_validity.rst
  applications/finance/sign.rst
- moves two rules closer to their related redirections
- adds comments to these two rules
- updates redirection to "email_servers" with the new path (line 203)

closes odoo/documentation#1555

X-original-commit: 79a33520a1
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-02-07 16:12:03 +00:00
BVE
946e51e863 [ADD] email_communication: new documentation regarding general emailing
Creation of a new submenu under Applications/General for the Email communication.
Moved advanced of dicuss to this new submenu + adding of content regarding
frequently asked question in support.

Redirection has been done on other files pointing to Discuss/Advanced to match
the new folder email_communication.

Modified content in:
- Email servers: split and move configuration part under email_domain
- Email domain: covering information about SPF DKIM and DMARC configurations by JQU
- Email templates: (how to use the functions) by GOR
- Email common: answering frequently asked questions + common issues by ALA

closes odoo/documentation#1549

X-original-commit: ce8a02d46a
Signed-off-by: Vergote Baptiste (bve) <bve@odoo.com>
2022-02-07 12:07:51 +00:00
Jonathan Castillo (jcs)
65cc3e71e2 [FW][FIX] accounting: fix module name to install in intrastat
closes odoo/documentation#1543

Forward-port-of: odoo/documentation#1539
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2022-02-04 18:10:37 +00:00
Antoine Vandevenne (anv)
e5e75aa596 [IMP] contributing/doc: add an entry for the example admonition
closes odoo/documentation#1537

X-original-commit: ddff8f6914
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2022-02-04 15:25:07 +00:00
Mathieu Germain
4fafae4d8b [REF] mrp: documentation update
- Updated Pictures with latest version, deleted old ones
- Added Quality Control section
- Deleted Kit Routings section
- Adapted Terminology, specifically work orders vs routings

closes odoo/documentation#1534

X-original-commit: 6fb40b61c8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Arnold Moyaux <arm@odoo.com>
2022-02-04 14:18:44 +00:00
Antoine Vandevenne (anv)
0116d7dbc7 [REL] freeze saas-15.2 branch
closes odoo/documentation#1526
2022-02-04 12:25:44 +00:00
160 changed files with 2781 additions and 1550 deletions

2
.gitattributes vendored Normal file
View File

@@ -0,0 +1,2 @@
# Include RST files in language statistics on GitHub.
*.rst linguist-detectable

3
.gitignore vendored
View File

@@ -1,6 +1,7 @@
*.pyc
.*
*.mo
.*
!.gitattributes
# Sphinx build files
_build/

View File

@@ -19,12 +19,14 @@ SPHINXOPTS = -D project_root=$(ROOT) -D canonical_version=$(CANONICAL_VERSIO
-D versions=$(VERSIONS) -D languages=$(LANGUAGES) -D language=$(CURRENT_LANG) \
-D is_remote_build=$(IS_REMOTE_BUILD) \
-A google_analytics_key=$(GOOGLE_ANALYTICS_KEY) \
-A plausible_script=$(PLAUSIBLE_SCRIPT) \
-A plausible_domain=$(PLAUSIBLE_DOMAIN) \
-j $(WORKERS)
SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-15.2
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)

View File

@@ -4,11 +4,11 @@
### Requirements
- [Git](https://www.odoo.com/documentation/master/contributing/documentation.html#install-git)
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/master/contributing/documentation.html#python)
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/master/requirements.txt).
- [Make](https://www.odoo.com/documentation/master/contributing/documentation.html#make)
- A local copy of the [odoo/odoo repository in master](https://github.com/odoo/odoo/tree/master) (Optional)
- [Git](https://www.odoo.com/documentation/saas-15.2/contributing/documentation.html#install-git)
- [Python 3.7 or 3.8](https://www.odoo.com/documentation/saas-15.2/contributing/documentation.html#python)
- Python dependencies listed in the file [`requirements.txt`](https://github.com/odoo/documentation/tree/saas-15.2/requirements.txt).
- [Make](https://www.odoo.com/documentation/saas-15.2/contributing/documentation.html#make)
- A local copy of the [odoo/odoo repository in saas-15.2](https://github.com/odoo/odoo/tree/saas-15.2) (Optional)
### Instructions
@@ -23,7 +23,7 @@
2. Open the file `documentation/_build/html/index.html` in your web browser to display the render.
3. See [this guide](https://www.odoo.com/documentation/master/contributing/documentation.html#preview-your-changes)
3. See [this guide](https://www.odoo.com/documentation/saas-15.2/contributing/documentation.html#preview-your-changes)
for more detailed instructions.
Optional: to fully build the developer documentation with inline docstrings for documented Python
@@ -34,7 +34,7 @@ be shown.
## Contribute to the documentation
For contributions to the content of the documentation, please refer to the
[Introduction Guide](https://www.odoo.com/documentation/master/contributing/documentation.html).
[Introduction Guide](https://www.odoo.com/documentation/saas-15.2/contributing/documentation.html).
To **report a content issue**, **request new content** or **ask a question**, use the
[repository's issue tracker](https://github.com/odoo/documentation-user/issues) as usual.

78
conf.py
View File

@@ -1,9 +1,12 @@
import re
import os
import shutil
import sys
from pathlib import Path
import docutils
from pygments.lexers import JsonLexer, XmlLexer
from sphinx.ext import graphviz
from sphinx.util import logging
import sphinx
@@ -19,7 +22,7 @@ copyright = 'Odoo S.A.'
# `version` if the version info for the project being documented, acts as replacement for |version|,
# also used in various other places throughout the built documents.
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
version = release = 'master'
version = release = 'saas-15.2'
# The minimal Sphinx version required to build the documentation.
needs_sphinx = '3.0.0'
@@ -53,6 +56,11 @@ add_function_parentheses = True
#=== Extensions configuration ===#
source_read_replace_vals = {
'GITHUB_PATH': f'https://github.com/odoo/odoo/blob/{version}',
'GITHUB_ENT_PATH': f'https://github.com/odoo/enterprise/blob/{version}',
}
# Add extensions directory to PYTHONPATH
extension_dir = Path('extensions')
sys.path.insert(0, str(extension_dir.absolute()))
@@ -74,11 +82,15 @@ if not odoo_sources_dirs:
{'dir_list': '\n'.join([f'\t- {d.resolve()}' for d in odoo_sources_candidate_dirs])},
)
else:
odoo_dir = odoo_sources_dirs[0].resolve()
sys.path.insert(0, str(odoo_dir))
if (3, 6) < sys.version_info < (3, 7):
# Running odoo needs python 3.7 min but monkey patch version_info to be compatible with 3.6
# Running odoo needs python 3.7 min but monkey patch version_info to be compatible with 3.6.
sys.version_info = (3, 7, 0)
odoo_dir = odoo_sources_dirs[0].resolve()
source_read_replace_vals['ODOO_RELPATH'] = '/../' + str(odoo_sources_dirs[0])
source_read_replace_vals['ODOO_ABSPATH'] = str(odoo_dir)
sys.path.insert(0, str(odoo_dir))
import odoo.addons
odoo.addons.__path__.append(str(odoo_dir) + '/addons')
from odoo import release as odoo_release # Don't collide with Sphinx's 'release' config option
odoo_version = odoo_release.version.replace('~', '-') # Change saas~XX.Y to saas-XX.Y
odoo_version = 'master' if 'alpha' in odoo_release.version else odoo_version
@@ -98,12 +110,18 @@ else:
)
odoo_dir_in_path = True
# Mapping between odoo models related to master data and the declaration of the
# data. This is used to point users to available xml_ids when giving values for
# a field with the autodoc_field extension.
model_references = {
'account.account.type': 'addons/account/data/data_account_type.xml',
'res.country': 'odoo/addons/base/data/res_country_data.xml',
'res.currency': 'odoo/addons/base/data/res_currency_data.xml',
}
# The Sphinx extensions to use, as module names.
# They can be extensions coming with Sphinx (named 'sphinx.ext.*') or custom ones.
extensions = [
# Parse Python docstrings (autodoc, automodule, autoattribute directives)
'sphinx.ext.autodoc' if odoo_dir_in_path else 'autodoc_placeholder',
# Link sources in other projects (used to build the reference doc)
'sphinx.ext.intersphinx',
@@ -133,7 +151,15 @@ if odoo_dir_in_path:
extensions += [
'sphinx.ext.linkcode',
'github_link',
# Parse Python docstrings (autodoc, automodule, autoattribute directives)
'sphinx.ext.autodoc',
'autodoc_field',
]
else:
extensions += [
'autodoc_placeholder',
]
extensions.append('sphinx.ext.graphviz' if shutil.which('dot') else 'graphviz_placeholder')
todo_include_todos = False
@@ -266,6 +292,22 @@ latex_logo = 'static/img/odoo_logo.png'
# If true, show URL addresses after external links.
latex_show_urls = 'True'
# https://github.com/sphinx-doc/sphinx/issues/4054#issuecomment-329097229
def source_read_replace(app, docname, source):
"""Substitute parts of strings with computed values.
Since the RST substitution is not working everywhere, i.e. in directives'
options, we need to be able to input those values when reading the sources.
This is using the config `source_read_replace_vals`, mapping a name to its
replacement. This will look for the name surrounded by curly braces in the source.
Meant to be connected to the `source-read` event.
"""
result = source[0]
for key in app.config.source_read_replace_vals:
result = result.replace(f"{{{key}}}", app.config.source_read_replace_vals[key])
source[0] = result
def setup(app):
# Generate all alternate URLs for each document
@@ -274,12 +316,34 @@ def setup(app):
app.add_config_value('versions', None, 'env')
app.add_config_value('languages', None, 'env')
app.add_config_value('is_remote_build', None, 'env') # Whether the build is remotely deployed
app.add_config_value('source_read_replace_vals', {}, 'env')
app.connect('source-read', source_read_replace)
app.add_lexer('json', JsonLexer)
app.add_lexer('xml', XmlLexer)
app.connect('html-page-context', _generate_alternate_urls)
# Add a `condition` option on directives to ignore them based on config values
app.add_config_value('odoo_dir_in_path', None, 'env')
def context_eval(expr):
return eval(expr, {confval.name: confval.value for confval in app.config})
def patch(to_patch):
to_patch.option_spec['condition'] = context_eval
original_run = to_patch.run
def new_run(self):
if not self.options.get('condition', True):
return []
return original_run(self)
to_patch.run = new_run
for to_patch in (
sphinx.directives.code.LiteralInclude,
docutils.parsers.rst.directives.tables.CSVTable,
):
patch(to_patch)
def _generate_alternate_urls(app, pagename, templatename, context, doctree):
""" Add keys of required alternate URLs for the current document in the rendering context.

File diff suppressed because it is too large Load Diff

View File

@@ -21,6 +21,11 @@ You can use a custom domain name to access your Odoo database and websites:
databases for one year. Visitors can then access your website with an address such as
``www.example.com`` rather than the default ``example.odoo.com``.
.. seealso::
- `Odoo Tutorials: Register a Free Domain Name
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
- `Odoo Quick Tips: Get a free domain name! <https://www.youtube.com/watch?v=eAfgeNOHLP4>`_
.. _domain-name/about:
About domain names

View File

@@ -1,8 +1,8 @@
:nosearch:
===========
Bank & Cash
===========
=============
Bank and cash
=============
.. toctree::
:titlesonly:

View File

@@ -1,7 +1,7 @@
:nosearch:
==========
Bank Feeds
Bank feeds
==========
.. toctree::

View File

@@ -1,5 +1,5 @@
===============
Bank Statements
Bank statements
===============
Importing your bank statements in Odoo Accounting allows you to keep track of the financial

View File

@@ -1,5 +1,5 @@
======================================
Bank Synchronization: Automatic Import
Bank synchronization: Automatic import
======================================
Odoo can synchronize directly with your bank institution to get all bank statements imported

View File

@@ -1,7 +1,7 @@
:nosearch:
===================
Bank Reconciliation
Bank reconciliation
===================
.. toctree::

View File

@@ -8,5 +8,6 @@ Setup
:titlesonly:
setup/bank_accounts
setup/outstanding_accounts
setup/manage_cash_register
setup/foreign_currency

View File

@@ -0,0 +1,46 @@
====================
Outstanding accounts
====================
By default, payments are registered through transitory accounts named **outstanding accounts**,
before being recorded in your bank account.
- An **outstanding payments account** is where outgoing payments are posted until they are linked
with a withdrawal from your bank statement.
- An **outstanding receipts account** is where incoming payments are posted until they are linked
with a deposit from your bank statement.
These accounts should be of :ref:`type <chart-of-account/type>` :guilabel:`Current Assets`.
.. note::
The movement from an outstanding account to a bank account is done automatically when you
reconcile the bank account with a bank statement.
Configuration
=============
Default accounts configuration
------------------------------
The outstanding accounts are defined by default. If necessary, you can update them by going to
:menuselection:`Accounting --> Configuration --> Settings --> Default Accounts` and update your
:guilabel:`Outstanding Receipts Account` and :guilabel:`Outstanding Payments Account`.
Bank and cash journals configuration
------------------------------------
You can also set specific outstanding accounts for any journal with the :ref:`type
<chart-of-account/type>` :guilabel:`Bank` or :guilabel:`Cash`.
From your :guilabel:`Accounting Dashboard`, click on the menu selection ⋮ of the journal you want to
configure, and click on :guilabel:`Configuration`, then open the :guilabel:`Incoming/Outgoing
Payments` tab. To display the outstanding accounts column, click on the toggle button and check the
:guilabel:`Outstanding Receipts/Payments accounts`, then update the account.
.. image:: outstanding_accounts/toggle-button.png
:align: center
:alt: Select the toggle button and click on outstanding Accounts
.. note::
If you do not specify an outstanding payments account or an outstanding receipts account for a
specific journal, Odoo uses the default outstanding accounts.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

View File

@@ -1,7 +1,7 @@
:nosearch:
====================
Fiscal Localizations
Fiscal localizations
====================
.. toctree::

View File

@@ -555,6 +555,14 @@ be *In Payment* since the payment will be effectively validated when it is bank
associated with the invoice, it must be valid so that the stamped payment complement can be
created.
.. warning::
- When making a payment in MXN for an invoice in USD, the payment must be created using the
:guilabel:`Register Payment` button **on the invoice view** and not separately as a payment.
Otherwise, the payment CFDI is not correctly generated.
- As such, a payment in MXN cannot be used to pay multiple invoices in USD. Rather, the payment
should be separated into multiple payments created using the :guilabel:`Register Payment`
button on the corresponding invoices.
Register PUE Payments
~~~~~~~~~~~~~~~~~~~~~

View File

@@ -1,5 +1,5 @@
============================
Fiscal Localization Packages
Fiscal localization packages
============================
**Fiscal Localization Packages** are country-specific modules that install pre-configured taxes,

View File

@@ -6,7 +6,7 @@ Odoo Accounting can be used in many countries out of the box by installing the a
Here is a list of all :doc:`Fiscal Localization Packages <fiscal_localization_packages>` that are
available on Odoo.
Fiscal Localization Packages available
Fiscal localization packages available
======================================
- Algeria - Accounting

View File

@@ -1,7 +1,7 @@
:nosearch:
===============
Getting Started
Getting started
===============
.. toctree::

View File

@@ -1,7 +1,7 @@
:nosearch:
=====================
Initial Configuration
Initial configuration
=====================
.. toctree::

View File

@@ -46,6 +46,8 @@ Code and Name
Each account is identified by its **Code** and **Name**, which also indicates the account's purpose.
.. _chart-of-account/type:
Type
----

View File

@@ -1,8 +1,8 @@
:nosearch:
===========
========
Analytic
===========
========
.. toctree::
:titlesonly:

View File

@@ -1,7 +1,7 @@
:nosearch:
================
Account Payables
Account payables
================
.. toctree::

View File

@@ -1,7 +1,7 @@
:nosearch:
===============
Vendor Payments
Vendor payments
===============
.. toctree::

View File

@@ -1,5 +1,5 @@
=============
Pay by Checks
Pay by checks
=============
Once you decide to pay a supplier bill, you can select to pay by check.

View File

@@ -1,7 +1,7 @@
:nosearch:
============
Vendor Bills
Vendor bills
============
.. toctree::

View File

@@ -1,5 +1,5 @@
===================================
Non-current Assets and Fixed Assets
Non-current assets and fixed assets
===================================
**Non-current Assets**, also known as **long-term assets**, are investments that are expected to be

View File

@@ -1,5 +1,5 @@
=================================
Deferred Expenses and Prepayments
Deferred expenses and prepayments
=================================
**Deferred expenses** and **prepayments** (also known as **prepaid expense**), are both costs that

View File

@@ -1,5 +1,5 @@
===================
Manage vendor Bills
Manage vendor bills
===================
The **Purchase** application allows you to manage your purchase orders,

View File

@@ -1,5 +1,5 @@
==============================================================
Digitize Vendor Bills with Optical Character Recognition (OCR)
Digitize vendor bills with optical character recognition (OCR)
==============================================================
Encoding bills manually can be a time-consuming task. Having a solution that allows you to digitize

View File

@@ -1,5 +1,5 @@
=================
Purchase Receipts
Purchase receipts
=================
**Purchase Receipts** are not invoices but rather confirmations of received payments, such as a

View File

@@ -1,7 +1,7 @@
:nosearch:
===================
Account Receivables
Account receivables
===================
.. toctree::

View File

@@ -1,7 +1,7 @@
:nosearch:
=================
Customer Invoices
Customer invoices
=================
.. toctree::

View File

@@ -1,5 +1,5 @@
=============
Cash Rounding
Cash rounding
=============
**Cash rounding** is required when the lowest physical denomination

View File

@@ -1,5 +1,5 @@
========================
Credit Notes and Refunds
Credit notes and refunds
========================
A **credit note**, or **credit memo**, is a document issued
to a customer that notifies them that they have been credited

View File

@@ -1,5 +1,5 @@
=================
Deferred Revenues
Deferred revenues
=================
**Deferred revenues**, or **unearned revenue**, are payments made in advance by customers for

View File

@@ -1,5 +1,5 @@
===================================
Payment Terms and Installment Plans
Payment terms and installment plans
===================================
**Payment Terms** specify all the conditions under which a sale is paid, mostly to ensure customers

View File

@@ -1,5 +1,5 @@
======================================
Send your Invoices by Post (Snailmail)
Send your invoices by post (Snailmail)
======================================
Direct mail is a great way to capture individuals attention at a time where inboxes are always

View File

@@ -1,7 +1,7 @@
:nosearch:
=================
Customer Payments
Customer payments
=================
.. toctree::

View File

@@ -1,5 +1,5 @@
==================================================
Batch Payments: Batch Deposits (checks, cash etc.)
Batch payments: Batch deposits (checks, cash etc.)
==================================================
A **Batch Deposit** groups multiple payments in a single batch. This allows you to deposit several

View File

@@ -1,5 +1,5 @@
=======================================
Batch Payments: SEPA Direct Debit (SDD)
Batch payments: SEPA Direct Debit (SDD)
=======================================
SEPA, the Single Euro Payments Area, is a payment-integration initiative of the European Union for

View File

@@ -1,5 +1,5 @@
======================
Invoice Online Payment
Invoice online payment
======================
To make it more convenient for your customers to pay the invoices you issue, you can activate the

View File

@@ -1,8 +1,8 @@
:nosearch:
===========
=========
Reporting
===========
=========
.. toctree::
:titlesonly:

View File

@@ -1,5 +1,5 @@
============================
Tax Return (VAT Declaration)
Tax return (VAT declaration)
============================
Companies that are registered for **VAT (Value Added Tax)** must file a **Tax return** on a monthly

View File

@@ -1,7 +1,7 @@
:nosearch:
===========
Fiscal Year
Fiscal year
===========
.. toctree::

View File

@@ -11,6 +11,7 @@ Taxes
taxes/default_taxes
taxes/fiscal_positions
taxes/eu_distance_selling
taxes/avatax
taxes/taxcloud
taxes/retention
taxes/B2B_B2C

View File

@@ -0,0 +1,74 @@
==================
Avatax integration
==================
Avatax is a tax calculation provider that can be integrated in Odoo.
.. _avatax/credentials:
Credential configuration
========================
To integrate Avatax with Odoo, go to :menuselection:`Accounting --> Configuration --> Settings -->
Taxes` and add your Avatax credentials in the :guilabel:`Avatax` section.
.. tip::
If you do not yet have credentials, click on :guilabel:`How to Get Credentials`.
.. image:: avatax/avatax-configuration-settings.png
:align: center
:alt: Configure Avatax settings
.. _avatax/tax-mapping:
Tax mapping
===========
The Avatax integration is available on Sale Orders and Invoices with the included Avatax fiscal
position.
Before using the integration, specify an :guilabel:`Avatax Category` on the product categories.
.. image:: avatax/avatax-category.png
:align: center
:alt: Specify Avatax Category on products
Avatax Categories may be overridden or set on individual products as well.
.. image:: avatax/override-avatax-product-category.png
:align: center
:alt: Override product categories as needed
.. _avatax/address-mapping:
Address validation
==================
Manually validate customer addresses by clicking the :guilabel:`Validate address` link in the
customer form view.
.. image:: avatax/validate-customer-address.png
:align: center
:alt: Validate customer addresses
If preferred, choose to keep the newly validated address or the original address in the wizard that
pops up.
.. image:: avatax/choose-customer-address.png
:align: center
:alt: Address validation wizard
.. _avatax/tax-calculation:
Tax calculation
===============
Automatically calculate taxes on Odoo quotations and invoices with Avatax by confirming the
documents. Alternatively, calculate the taxes manually by clicking the :guilabel:`Compute taxes
using Avatax` button while these documents are in draft mode.
Use the :guilabel:`Avalara Code` field that's available on customers, quotations, and invoices to
cross-reference data in Odoo and Avatax.
.. seealso::
- :doc:`fiscal_positions`

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@@ -1,5 +1,5 @@
=============
Default Taxes
Default taxes
=============
**Default Taxes** define which :doc:`taxes <taxes>` are automatically selected when there is no

View File

@@ -1,5 +1,5 @@
===================================
EU intra-community Distance Selling
EU intra-community distance selling
===================================
**Distance sales within the European Union** include cross-border sales of goods and services to a

View File

@@ -1,5 +1,5 @@
==========================================
Fiscal Positions (tax and account mapping)
Fiscal positions (tax and account mapping)
==========================================
Default taxes and accounts are set on products and customers to create new transactions on the fly.

View File

@@ -56,7 +56,7 @@ Online payment acquirers
| | Payment flow | Save cards | Capture amount | Refund |
| | | | manually | from Odoo |
+===============================+======================+============+=================+===========+
| :doc:`Adyen | Payment from Odoo | |V| | |V| | |V| |
| :doc:`Adyen | Payment from Odoo | |V| | | |V| |
| <payment_acquirers/adyen>` | | | | |
+-------------------------------+----------------------+------------+-----------------+-----------+
| :doc:`Alipay | Redirection to the | | | |
@@ -86,7 +86,7 @@ Online payment acquirers
| :doc:`SIPS | Redirection to the | | | |
| <payment_acquirers/sips>` | acquirer website | | | |
+-------------------------------+----------------------+------------+-----------------+-----------+
| :doc:`Stripe | Redirection to the | |V| | |V| | |
| :doc:`Stripe | Redirection to the | |V| | | |
| <payment_acquirers/stripe>` | acquirer website | | | |
+-------------------------------+----------------------+------------+-----------------+-----------+

View File

@@ -99,31 +99,5 @@ where payments will be made (the URLs of the servers hosting your Odoo instances
:align: center
:alt: Allows payments originated from a specific domain.
Place a hold on a card
----------------------
Adyen allows you to capture an amount manually instead of having an immediate capture.
To set it up, enable the **Capture Amount Manually** option on Odoo, as explained in the
:ref:`payment acquirers documentation <payment_acquirers/capture_amount>`.
Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settings`, and set the
**Capture Delay** to **manual**.
.. image:: media/adyen_capture_delay.png
:align: center
:alt: Capture Delay settings in Adyen
.. caution::
- If you configure Odoo to capture amounts manually, make sure to set the **Capture Delay** to
**manual** on Adyen. Otherwise, the transaction will be blocked in the authorized state in
Odoo.
- Odoo doesn't support the partial capture yet. Be aware that if you make a partial capture from
Adyen's interface, Odoo will manage it as if it was a full capture.
.. note::
After **7 days**, if the transaction hasn't been captured yet, the customer has the right to
**revoke** it.
.. seealso::
- :doc:`../payment_acquirers`

View File

@@ -28,8 +28,13 @@ To retrieve them, log into your Authorize.Net account, go to :menuselection:`Acc
Key**.
.. important::
If you are trying Authorize.Net as a test, with a *sandbox account*, change the **State** to
*Test Mode*. We recommend doing this on a test Odoo database, rather than on your main database.
If you are trying Authorize.Net as a test, with a *sandbox account*, change the :guilabel:`State`
to :guilabel:`Test Mode`. We recommend doing this on a test Odoo database, rather than on your
main database.
If you set :guilabel:`Test Mode` on Odoo and use an authorize.net account instead of a
sandbox.authorize.net account, it results in the following error: *The merchant login ID or
password is invalid or the account is inactive*.
Configuration tab
-----------------

View File

@@ -27,7 +27,7 @@ The method to acquire your credentials depends on your hosting type:
.. tip::
To use your own API keys, :ref:`activate the Developer mode <developer-mode>` and
:ref:`enable Stripe manually <payment_acquirers/add_new>`. You can then :ref:`Fill in your
credentials <stripe/api-keys>`, :ref:`generate a webhook <stripe/webhook>` and enable the
credentials <stripe/api_keys>`, :ref:`generate a webhook <stripe/webhook>` and enable the
payment acquirer.
.. group-tab:: Odoo.sh or On-premise
@@ -37,7 +37,7 @@ The method to acquire your credentials depends on your hosting type:
#. Fill in the requested information and submit the form.
#. Confirm your email address when Stripe sends you a confirmation email.
#. At the end of the process, you are redirected to the payment acquirer **Stripe** on Odoo.
#. :ref:`Fill in your credentials <stripe/api-keys>`.
#. :ref:`Fill in your credentials <stripe/api_keys>`.
#. :ref:`Generate a webhook <stripe/webhook>`.
#. Enable the payment acquirer.
#. You are all set and can continue to :ref:`stripe/local-payment-methods`.
@@ -51,7 +51,7 @@ The method to acquire your credentials depends on your hosting type:
If you are testing Stripe (in **test mode**), change the **State** to *Test Mode*. We recommend
doing this on a test Odoo database rather than on your main database.
.. _stripe/api-keys:
.. _stripe/api_keys:
Fill in your credentials
------------------------
@@ -59,8 +59,8 @@ Fill in your credentials
In case your **API Credentials** are required to connect with your Stripe account, these are the
credentials that must be completed:
- :ref:`Publishable Key <stripe/api-keys>`: The key solely used to identify the account with Stripe.
- :ref:`Secret Key <stripe/api-keys>`: The key to sign the merchant account with Stripe.
- :ref:`Publishable Key <stripe/api_keys>`: The key solely used to identify the account with Stripe.
- :ref:`Secret Key <stripe/api_keys>`: The key to sign the merchant account with Stripe.
- :ref:`Webhook Signing Secret <stripe/webhook>`: When you enable your webhook on your Stripe
account, this signing secret must be set to authenticate the messages sent from Stripe to Odoo.
@@ -77,67 +77,28 @@ In case your **Webhook Signing Secret** is required to connect with your Stripe
create a webhook either automatically or manually.
.. tabs::
.. tab:: Manage the webhook automatically
.. tab:: Create the webhook automatically
Make sure your :ref:`Publishable and Secret keys <stripe/api-keys>` are filled in, then click
on the :guilabel:`Generate your Webhook` button.
Make sure your :ref:`Publishable and Secret keys <stripe/api_keys>` are filled in, then click
on the *Generate your Webhook* button.
.. tip::
To update the webhook, click once again on the :guilabel:`Generate your Webhook` button.
.. tab:: Manage the webhook manually
.. tab:: Create the webhook manually
Visit the `webhooks page on Stripe <https://dashboard.stripe.com/webhooks>`_, or log into your
Stripe dashboard and go to :menuselection:`Developers --> Webhooks`. Then, click on
:guilabel:`Add endpoint` in your :guilabel:`Hosted endpoints` and insert the following data
into the pop-up form:
Stripe dashboard and go to :menuselection:`Developers --> Webhooks`. Then, click on **Add
endpoint** in your **Hosted endpoints** and insert the following data into the pop-up form:
- | In the :guilabel:`Endpoint URL`, enter your Odoo database's URL followed by
- | In the **Endpoint URL**, enter your Odoo database's URL followed by
| `/payment/stripe/webhook`.
| For example: `https://yourcompany.odoo.com/payment/stripe/webhook`
- At the bottom of the form, you can select events to listen to. Click on :guilabel:`Select
events`. Then:
- In the :guilabel:`Payment Intent` section, select
:guilabel:`payment_intent.amount_capturable_updated` and
:guilabel:`payment_intent.succeeded`.
- In the :guilabel:`Setup Intent` section, select :guilabel:`setup_intent.succeeded`.
- At the end of the form, you can **Select events** to listen to. Click on it and, in the
**Checkout** section, select **checkout.session.completed**.
.. note::
It is possible to select other events, but they are currently not processed by Odoo.
When you click on :guilabel:`Add endpoint`, your Webhook is configured. Click on
:guilabel:`reveal` to display your signing secret.
.. tip::
To update an existing webhook, click on it. Then, click on the three dots at the right side
of the **Webhook URL** and on :guilabel:`Update details`.
Configuration tab
-----------------
.. _stripe/manual-capture:
Place a hold on a card
~~~~~~~~~~~~~~~~~~~~~~
Stripe allows you to **capture an amount manually** instead of having an immediate capture. This
feature earmarks an amount on the customer's account for a determined period of time that depends on
the payment method used.
To set it up, enable the :guilabel:`Capture Amount Manually` option on Odoo, as explained in the
:ref:`payment acquirers documentation <payment_acquirers/capture_amount>`.
.. warning::
When the manual capture feature is activated, your customers are not able to proceed with any
payment if unsupported payment methods are selected.
.. caution::
Odoo doesn't support the partial capture yet. Be aware that a partial capture from Stripe's
interface is still managed as a full capture by Odoo.
.. seealso::
- :doc:`../payment_acquirers`
When you click on **Add endpoint**, your Webhook is configured. You can then click on
**reveal** to display your signing secret.
.. _stripe/local-payment-methods:

View File

@@ -38,12 +38,10 @@ are:
customer. Then, the default scheduled date on the delivery order
is **SO delivery date - Security Lead Time**.
- **Purchase Security Lead Time**: additional time to mitigate the risk
of a vendor delay. The receipt will be scheduled that many days
earlier to cope with unexpected vendor delays. In case of a
*Replenish to Order*, the **Delivery order scheduled date -
Security lead time** for purchase will be the default
*Receipt* scheduled date.
- **Purchase Security Lead Time**: margin of error for vendor lead times.
When the system generates Purchase Orders for procuring products,
they will be scheduled that many days earlier to cope with unexpected
vendor delays.
- **Purchase Delivery Lead Time**: this is the expected time between a
PO being confirmed and the receipt of the ordered products. The

View File

@@ -75,6 +75,21 @@ Connect your database
Only a limited amount of *Company Insights* (*Lead Enrichment*) requests are available as a
trial. This feature requires :ref:`prepaid credits <mail_plugins/pricing>`.
.. tip::
If, after a short while, the panel is still empty, it is possible that your browser cookie
settings prevented it from loading.
Note that these settings also change if you are in "Incognito" mode on your
browser.
To fix this issue, configure your browser to always allow cookies on Odoo's plugin page.
For Google Chrome, you can do so by following the guide at:
`https://support.google.com/chrome/answer/95647 <https://support.google.com/chrome/answer/95647#:~:text=Allow%20or%20block%20cookies%20for%20a%20specific%20site>`_
and adding `download.odoo.com` to the list of `Sites that can always use cookies`.
Once done, the Outlook panel needs to be opened again.
#. Enter your Odoo database URL and click on *Login*.
.. image:: outlook/enter-database-url.png

View File

@@ -8,7 +8,6 @@ Acquire leads
:titlesonly:
acquire_leads/convert
acquire_leads/generate_from_email
acquire_leads/generate_from_website
acquire_leads/generate_leads
acquire_leads/send_quotes
acquire_leads/lead_mining

View File

@@ -1,20 +0,0 @@
========================================
Generate leads/opportunities from emails
========================================
Automating the lead/opportunity generation will considerably improve
your efficiency. By default, any email sent to
*sales@database\_domain.ext* will create an opportunity in the
pipeline of the default sales channel.
Configure email aliases
=======================
Each sales teams can have its own email alias, to generate
leads/opportunities automatically assigned to it. It is useful if you
manage several sales teams with specific business processes. You will
find the configuration of sales teams under
:menuselection:`Configuration --> Sales Teams`.
.. image:: media/generate_from_email01.png
:align: center

View File

@@ -1,78 +0,0 @@
===========================================================
Generate leads/opportunities from your website contact page
===========================================================
Automating the lead/opportunity generation will considerably improve
your efficiency. Any visitor using the contact form on your website will
create a lead/opportunity in the pipeline.
Use the contact us on your website
==================================
You should first go to your website app.
|image0|\ |image1|
With the CRM app installed, you benefit from a ready-to-use contact form
on your Odoo website that will generate leads/opportunities
automatically.
.. image:: media/generate_from_website03.png
:align: center
To change to a specific sales channel, go to :menuselection:`Website
--> Configuration --> Settings` under *Communication* you will find the
Contact Form info and where to change the *Sales Channel* or
*Salesperson*.
.. image:: media/generate_from_website04.png
:align: center
Create a custom contact form
============================
You may want to know more from your visitor when they use the contact form to
you will need to build a custom contact form on your
website. These contact forms can generate multiple types of records in
the system (emails, leads/opportunities, project tasks, helpdesk
tickets, etc.)
Configuration
=============
You will need to install the free *Form Builder* module, only
available in Odoo Enterprise.
.. image:: media/generate_from_website05.png
:align: center
Create a custom contact form
----------------------------
First, go to the page where you want to put your contact form. In edit mode, drag
the form builder onto the page, and you will be able to add all the fields
you wish.
.. image:: media/generate_from_website06.png
:align: center
By default, any new contact form will send an email. You can switch to
lead/opportunity generation in *Change Form Parameters*.
.. note::
If the same visitor uses the contact form twice, the second
entry will be added to the first lead/opportunity in the chatter.
Generate leads instead of opportunities
=======================================
When using a contact form, you should use a qualification step
before assigning the form to the right sales people. To do so, activate *Leads*
in CRM settings and refer to :doc:`convert`.
.. |image0| image:: ./media/generate_from_website01.png
:width: 1.04401in
:height: 1.16146in
.. |image1| image:: ./media/generate_from_website02.png
:width: 1.43229in
:height: 1.16244in

View File

@@ -0,0 +1,104 @@
============================
Generate leads/opportunities
============================
Two key ways to generate new leads or opportunities for your business are through email aliases and
website contact forms. Odoo automatically creates leads in your CRM whenever someone sends a
message to a Sales Team email alias or fills out a contact form on your website.
Configure email aliases
=======================
Each Sales Team can use its own unique email alias to generate leads/opportunities. Any email sent
to a Sales Team's email alias will automatically create a lead (if leads are activated in your CRM
settings) or an opportunity in the pipeline for that particular team. Configure custom email
aliases on the configuration page for each Sales Team by navigating to :menuselection:`CRM -->
Configuration --> Sales Teams`.
.. image:: generate_leads/sales-team-config.png
:align: center
:alt: Configuring Sales Teams
Use Contact Forms on your website
=================================
By default, your website's *Contact Us* page displays Odoo's ready-to-use Contact Form. Whenever
someone submits this form, a lead or an opportunity is generated in your database.
.. image:: generate_leads/default-contact-us-page.png
:align: center
:alt: Default Contact Us page
The Contact Form can be activated or deactivated at any time by going to :menuselection:`Website
--> Go to Website --> Customize --> Contact Form`.
.. image:: generate_leads/contact-form-toggle.png
:align: center
:alt: Contact Form toggle
When the Form is deactivated, the *Contact Us* page simply displays a button to email your company
directly. Any email sent this way will generate a lead/opportunity.
.. image:: generate_leads/default-contact-us-page-no-form.png
:align: center
:alt: Contact Us Page using email
Choose which Sales Team or salesperson is automatically assigned to the leads/opportunities created
from the Contact Form by going to :menuselection:`Website --> Configuration --> Settings -->
Communication`.
.. image:: generate_leads/contact-form-settings.png
:align: center
:alt: Contact Form settings
Customize Contact Forms
=======================
Contact Forms can be customized for the specific information your team needs, using the free *Form
Builder* module.
The *Form Builder* module is installed automatically when a Form element is added to a web page via
the Website Builder. It can also be installed manually from the :guilabel:`Apps` page.
.. image:: generate_leads/form-building-block.png
:align: center
:alt: Form Builder building blocks
.. tip::
Forms can be created from scratch to serve a wide variety of purposes. However, Odoo's default
*Contact Us* page is designed to fit most users' needs. Start with the default form and modify
from there.
Edit Contact Form fields
------------------------
In Edit mode on your website, click on any field to start editing it. The following information can
be edited for each field on the Contact Form:
- :guilabel:`Type`: Choose a custom field option or an existing field. Examples include phone, file
upload, language, etc.
- :guilabel:`Input Type`: Determine the type of entry customers should input. Available options are
text,email, telephone, and URL.
- :guilabel:`Input Placeholder`: Type in an example to guide users how to input information where
formatting is important, such as a phone number or email address.
- :guilabel:`Label Name`: Type in the display name to show users what information is needed from
them.
- :guilabel:`Label Position`: Choose the way the label is aligned with the rest of the form. The
label can be hidden, above the field, to the far left of the field, or right adjusted and closer
to the field.
- :guilabel:`Required`: Toggle this option for information that you absolutely need entered.
- :guilabel:`Hidden`: Toggle this option to hide the field without deleting it.
- :guilabel:`Shown on Mobile`: Toggle this option to show the field to users on mobile devices.
.. image:: generate_leads/editable-field-options.png
:align: center
:alt: Editable field options
By default, when a Form is submitted, it sends you an email with the customer's inputted
information. To have it automatically generate a lead/opportunity instead, edit the Form and select
:guilabel:`Create an Opportunity` as the Action.
.. tip::
If leads are activated in your CRM settings, selecting :guilabel:`Create an Opportunity`
generates a lead instead. To learn more about activating leads in the CRM settings, head over to
:doc:`convert`.

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -31,7 +31,7 @@ From there, click on the **Generate Leads** button, a window where you will be a
:align: center
When choosing to target Companied and their contacts you can choose the contacts you are getting based on Role or Seniority.
When choosing to target Companies and their contacts you can choose the contacts you are getting based on Role or Seniority.
When getting contact information make sure to be aware of the latest EU regulation, get more information about General Data Protection Regulation on
`Odoo GDPR <http://odoo.com/gdpr>`__,
@@ -49,10 +49,10 @@ You can also add tags to track your generated leads.
Pricing
==================
This is an In-App Purchase feature, each generated lead will cost you one credit.
If you choose to get contact information each contact will also cost us one additional credit.
If you choose to get contact information each contact will also cost you one additional credit.
Here is the pricing for this `feature <https://iap.odoo.com/iap/in-app-services/167?>`__,
To buy credits you can either go to :menuselection:`CRM --> Configuration --> Settings --> Buy
Credits`; or go to :menuselection:`Settings --> In-App Purchases --> View my Services`.
Credits`; or go to :menuselection:`Settings --> Contacts --> Odoo IAP --> View my Services`.
.. image:: media/LM6.png
:align: center

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -1,47 +1,65 @@
===========================
Manage multiple sales teams
===========================
====================
Multiple sales teams
====================
In Odoo, you can manage several sales teams, departments or channels
with specific sales processes. To do so, we use the concept of *Sales
Channel*.
Odoo lets you manage several sales teams, departments, or channels, each with their own unique
sales processes, using *Sales Teams*.
Create a new sales channel
==========================
To create a new *Sales Channel*, go to :menuselection:`Configuration --> Sales Channels`.
There you can set an email alias to it. Every message sent to that email
address will create a lead/opportunity.
.. image:: media/multi_sales_team01.png
:align: center
Add members to your sales channel
---------------------------------
You can add members to any channel; that way those members will see the
pipeline structure of the sales channel when opening it. Any
lead/opportunity assigned to them will link to the sales channel.
Therefore, you can only be a member of one channel.
This will ease the process review of the team manager.
.. image:: media/multi_sales_team02.png
:align: center
If you now filter on this specific channel in your pipeline, you will
find all of its opportunities.
.. image:: media/multi_sales_team03.png
:align: center
Sales channel dashboard
Create a new Sales Team
=======================
To see the operations and results of any sales channel at a glance, the
sales manager also has access to the *Sales Channel Dashboard* under
*Reporting*.
To create a new Sales Team, go to :menuselection:`CRM --> Configuration --> Sales Teams` then
click **Create**.
On the creation page, set an *Email Alias* to automatically generate a lead/opportunity for this
Sales Team every time a message is sent to that unique email address. You can also choose whether
to accept emails from *Everyone*, *Authenticated Partners*, or *Followers Only*.
Set a *Domain* to assign leads/opportunities to this Sales Team based on specific filters, such as
country, language, or campaign. Set an *Invoicing Target* if this team has specific monthly revenue
goals.
.. image:: multiple_sales_teams/sales-team-creation.png
:align: center
:alt: Creating a Sales Team
Add members to a Sales Team
---------------------------
To add team members, click **Add** under the Assignment tab when editing the Sales Team's
configuration page. Select a salesperson from the dropdown menu or create new salesperson. Set a
maximum number of leads that can be assigned to this salesperson in a 30-day period to ensure that
they do not overwork.
.. image:: multiple_sales_teams/add-a-salesperson.png
:align: center
:alt: Adding a Salesperson
One person can be added as a team member or Team Leader to multiple Sales Teams, allowing them to access all of the pipelines that they need to.
Sales Team dashboard
====================
To view the Sales Team dashboard, go to :menuselection:`CRM --> Configuration --> Sales Teams`. Any
teams you are a part of will appear as dashboard tiles.
Each tile gives an overview of the Sales Team's open opportunities, quotations, sales orders, and
expected revenue, as well as a bar graph of new opportunities per week and an invoicing progress
bar.
.. image:: multiple_sales_teams/sales-team-overview.png
:align: center
:alt: Sales Team Overview
Click on the three dots in the corner of a tile to open a navigational menu that lets you quickly
view documents or reports, create new quotations or opportunities, pick a color for this team, or
access its configuration page.
.. image:: multiple_sales_teams/team-overview-three-dot-menu.png
:align: center
:alt: Three Dot Menu
Click on the **Pipeline** button to go directly to that team's CRM pipeline.
It is shared with the whole ecosystem so every revenue stream is
included in it: Sales, eCommerce, PoS, etc.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -2,77 +2,72 @@
Assign leads based on scoring
=============================
With *Leads Scoring* you can automatically rank your leads based on
selected criteria.
*Lead Scoring* lets you rank and prioritize leads based on selected criteria. A higher score
indicates that a lead is more likely to bring value to your company.
For example you could score customers from your country higher or the
ones that visited specific pages on your website.
For example, if customers from Canada tend to be more likely to purchase your products, you can
assign them a higher score than customers from other countries.
Configuration
=============
To use scoring, install the free module *Lead Scoring* under your
*Apps* page (only available in Odoo Enterprise).
To use scoring, go to :menuselection:`Apps`, remove the :guilabel:`Apps` filter, search for
:guilabel:`Lead Scoring` and then install the module.
.. image:: media/lead_scoring01.png
.. image:: lead_scoring/lead-scoring-module.png
:align: center
:alt: Lead Scoring module installation
Create scoring rules
====================
You now have a new tab in your *CRM* app called *Leads Management*
where you can manage your scoring rules.
To manage scoring rules, go to :menuselection:`CRM --> Leads --> Scoring Rules`.
Here's an example for a Canadian lead, you can modify for whatever
criteria you wish to score your leads on. You can add as many criteria
as you wish.
Customize your rules to fit the needs of your business, and add as many criteria as you want.
.. image:: media/lead_scoring02.png
.. image:: lead_scoring/scoring-example.png
:align: center
:alt: Score Rule example
Every hour every lead without a score will be automatically scanned and
assigned their right score according to your scoring rules.
Every hour, Odoo automatically assigns scores to new leads according to your configured rules.
.. image:: media/lead_scoring03.png
.. image:: lead_scoring/scoring-section-on-lead.png
:align: center
:alt: Scoring section on a lead
Assign leads
============
Once the scores computed, leads can be assigned to specific teams using
the same domain mechanism. To do so go to :menuselection:`CRM --> Leads Management --> Team Assignation`
and apply a specific domain on each team. This domain can include scores.
Odoo can also assign leads to specific teams based on configured rules. To configure assignment
rules, go to the individual Sales Team's configuration page via :menuselection:`CRM --> Leads -->
Team Assignment` or :menuselection:`CRM --> Configuration --> Sales Teams`, and apply a specific
Domain to each team. The Domain can include lead scores.
.. image:: media/lead_scoring04.png
.. image:: lead_scoring/team-assignation.png
:align: center
:alt: Team Assignments using domains
Further on, you can assign to a specific vendor in the team with an even
more refined domain.
Assign leads to specific salespeople using further refined Domains at :menuselection:`CRM --> Leads
--> Leads Assignment`.
To do so go to :menuselection:`CRM --> Leads Management --> Leads Assignation`.
.. image:: media/lead_scoring05.png
.. image:: lead_scoring/lead-assignment-filters.png
:align: center
:alt: Lead Assignments
Odoo automatically assigns new leads to teams/salespeople once per day.
Evaluate and use the unassigned leads
=====================================
Not all leads will fall into your set Domains and get assigned automatically by Odoo.
To view your unassigned leads, go to :menuselection:`CRM --> Leads --> Leads` and select the
Unassigned filter.
.. image:: lead_scoring/unassigned-filter.png
:align: center
:alt: Filtering for unassigned leads
.. note::
The team & leads assignation will assign the unassigned leads
once a day.
Evaluate & use the unassigned leads
===================================
Once your scoring rules are in place you will most likely still have
some unassigned leads. Some of them could still lead to an opportunity
so it is useful to do something with them.
In your leads page you can place a filter to find your unassigned leads.
.. image:: media/lead_scoring06.png
:align: center
Why not using :menuselection:`Email Marketing` or
:menuselection:`Marketing Automation` apps to send a mass email to
them? You can also easily find such unassigned leads from there.
.. image:: media/lead_scoring07.png
:align: center
You can also find unassigned leads and create re-engagement campaigns using the :guilabel:`Email
Marketing` or :guilabel:`Marketing Automation` apps.

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Some files were not shown because too many files have changed in this diff Show More