Compare commits

..

157 Commits

Author SHA1 Message Date
fdardenne
c6105bcf24 [IMP] create JavaScript howtos
The JavaScript cheatsheet is outdated, we therefore remove it and
replace it by multiple howtos:

- Create a view from scratch
- Extending an existing view
- Create a field from scratch
- Extend an existing field
- Create a client action

There is other subjects to introduce as the web framework is big. Other
future contributions will cover them.

X-original-commit: 7e4435deb8
2023-04-04 17:16:15 +02:00
oskarenablebanking
c91ea3d251 [ADD] accounting: enablebanking
task-3232701

closes odoo/documentation#4001

X-original-commit: cc194eb979
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-03 20:02:15 +02:00
Jonathan Castillo (jcs)
9878b58a04 [MOV] accounting: structure of bank sync docs
X-original-commit: d694c6c9f5
Part-of: odoo/documentation#4001
2023-04-03 20:02:15 +02:00
Zuzanna Luczynska
fdea740edc [ADD] field service: default warehouse
task-2948598

closes odoo/documentation#3998

X-original-commit: 40ef1a26f9
Signed-off-by: zulu-odoo <zulu@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-04-03 18:26:24 +02:00
Benoit Socias
a8deaf9594 [IMP] tutorials: add warning about mutable global variables
The whole concept of multi-tenancy is not really approached within the
tutorial.

This commit adds a warning about never using mutable global variables
within odoo to seed the idea in the reader's mind.

task-3059110

closes odoo/documentation#3990

X-original-commit: 1ce7166f49
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Benoit Socias (bso) <bso@odoo.com>
2023-04-03 15:01:46 +02:00
“Audrey
4914c45d88 [IMP] Website: review website translation page
task-3255779

closes odoo/documentation#3977

X-original-commit: 67bada80e6
Signed-off-by: auva-odoo <auva@odoo.com>
2023-04-03 10:53:02 +02:00
Felicious
6757b2691b [IMP]: add manual valuation section
Add images and manual valuation

add ref tag and retitle doc to sentence case

Remove trailing whitespaces

update explanation

closes odoo/documentation#3983

X-original-commit: 71ede7a3d4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-04-01 04:55:39 +02:00
Tom Aarab (toaa)
11b2c5250b [IMP] Adyen: additional minimum requirements for users
Adding requirements for users to use Adyen. Forward to master.

closes odoo/documentation#3962

Taskid: 3159712
X-original-commit: 9b0a54b7f2
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-30 08:37:51 +02:00
Loan (lse)
d6acaf70c1 [IMP] ePoS: vulgarise the SSL ePos issue
SSL/HTTPS topic is complicated for most of
Odoo customers as it is quite technical.

This PR should help them guide them to better
understand the issue and how to fix it themselves.

Support can't be provided to each device, browsers and OS.
But we did add some guides regarding the more
"popular" ones and some "keyword" to search
online for the others.

closes odoo/documentation#3924

X-original-commit: 415a817c57
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Co-authored-by: Loredana Perazzo <lrpz@odoo.com>
2023-03-29 22:53:50 +02:00
Xavier
ec40c817da [ADD] attendances: hr and attendances categories + hardware page
Task ID: 3251124

closes odoo/documentation#3959

X-original-commit: 0124878dd4
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-29 21:45:52 +02:00
Loredana Perazzo
69248346db [IMP] pos: update fiscal positions page
Task ID: 2862506

closes odoo/documentation#3927

X-original-commit: 4a7acf8c02
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-29 08:32:22 +02:00
Melanie Nguyen (meng)
c69cb37be3 [IMP] mail plugins: add instructions to gmail plugin
closes odoo/documentation#3946

X-original-commit: 404d524deb
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 04:39:48 +02:00
Melanie Nguyen (meng)
19288088f9 [IMP] sales: menuselection fix
Fixed a menuselection error and deleted instances of second-person pov
Closes task 3116083

closes odoo/documentation#3941

X-original-commit: f30f6d2003
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 03:40:34 +02:00
Timothy Kukulka (tiku)
24f4348a46 [IMP] General: Oauth seemore additions
closes odoo/documentation#3936

X-original-commit: aa4e5d7a01
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-29 03:40:27 +02:00
Antoine Vandevenne (anv)
dc2a988173 [IMP] supported_version: release saas-16.2
closes odoo/documentation#3908

X-original-commit: c9f53c5b88
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-28 17:09:42 +02:00
Felicious
9fb4c01b19 [FIX] inventory: fix BoM typo
closes odoo/documentation#3912

X-original-commit: f2010faafc
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-28 01:05:34 +02:00
Nicolas (vin)
7effc12f02 [IMP] coding_guidelines: fix python code indents
A few python code blocks on the coding guidelines are indented twice
(8 spaces instead of 4), which is not correct.

closes odoo/documentation#3905

X-original-commit: 16176fb508
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-03-27 18:37:39 +02:00
“Chiara
0d6466fbbf [IMP] accounting: bank transactions
task-3204835

closes odoo/documentation#3896

X-original-commit: e89211e451
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-27 15:20:00 +02:00
Jess Rogers (jero)
9651908b73 [IMP] helpdesk: updated ticketing channels setup
closes odoo/documentation#3879

X-original-commit: ab0d9c239d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-26 10:09:56 +02:00
Timothy Kukulka (tiku)
5c89a56634 [IMP] Support: Update What can I expect
closes odoo/documentation#3885

X-original-commit: 406e12822e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-26 09:12:04 +02:00
LoredanaLrpz
7c4efb6fa9 [IMP] pos: and update kitchen printing
Task ID: 3235139

closes odoo/documentation#3874

X-original-commit: e6fd7db226
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-03-25 01:02:02 +01:00
Jess Rogers (jero)
7c8b8269eb [IMP] helpdesk: updated teams and stages setup content
closes odoo/documentation#3869

X-original-commit: da2e4a1a60
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-03-25 01:01:42 +01:00
Brandon Seltenrich (BRSE)
ccd282023a [IMP] inventory: fix sendcloud doc
closes odoo/documentation#3870

X-original-commit: b9453515a0
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-03-24 18:07:45 +01:00
Olivier Dony
19b4797d37 [FIX] legal: fix some broken links (pdfs, translations)
1) PDF files are generated and stored at the root of the CURRENT_BRANCH
directory. The links to those files are generated at different levels of
the doctree, which makes it impossible to use a relative path.
For example the same "Enterprise Agreement" doc in EN is published on:
 - /16.0/legal/terms/enterprise.html
 - /16.0/fr/legal/terms/enterprise.html

As a workaround, use absolute links for the PDFs. They won't work
locally for now. Can be improved later, as long as we don't break
those links located in various depths of the troctree.

2) The legal constracts aren't translated in all availables languages
(yet), so those links are 404s now. Introduced a conf.py variable
`legal_translations` with the list of languages where translated
contracts are indeed available, and falling back to the EN version
otherwise. Some languages don't have *all* the contracts translated, so
some 404 may remain temporarily.

Forward-port of f69dba70be
2023-03-23 16:42:57 +01:00
Tom Aarab (toaa)
6def5713d3 [ADD] eCommerce: customer interaction
Adding a page on customer interaction and adding redirects. Forward to
master.

closes odoo/documentation#3861

Taskid: 3224716
X-original-commit: c24f6eca7a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-21 16:34:55 +01:00
LoredanaLrpz
cc997535b2 [IMP] pos: take the half-up out of the last note
Task ID: 3184227

closes odoo/documentation#3856

X-original-commit: f3aafe2f09
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-21 11:58:08 +01:00
Valentin Vallaeys (vava)
cb06fb7687 [ADD] developer: add _get_available_tokens
Introduced with this commit:
e534ab41e7

closes odoo/documentation#3798

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-21 11:57:57 +01:00
Jonathan Castillo (jcs)
a18fe9a25b [FIX] dev/tuto: grammar mistake in 02_setup
task-3238089

closes odoo/documentation#3848

X-original-commit: 6866cfa361
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-20 16:00:35 +01:00
Antoine Vandevenne (anv)
3f0a7cd34e [IMP] supported_versions: flag saas-16.1 as supported
closes odoo/documentation#3840

X-original-commit: c466d6fd6e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-17 12:19:02 +01:00
Christophe Monniez
aeed9418b4 [REL] saas-16.2 2023-03-15 12:18:53 +01:00
Géry Debongnie
f6ce2b9904 [IMP] developer: add description of disabled prop to Dropdown
This prop has been implemented in pr https://github.com/odoo/odoo/pull/115201/files

closes odoo/documentation#3828

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-14 17:03:41 +01:00
Donatienne Pirlot
2c45872c57 [IMP] accounting: intrastat documentation update
Updating the Intrastat documentation to provide information related to the Intrastat report.

closes odoo/documentation#3816

Id: 3167429
X-original-commit: 5d801fbdeb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-14 12:24:06 +01:00
Jonathan Castillo (jcs)
d5fc577b0b [MOV] accounting: remove "misc" category in "bank and cash"
closes odoo/documentation#3827

X-original-commit: 5888b6eb89
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-14 07:51:42 +01:00
Timothy Kukulka (tiku)
716699782a [IMP] Website: rewrite-keycdn-doc
closes odoo/documentation#3823

X-original-commit: 3eb3f74f70
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-03-13 20:47:58 +01:00
Timothy Kukulka (tiku)
d044ac2b59 [IMP] Misc: Remove section from from-address
closes odoo/documentation#3815

X-original-commit: 9eb9fa7e19
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-03-13 18:45:09 +01:00
Timothy Kukulka (tiku)
3c338ea041 [IMP] Maintain: Add process to delete account and clean-up
closes odoo/documentation#3810

X-original-commit: 6b7c550724
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-03-13 18:45:06 +01:00
Donatienne Pirlot
74d5d52874 [IMP] accounting: Analytic Accounting Documentation
closes odoo/documentation#3802

Id: 3133182
X-original-commit: 6079d0e1d7
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-10 21:26:59 +01:00
Antoine Vandevenne (anv)
7b9abb3bef [REF] tests: split checkers
task-2801043

closes odoo/documentation#3796

X-original-commit: 8e8c466892
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-03-10 11:24:06 +01:00
Victor Feyens
5f60c80baa [IMP] rst_style: new linters
X-original-commit: a33db1cbbb
Part-of: odoo/documentation#3796
2023-03-10 11:24:06 +01:00
LoredanaLrpz
830ec0c321 [imp] pos: fusion between split and print bills pages
Task ID: 3210388

closes odoo/documentation#3791

X-original-commit: 59d1ede78d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-03-10 11:24:03 +01:00
LoredanaLrpz
66024b841e [IMP] pos: structure of the restaurant category
Task ID: 3210388

X-original-commit: 9bcde595d1
Part-of: odoo/documentation#3791
2023-03-10 11:24:03 +01:00
Tom Aarab (toaa)
d56d5a5af2 [ADD] eCommerce: customer accounts
Adding a page on customer accounts for the eCommerce doc. Forward to
master.

closes odoo/documentation#3786

Taskid: 3223001
X-original-commit: 49b45c9aa6
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-09 22:46:01 +01:00
Martin Trigaux
c0b0457de5 [I18N] theme: remove reference to translation
It does not exists and was never present, making the synchronisation crash

closes odoo/documentation#3782

X-original-commit: 56a2ba7f98
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-03-09 12:00:58 +01:00
Demesmaeker
40d3785ddf [ADD] payment_providers: explain partial capture
Adyen now support the partial capture

task-2728768

closes odoo/documentation#2063

Related: odoo/enterprise#35205
Related: odoo/odoo#87251
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-09 10:51:32 +01:00
poma-odoo
75a102323b [FW][FIX] contributing/coding_guidelines: remove mention to assets.xml
We no longer load assets by xml files, but we use __manifest__.py for that.

closes odoo/documentation#3778

Forward-port-of: odoo/documentation#3720
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-03-09 08:35:52 +01:00
LoredanaLrpz
497f7660f3 [IMP] l10n: setup info for belgian pos
TaskID:3142402

closes odoo/documentation#3773

X-original-commit: d92a554ab2
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-08 17:33:50 +01:00
tsm-odoo
5c89f63fb9 [FIX] deploy: duplicated proxy_set_headers in serve static block
This commit removes unnecessary `proxy_set_headers` in the serve
static config block.

Indeed, the request will either be served by Nginx in which case
the request won't go to the proxy backend or by the `@odoo` backend
which have its own `proxy_set_headers` set as the user is supposed
to copy/paste the contennt of the `location /` block.

closes odoo/documentation#3768

Closes: #3675
X-original-commit: 6129288439
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2023-03-08 11:37:16 +01:00
Tom Aarab (toaa)
24f6c4c55e [ADD] eCommerce: Handling orders
Adding a page on handling orders for the eCommerce doc, and removing
older pages. Forward to master.

closes odoo/documentation#3766

Taskid: 3214065
X-original-commit: f6fa482087
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-08 10:31:20 +01:00
“Chiara
64fa68e188 [IMP] accounting: archive module description
closes odoo/documentation#3759

X-original-commit: 46175b6071
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-07 19:04:13 +01:00
Tom Aarab (toaa)
0da8718bf7 [IMP] eCommerce: ewallets/giftcards section
Adding ewallets/giftcards section to the eCommerce doc. Forward to
master.

closes odoo/documentation#3757

Taskid: 3215674
X-original-commit: 70267f4535
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-03-07 18:03:24 +01:00
Raphael Collet
097c247449 [IMP] core: introduce search_fetch() and fetch()
closes odoo/documentation#3749

Related: odoo/odoo#114551
Signed-off-by: Raphael Collet <rco@odoo.com>
2023-03-07 18:03:13 +01:00
LoredanaLrpz
8a07f95e43 [ADD] Finance: POS certification doc blackbox setup
closes odoo/documentation#3755

X-original-commit: f6dfea8206
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-03-07 15:15:15 +01:00
Donatienne Pirlot
d85715a176 [IMP] accounting: improving snailmail documentation
Id: 3099154
X-original-commit: 3bb3acbb42

Debug mode should be activated in V15 and V16 to modify the paper format

closes odoo/documentation#3731

X-original-commit: 64aaa6f784
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-03-07 10:06:20 +01:00
Julien Castiaux
a6fb221a75 [FIX] deploy: typo in example addons path
closes odoo/documentation#3748

Closes: #3675
X-original-commit: 01d9f7cdf1
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-07 02:56:59 +01:00
Martin Trigaux
de72e6cdfa [I18N] *: export source translations
closes odoo/documentation#3746

X-original-commit: 738f3a08f6
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-03-07 02:56:32 +01:00
Jonathan Castillo (jcs)
22c5ae8905 [ADD] accounting: trusted accounts (send money)
RD task-3210415
Doc task-3211601

closes odoo/documentation#3737

Related: odoo/enterprise#37789
Related: odoo/upgrade#4397
Related: odoo/odoo#114278
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-07 01:59:46 +01:00
Tom Aarab (toaa)
eb72280e1d [IMP] ecommerce: add custom anchors, links and "see also" sections
This commit adds custom anchors, links and new see also sections

task-3212218

closes odoo/documentation#3719

X-original-commit: b7db89e77b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-06 09:14:15 +01:00
Cindy
18b6872d88 [IMP] contributing: fix a punctutation mistake in contributing
For instance, "Fix a typo"
         or "Add documentation for invoicing of sales orders." instead of For instance, "Fix a typo"
         or "Add documentation for invoicing of sales orders".

closes odoo/documentation#3736

X-original-commit: da87d72167
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-02 19:25:22 +01:00
LoredanaLrpz
9ce0d967b2 [IMP] pos: add port num for windows os, rem useful tips and check indent
Task ID: 3193053

closes odoo/documentation#3726

X-original-commit: adad64289f
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-02 18:19:01 +01:00
John Holton (hojo)
4efaa8ccff [ADD] MRP: using work centers
closes odoo/documentation#3705

X-original-commit: dd304af1e3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2023-03-02 00:27:40 +01:00
Tom Aarab (toaa)
707bc15352 [FIX] website: syntax error (fix for translators)
A translator notified me that one of the sentences in English made no
sense, so I'm fixing it to 1) make sense now 2) make it easier for the
translator.

Small fix, this page will be depecrated when I have time to make a new
one.

Forward to master.

closes odoo/documentation#3711

Taskid: 3211784
X-original-commit: f4ede744ae
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-03-01 23:28:41 +01:00
Sam Lieber (sali)
f5326fa593 [IMP] sales: product variants config btn instructions
closes odoo/documentation#3704

X-original-commit: cc7467788d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-03-01 23:28:16 +01:00
Jonathan Castillo (jcs)
3327711e25 [IMP] accounting: new version of cash discount
task-2834752

closes odoo/documentation#3692

X-original-commit: 5fd3092ad3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-28 23:49:54 +01:00
Antoine Vandevenne (anv)
009ae8ffde [ADD] extensions/cards: add an extension to implement cards
The extension adds two new directive:
- `cards` is the row container for one or more `card` directives.
- `card` is the implementation of a Bootstrap card that accepts a
  `target` argument for the href of the card, a `large` option to render
  the card on two columns, a `tag` option to display a single arbitrary
  tag on the card, and arbitrary content that is shown in the card
  body.

task-3141419

closes odoo/documentation#3689

X-original-commit: 34bc63d2bc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-28 18:08:29 +01:00
Jonathan Castillo (jcs)
0fb94a128e [IMP] accounting: add custom anchors to tax_return.rst headings
closes odoo/documentation#3681

X-original-commit: 91fadf0ff6
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-27 13:56:11 +01:00
Timothy Kukulka (tiku)
987aef16ec [MOV] Misc: Move Portal doc to Misc
closes odoo/documentation#3634

X-original-commit: d690314ba5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-02-24 18:16:08 +01:00
Demesmaeker
8260880d6f [IMP] Amazon_connector: manage errors in the pickings
As Odoo now gets the report following the synchronization of the picking, the doc needs to be
updated to show how to manage errors.

closes odoo/documentation#3193

Related: odoo/enterprise#28970
Related: odoo/upgrade#4146
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-24 16:09:41 +01:00
Sam Lieber (sali)
657e6a0cce [ADD] l10n: Ecuador fiscal localization
task-3164933

closes odoo/documentation#3671

X-original-commit: a1d2c7a6c8
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-24 14:20:36 +01:00
John Holton (hojo)
2b40e9103e [FIX] Odoo.sh: correct content error
closes odoo/documentation#3669

X-original-commit: 033f6de839
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-24 12:14:47 +01:00
Xavier
f0814df058 [ADD] Spreadsheet/Reporting/Search
Task ID: 3053800

closes odoo/documentation#3661

X-original-commit: cf67ac8504
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Platteau Xavier (xpl) <xpl@odoo.com>
2023-02-23 16:09:04 +01:00
Antoine Vandevenne (anv)
ed4b8c1320 [MOV] developer/cli: move "Command-line interface (CLI)" to the reference dir
task-2991663

closes odoo/documentation#3660

X-original-commit: 3dc6bb83c1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv)
6d50ac96de [MOV] developer/api/extract_api: move "Extract API" to the reference dir
task-2991663

X-original-commit: 73f976e679
Part-of: odoo/documentation#3660
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv)
518db8b02a [MOV] developer/api/external_api: move "External API" to the reference dir
task-2991663

X-original-commit: 95ed856446
Part-of: odoo/documentation#3660
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv)
cc3ca497f3 [MOV] developer/api/iap: move "In-App Purchase" to the howtos dir
task-2991663

X-original-commit: b817e16a4c
Part-of: odoo/documentation#3660
2023-02-23 16:09:00 +01:00
Antoine Vandevenne (anv)
b75a798ae6 [MOV] developer/iot: move "Internet of things" the howtos dir
task-2991663

X-original-commit: 2701d91db0
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv)
ba7a47e03e [IMP] tutorials/*: hide outdated tutorials
*: backend, web, website

task-2991663

X-original-commit: 9561c9abf8
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv)
d783dd375a [MOV] howto/web: move "Customizing the webclient" to the tutorials dir
task-2991663

X-original-commit: 2d469bccbc
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv)
c2d7f03b8b [MOV] howto/website: move "Building a website" to the tutorials dir
task-2991663

X-original-commit: 58f2174c49
Part-of: odoo/documentation#3660
2023-02-23 16:08:59 +01:00
Antoine Vandevenne (anv)
1292abc9e7 [MOV] howtos/backend: move "Building a module" to the tutorials dir
task-2991663

X-original-commit: 642c4839f7
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv)
899960a66d [MOV] howtos/discover_js_framework/*: move "Discover the JS Framework" to the tutorials dir
task-2991663

X-original-commit: 9c5ea316ff
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv)
c3a66c28a0 [MOV] tutorials/getting_started/*: promote advanced chapters to independent tutorials
task-2991663

X-original-commit: a8c78a80ba
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv)
018d708b44 [MOV] howto/rdtraining: move "Getting started" to the tutorials dir
This commit also replaces references to the "Building a module"
tutorial by references to the "Getting started" tutorial.

task-2991663

X-original-commit: 4f4e346953
Part-of: odoo/documentation#3660
2023-02-23 16:08:58 +01:00
Antoine Vandevenne (anv)
286ae4a7b7 [ADD] developer/tutorials: add a directory for developer tutorials
task-2991663

X-original-commit: 73ce4d6cd8
Part-of: odoo/documentation#3660
2023-02-23 16:08:57 +01:00
“Chiara
5cd64c158f [ADD] Accounting: Italian warning
closes odoo/documentation#3654

Taskid: 3201538
X-original-commit: eea1aec26b
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
Signed-off-by: chiaraprattico <chpr@odoo.com>
2023-02-22 21:37:36 +01:00
Tom Aarab (toaa)
1b8da9b0a9 [ADD] eCommerce: shipping page
Added a shipping page to the eCommerce section. Forward to master.

closes odoo/documentation#3642

Taskid: 3111638
X-original-commit: 470e74492f
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-20 21:23:54 +01:00
Donatienne Pirlot
26b45abb9e [IMP] accounting: updating the doc related to vendor bill to payment
closes odoo/documentation#3638

X-original-commit: 1db61fca8f
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-20 13:44:41 +01:00
tsm-odoo
ffa10a9b0a [FIX] deploy: add set_headers, fixing wrong $host value
closes odoo/documentation#3636

X-original-commit: 8b92b734b2
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Stockbauer Matthieu (tsm) <tsm@odoo.com>
2023-02-20 12:39:32 +01:00
Jonathan Castillo (jcs)
cb122ad068 [FIX] legal: RST cleanup (headings delimiters characters)
This commit changes the characters used as heading delimiters in the
/legal/ folder of the documentation. This makes it easier for writers to
figure out the heading order as all other files in this repository use
the same order of heading delimiters characters.

closes odoo/documentation#3627

X-original-commit: bab84c61a0
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-20 09:29:08 +01:00
Tom Aarab (toaa)
edaa9773f9 [ADD] eCommerce: new price management page
Current documentation doesn't feature any pricing management info.
Forward to master.

closes odoo/documentation#3609

Taskid: 3086649
X-original-commit: d43a9b2598
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-18 04:36:35 +01:00
KC (ksc)
82a778ef23 [ADD] events: added complete documentation
closes odoo/documentation#3597

X-original-commit: b76b3fa3f3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-02-18 03:43:02 +01:00
Jonathan Castillo (jcs)
a49d1b7c9c [IMP] install/maintain: add section about search engine indexation
task-3179504

closes odoo/documentation#3620

X-original-commit: 2fccceb964
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-17 22:58:22 +01:00
Donatienne Pirlot
655f923d11 [IMP] accounting: update cheat sheet
This PR change the cheat sheet of the accounting documentation.
Change done:
* Change name of the file: memento to cheat_sheet
* Adding explanation to the doc (Ex: Invoices and bills status)
* Correcting some sentences

closes odoo/documentation#3625

Task-id: 2847663
X-original-commit: 2fa9de17e1
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-17 22:02:43 +01:00
william-andre
cd81a97399 [REF] account: remove chart templates
The way of declaring charts of accounts has completely changed.

closes odoo/documentation#3336

Related: odoo/enterprise#35836
Related: odoo/odoo#110016
Related: odoo/upgrade#4276
Signed-off-by: William André (wan) <wan@odoo.com>
2023-02-17 19:30:29 +01:00
Anita (anko)
e297b6254e [IMP] paypal: remove deleted fields
task-2854184

closes odoo/documentation#3063

Related: odoo/upgrade#4025
Related: odoo/odoo#104974
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-17 14:09:46 +01:00
Brandon Seltenrich (BRSE)
8c6175f77d [IMP] inventory: update automated inventory valuation
closes odoo/documentation#3606

X-original-commit: aaa1de94bd
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-02-16 20:03:29 +01:00
Donatienne Pirlot
ea6b25aba8 [IMP] sign: secured authentication info added
closes odoo/documentation#3599

Id: 3084552
X-original-commit: 817ad955af
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-02-16 15:59:51 +01:00
LoredanaLrpz
f90bc13ade [IMP] pos: rename & redo receipt page (structure, text, images)
Task ID: 3005121

Do not merge for Odoo 16 - configuration flow to modify

closes odoo/documentation#3572

X-original-commit: 295d29effd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-02-16 15:59:48 +01:00
LoredanaLrpz
60095ca6e4 [IMP] knowledge: h3 titles improvement and one typo fixed
Task ID: 3189032

closes odoo/documentation#3592

X-original-commit: 403f54d1df
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-15 21:09:42 +01:00
Jonathan Castillo (jcs)
65d71dd7be [FIX] *: RST cleanup
RST cleanup to comply with the RST guidelines. This is required so we
can use "make test", as there are currently hundreds of errors. For now,
it is unusable because of the oldest code in this repo.

closes odoo/documentation#3589

X-original-commit: 7ae76bad42
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-15 16:03:06 +01:00
luvi
f4c8a0f929 [ADD] web: add core components documentation
Those components were added during the Owl rewrite of the webclient
that happened in 16.0. Unfortunately, there was still no documentation
for them.

This commits fixes that by adding documentation for the Notebook and
the Colorlist components.

closes odoo/documentation#3586

X-original-commit: 7a9d807bcc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-15 16:03:03 +01:00
Amelia Williams
aafa593c6a [FIX] 02_setup: remove gramatical error
closes odoo/documentation#3583

X-original-commit: 18b000602b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-15 13:36:53 +01:00
Sam Lieber (sali)
7b7e87c33e [IMP] marketing: sms pricing and faq doc updates
closes odoo/documentation#3566

X-original-commit: 1591e1f087
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-02-15 03:17:01 +01:00
Tom Aarab (toaa)
528a9c26a1 [ADD] ecommerce: cross and upselling page
Adding a cross/upselling page for the ecommerce section. Forward to
master.

closes odoo/documentation#3578

Taskid: 3142720
X-original-commit: 4db98bd840
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-14 20:13:08 +01:00
luvi
a844c0aa12 [ADD] web: add SelectMenu documentation
This commit adds the documentation for the SelectMenu component, introduced
in saas-16.1. This documentation gives some example of its usage.

An image is also added, to better illustrate the grouping functionality.

closes odoo/documentation#3575

X-original-commit: 4a220d61fe
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-14 18:12:04 +01:00
LoredanaLrpz
ae33eaad60 [IMP] pos: invoice issuance via qr code on receipts
Task ID: 3100959

closes odoo/documentation#3561

X-original-commit: bfa4ee56fd
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-02-14 09:00:59 +01:00
Jonathan Castillo (jcs)
5f45c6aff8 [MOV] finance: move fiscal localisation pages and merge /overview/
The content written in the fiscal localisation pages are not only for
Accounting, but also for other apps such as Payroll and Point of Sales.
This commit moves the content to the "Finance" level, to better reflect
this reality, and merges the pages in the /overview/ folder in the main
category page.

closes odoo/documentation#3559

X-original-commit: ecbb755471
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-13 17:26:08 +01:00
Mahmoud Metwally
a39f2d4421 [FW][FIX] developer/howtos: typos and phrasing
closes odoo/documentation#3557

Forward-port-of: odoo/documentation#3541
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-13 15:15:41 +01:00
Victor Feyens
aaac56f2f4 [FIX] *: typos
closes odoo/documentation#3553

X-original-commit: 831cf23be9
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-13 14:05:35 +01:00
Victor Feyens
080835be2b [ADD] tests: add sphinxlint checkers for headings
task-2801043

X-original-commit: ad768c33aa
Part-of: odoo/documentation#3553
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-13 14:05:35 +01:00
Jonathan Castillo (jcs)
fd25400847 [FIX] *: first small clean of the code
Friday afternoon cleanup. This is required so we can use "make test", as
there are currently hundreds of errors. For now, it is unusable because
of the oldest code in this repo.

closes odoo/documentation#3544

X-original-commit: 26ddeef42c
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-13 14:05:23 +01:00
Martin Trigaux
772a56a693 [I18N] migrate to the nex transifex API
Tansifex is deprecating it's client and switches to a go-based
solution in its API v3

The new client is still backward compatible with the old format but
the v2 API is going to be phased out.
See https://github.com/transifex/cli to install the deplyments using
the tx client

This PR is the result of the "tx migrate" command

In saas-16.1 force the content of 16.0

closes odoo/documentation#3534

X-original-commit: a497405fec
Related: odoo/enterprise#36950
Related: odoo/odoo#112402
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-02-10 16:49:10 +01:00
“Chiara
5d0b31a508 [IMP] accounting/l10n: Italian Localization
closes odoo/documentation#3529

Taskid: 3067241
X-original-commit: 3cfee5c99e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-10 10:13:14 +01:00
Tom Aarab (toaa)
2e92bea4da [ADD] ecommerce: new payment providers page
Adding a documentation on payment providers specifically for the
ecommerce section.

closes odoo/documentation#3521

Taskid: 3138597
X-original-commit: 6b45da21c1
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-09 19:07:03 +01:00
Donatienne Pirlot
a1b17b9f31 [ADD] accounting: localization page for uk
closes odoo/documentation#3519

X-original-commit: 0550374968
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-02-09 18:07:36 +01:00
Tom Aarab (toaa)
f7d9f58b25 [ADD] eCommerce: checkout process page
Adding new page on checkout process for eCommerce. Forward to master.

closes odoo/documentation#3513

Taskid: 3110554
X-original-commit: 17ee191156
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-09 09:47:22 +01:00
Jason Aerts
478fdc07b1 [ADD] project: project creation and management
Adding a project creation and management page for the project app. Forward to master.

closes odoo/documentation#3510

Taskid: 3117349
X-original-commit: 1689b80470
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-09 07:50:48 +01:00
luvi
128bc1786c [FIX] web: fix wrong ActionSwiper documentation
Since 16.0, the documentation for this component was no longer
correct, since the component was moved to web during the refactor
of the webclient views. This commit also adds documentation of
props that were introduced during the refactor, already present
in 16.0.

closes odoo/documentation#3507

X-original-commit: fc79df42fd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-08 16:50:05 +01:00
Martin Trigaux
67dff9aa43 [IMP] conf: add names for newly activated languages
closes odoo/documentation#3502

X-original-commit: 734c0ee6ef
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-08 12:25:57 +01:00
Tom Aarab (toaa)
4aba55b1fe [ADD] Sales: new page on eWallets and gift cards programs
Adding a new page on eWallets and gift cards programs for the Sales app
documentation.

closes odoo/documentation#3498

Taskid: 3086636
X-original-commit: 9049013dde
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-07 15:35:59 +01:00
Tom Aarab (toaa)
aec7a8aaed [ADD] eCommerce: add to cart page
Adding add to cart page to the eCommerce section. Forward to master.

closes odoo/documentation#3496

Taskid: 3099603
X-original-commit: d09e6a83aa
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-07 15:35:57 +01:00
Tom Aarab (toaa)
4eab939d67 [IMP] ecommerce: updated variants page
Previous page was mostly on the sales app. New page focuses on ecommerce
with :ref: to sales. Forward to master.

closes odoo/documentation#3493

Taskid: 3121379
X-original-commit: bd13d34bd6
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-07 08:40:52 +01:00
Zachary Straub (ZST)
4ccae58e6f [FIX] Quality: add missing/cutoff content
closes odoo/documentation#3491

X-original-commit: 591e80deb7
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-02-06 16:28:44 +01:00
Tom Aarab (toaa)
a51a8ad9fc [ADD] eCommerce: add product page
Adding a product page for the eCommerce section, currently does not
exist. V16, forward to master.

closes odoo/documentation#3484

Taskid: 2903859
X-original-commit: 5329cff046
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-05 18:36:55 +01:00
Julien Van Roy
5fb8de203d [IMP] accounting/electronic_invoicing: add a-nz einvoicing format
Since commit
9431dddd7c,
the 'A-NZ BIS Billing 3.0' format is available for australian and new
zealand companies.

closes odoo/documentation#3483

X-original-commit: e2b4e8ad84
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-03 17:41:13 +01:00
Mahmoud Metwally
c61c65da47 [FW][FIX] developer/javascript_reference: typos and phrasing
closes odoo/documentation#3476

Forward-port-of: odoo/documentation#3470
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-02-03 06:06:29 +01:00
Tom Aarab (toaa)
a74be8db2f [IMP] ecommerce: updated catalog page
Updated catalog page. Forward to master.

closes odoo/documentation#3466

Taskid: 3071640
X-original-commit: 029b5a183b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-02 22:28:33 +01:00
Sam Lieber (sali)
55ccf597ef [ADD] Quality: configure quality control checks
closes odoo/documentation#3468

X-original-commit: ec1ddb34b1
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-02-02 02:12:08 +01:00
Zachary Straub (ZST)
7cec0db05f [IMP] inventory: add a note on default warehouses
closes odoo/documentation#3461

X-original-commit: e5069dbf72
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-01 21:31:27 +01:00
Donatienne Pirlot
847f47bcc3 [MOV] purchase: moving doc page from accounting to purchase
Moving the Manage vendor bills page from the accounting app to the purchase app as it is
more relevant.

closes odoo/documentation#3456

Taskid: 2687652
X-original-commit: b5febf2299
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-01-31 23:33:26 +01:00
thkl-odoo
2d1d9d773a [IMP] install/maintain: clarification in the upgrade SLA
The Service Level Agreement has to be updated. Any additional line of
code, without using studio, in standard modules is not supposed to be
covered by the upgrade team. It is slightly different than the point
telling "development of custom modules"

closes odoo/documentation#3450

X-original-commit: f469e4ef81
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-31 20:05:46 +01:00
Simon Goffin
f2b39b8e64 [FIX] content: The outlook add-in URL
The outlook add-in URL was not updated

opw:3131547

closes odoo/documentation#3441

X-original-commit: d81513ed1c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Simon Goffin <sig@odoo.com>
2023-01-31 00:52:07 +01:00
Melanie Nguyen (meng)
c450c8f5c4 [IMP] sales: fix returns and refunds
closes odoo/documentation#3437

X-original-commit: 2fb777e3e8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
2023-01-31 00:52:04 +01:00
Sam Lieber (sali)
e08338a4f4 [ADD] inventory: setup sendcloud shipping
closes odoo/documentation#3439

X-original-commit: 6f5a97705d
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-30 22:27:09 +01:00
Jonathan Castillo (jcs)
2cd2b864a7 [IMP] accounting: update how to get api keys for silverfin integration
task 2918697

closes odoo/documentation#3428

X-original-commit: 9a0bf7bb0e
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-27 14:03:30 +01:00
Tommy (tong)
92851b1bb4 [IMP] payment_providers: add AsiaPay brand configuration
Since we are updating the payment_asiapay module for other AsiaPay endpoints,
the documentation of AsiaPay needs to update too.
Please refer to https://github.com/odoo/odoo/pull/110357 for more informations.

task-3073748

closes odoo/documentation#3423

Related: odoo/odoo#110357
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-27 14:03:22 +01:00
avg-odoo
1141780b6c [IMP] install/maintain: update content of upgrade SLA
The maintenance fees cover the maintenance of the custom code (whoever
did it) and are not specifically dedicated to custom code written by
Odoo development teams

closes odoo/documentation#3422

X-original-commit: 92de7ccb2d
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-26 23:12:13 +01:00
KC (ksc)
afcf02cb30 [IMP] surveys:update get started docs
closes odoo/documentation#3417

X-original-commit: 3cf6e25f06
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-01-26 22:09:50 +01:00
Mathieu (mano)
b5efab7201 [IMP] toctrees: redesign and new card component
The goal of this commit is to propose a first step towards a new
`.. card::` directive for the toctrees. This is a first design
proposition for this new card component in raw html for the fallback
page `howtos.rst`

The long term objective is to redesign the toctrees by implementing card
components, clearer toctree list design and custom html pages.

Related to task-3059229

closes odoo/documentation#3408

X-original-commit: 64363d8640
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-26 18:51:23 +01:00
Donatienne Pirlot
aef4f46c59 [IMP] : accounting : manage a financial budget documentation
closes odoo/documentation#3401

X-original-commit: 78d3cf489a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-01-26 08:18:53 +01:00
Jorge Pinna Puissant
1d6c78a006 [IMP] views: allow the use of setting tags on the form view
Since [1], it's able to use of the setting tag in any form view.

[1]: 4cdd74fc585009a19a7d307f08411ad19255f8ff

closes odoo/documentation#3403

Signed-off-by: Aaron Bohy (aab) <aab@odoo.com>
2023-01-25 11:16:49 +01:00
Nishant Jain (niai)
2ceaa3ef1d [ADD] accounting/l10n: add section about E-waybill (India)
closes odoo/documentation#3395

X-original-commit: 97e914b340
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-24 21:11:00 +01:00
Jess Rogers (jero)
ff7c86c91c [IMP] helpdesk: close_ticket.rst cleanup
closes odoo/documentation#3388

X-original-commit: 8396c2a4ad
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-01-24 21:10:44 +01:00
Victor Feyens
73be78f25e [ADD] finance: explain how to disable online invoice payment
closes odoo/documentation#3396

X-original-commit: 55a96bbe51
Related: odoo/odoo#110843
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2023-01-24 16:18:36 +01:00
LoredanaLrpz
ecf2e4f94a [ADD] knowledge: main, editing and properties pages
Task ID: 3035887

closes odoo/documentation#3391

X-original-commit: 8796ff1310
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-24 09:11:55 +01:00
FrancoisGe
b8ffda3c07 [IMP] backend/views: relative width of a field is no longer supported in list views
Since the conversion of the list view to owl, the relative field size has not been reimplemented. We have decided not to support it anymore. So we will remove all its uses.

The relative width consists in adding a width attribute with an integer value. This value corresponds to the weight of the field, the higher it is, the more space the field will take. This size is only used when the list is empty.

Example of this:
<tree>
    <field ... width="2">
    <field ... width="1">
</tree>

The first field will take 2x more space than the first one when the list is empty.

closes odoo/documentation#3375

Related: odoo/odoo#110382
Related: odoo/enterprise#36020
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-23 11:19:56 +01:00
nle-odoo
e9f6ddb7c3 [FIX] developer/guidelines: odoo addons import order
The example for import order is a little confusing since it is wrong.

closes odoo/documentation#3381

X-original-commit: f7b1f66b8c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2023-01-20 21:56:50 +01:00
LoredanaLrpz
b37ca22bb0 [IMP] POS: improve and update the barcode page (text & screenshots)
Task ID: 3004918

closes odoo/documentation#3371

X-original-commit: 8138b95b0b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-20 20:58:37 +01:00
Anita (anko)
86dd91f009 [IMP] payment_providers,stripe: rename payment icon to payment method
task-2882564

closes odoo/documentation#2955

Related: odoo/odoo#105678
Related: odoo/enterprise#33908
Related: odoo/upgrade#4029
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-20 18:54:52 +01:00
pedrambiria
f842fc850f [FW][FIX] productivity/outlook: correct link for plugin installation
Forward-port of a8c58815f3 for 16.0+

closes odoo/documentation#3374

Forward-port-of: odoo/documentation#3349
Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
Signed-off-by: Pedram Bi Ria (pebr) <pebr@odoo.com>
2023-01-20 10:42:46 +01:00
Antoine Vandevenne (anv)
ab1cb5d515 [IMP] supported_versions: add end of support dates for SaaS versions
closes odoo/documentation#3372

X-original-commit: ebce333c73
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-19 18:49:50 +01:00
Jonathan Castillo (jcs)
d5f642d3c6 [ADD] accounting: configuration of silverfin integration
task-2918697

closes odoo/documentation#3359

X-original-commit: 7f6535dcc8
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-18 22:07:11 +01:00
Sam Lieber (sali)
0f1be083b5 [FW][ADD] maintain: connect office365 with azure oauth
closes odoo/documentation#3352

X-original-commit: 5b9d1cba2a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-18 17:38:17 +01:00
fdardenne
3690bba092 [FIX] developer: remove merge text in chapter 6
closes odoo/documentation#3353

X-original-commit: a70665ef34
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-18 16:19:37 +01:00
FrancoisGe
37146744a0 [IMP] web: add buttons in control panel in kanban
closes odoo/documentation#3257

Taskid: 3082390
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-18 13:25:16 +01:00
Wesley Kao (weka)
5457a07a4e [IMP] MRP: edited semi-finished products user doc
closes odoo/documentation#3340

X-original-commit: 79e08557d3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-17 10:20:45 +01:00
Ray Carnes
f02080d755 [IMP] sales: update portal.rst
Removed old and probably not needed image of the dashboard showing the Contacts App

closes odoo/documentation#3345

X-original-commit: 4d3a10e8cd
Signed-off-by: Zachary Straub <zst@odoo.com>
2023-01-16 20:51:49 +01:00
Xavier BOL (xbo)
10c7b5cbae [IMP] backend: add groups_draggable option in kanban view
Related PR: odoo/odoo#97447

task-2941335

closes odoo/documentation#3338

X-original-commit: f51633fdd5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-16 19:46:00 +01:00
211 changed files with 2520 additions and 1655 deletions

View File

@@ -26,7 +26,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.1
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.2
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)

13
conf.py
View File

@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
# `version` is 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 = 'saas-16.1'
version = release = 'saas-16.2'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
@@ -213,6 +213,7 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'saas-16.2': "Odoo Online",
'saas-16.1': "Odoo Online",
'16.0': "Odoo 16",
'saas-15.2': "Odoo Online",
@@ -318,6 +319,12 @@ latex_documents = [
'odoo_partnership_agreement_es.tex', 'Odoo Partnership Agreement (ES)', '', 'howto'),
]
# List of languages that have legal translations (excluding EN). The keys must be in
# `languages_names`. These translations will have a link to their versions of the legal
# contracts, instead of the default EN one. The main legal documents are not part of the
# translations since they have legal meaning.
legal_translations = ['de', 'es', 'fr', 'nl']
# The name of an image file (relative to this directory) to place at the top of the title page.
latex_logo = 'static/img/odoo_logo.png'
@@ -446,6 +453,10 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
)
)
# Dynamic generation of localized legal doc links
context['legal_translations'] = legal_translations
def _build_url(_version=None, _lang=None):
if app.config.is_remote_build:
# Project root like https://www.odoo.com/documentation

View File

@@ -1,80 +1,109 @@
===========================================
Setting up a Content Delivery Network (CDN)
===========================================
=======================================
Set up a content delivery network (CDN)
=======================================
.. _reference/cdn/keycdn:
Deploying with KeyCDN_
======================
Deploying with KeyCDN
=====================
.. sectionauthor:: Fabien Meghazi
A :abbr:`CDN (Content Delivery Network)` or *content distribution network*, is a geographically
distributed network of servers that provides high speed internet content. The :abbr:`CDN (Content
Delivery Network)` provides quick, high-quality content delivery for content-heavy websites.
This document will guide you through the setup of a KeyCDN_ account with your
Odoo powered website.
This document will guide you through the setup of a KeyCDN_ account with an Odoo powered website.
Step 1: Create a pull zone in the KeyCDN dashboard
--------------------------------------------------
Create a pull zone in the KeyCDN dashboard
------------------------------------------
.. image:: cdn/keycdn_create_a_pull_zone.png
:class: img-fluid
On the KeyCDN dashboard, start by navigating to the :menuselection:`Zones` menu item on the left. On
the form, give a value to the :guilabel:`Zone Name`, which will appear as part of the :abbr:`CDN
(Content Delivery Network)`'s :abbr:`URL (Uniform Resource Locator)`. Then, set the :guilabel:`Zone
Status` to :guilabel:`active` to engage the zone. For the :guilabel:`Zone Type` set the value to
:guilabel:`Pull`, and then, finally, under the :guilabel:`Pull Settings`, enter the
:guilabel:`Origin URL`— this address should be the full Odoo database :abbr:`URL (Uniform Resource
Locator)`.
When creating the zone, enable the CORS option in the
:guilabel:`advanced features` submenu. (more on that later)
.. example::
Use ``https://yourdatabase.odoo.com`` and replace the *yourdatabase* subdomain prefix with the
actual name of the database. A custom :abbr:`URL (Uniform Resource Locator)` can be used, as
well, in place of the Odoo subdomain that was provided to the database.
.. image:: cdn/keycdn_enable_CORS.png
:class: img-fluid
.. image:: cdn/keycdn-zone.png
:align: center
:alt: KeyCDN's Zone configuration page.
Once done, you'll have to wait a bit while KeyCDN_ is crawling your website.
Under the :guilabel:`General Settings` heading below the zone form, click the :guilabel:`Show all
settings` button to expand the zone options. This should be the last option on the page. After
expanding the :guilabel:`General Settings` ensure that the :guilabel:`CORS` option is
:guilabel:`enabled`.
.. image:: cdn/keycdn_progressbar.png
:class: img-fluid
Next, scroll to the bottom of the zone configuration page and :guilabel:`Save` the changes. KeyCDN
will indicate that the new zone will be deployed. This can take about 10 minutes.
.. note:: a new URL has been generated for your Zone, in this case it is
``http://pulltest-b49.kxcdn.com``
.. image:: cdn/zone-url.png
:align: center
:alt: KeyCDN deploying the new Zone.
Step 2: Configure the odoo instance with your zone
--------------------------------------------------
.. note::
A new :guilabel:`Zone URL` has been generated for your Zone, in this example it is
``pulltest-xxxxx.kxcdn.com``. This value will differ for each database.
In the Odoo back end, go to the :guilabel:`Website Settings`: menu, then
activate the CDN support and copy/paste your zone URL in the
:guilabel:`CDN Base URL` field. This field is only visible and configurable if
you have developer mode activated.
Copy this :guilabel:`Zone URL` to a text editor for later, as it will be used in the next steps.
.. image:: cdn/odoo_cdn_base_url.png
:class: img-fluid
Configure the Odoo instance with the new zone
---------------------------------------------
Now your website is using the CDN for the resources matching the
:guilabel:`CDN filters` regular expressions.
In the Odoo :guilabel:`Website` app, go to the :menuselection:`Settings` and then activate the
:guilabel:`Content Delivery Network (CDN)` setting and copy/paste the :guilabel:`Zone URL` value
from the earlier step into the :guilabel:`CDN Base URL` field. This field is only visible and
configurable when :doc:`Developer Mode <../../applications/general/developer_mode>` is activated.
You can have a look to the HTML of your website in order to check if the CDN
integration is properly working.
.. note::
Ensure that there are two *forward slashes* (`//`) before the :guilabel:`CDN Base URL` and one
forward slash (`/`) after the :guilabel:`CDN Base URL`.
.. image:: cdn/odoo_check_your_html.png
:class: img-fluid
:guilabel:`Save` the settings when complete.
.. image:: cdn/cdn-base-url.png
:align: center
:alt: Activate the CDN setting in Odoo.
Why should I activate CORS?
---------------------------
Now the website is using the CDN for the resources matching the :guilabel:`CDN filters` regular
expressions.
A security restriction in some browsers (Firefox and Chrome at time of writing)
prevents a remotely linked CSS file to fetch relative resources on this same
external server.
In the HTML of the Odoo website, the :abbr:`CDN (content delivery network)` integration is evidenced
as working properly by checking the :abbr:`URL (Uniform Resource Locators)` of images. The *CDN Base
URL* value can be seen by using your web browser's :guilabel:`Inspect` feature on the Odoo website.
Look for it's record by searching within the :guilabel:`Network` tab inside of devtools.
If you don't activate the CORS option in the CDN zone, the more obvious
resulting problem on a default Odoo website will be the lack of font-awesome
icons because the font file declared in the font-awesome CSS won't be loaded on
the remote server.
.. image:: cdn/test-pull.png
:align: center
:alt: The CDN Base URL can be seen using the inspect function on the Odoo website.
Here's what you would see on your homepage in such a case:
Prevent security issues by activating cross-origin resource sharing (CORS)
--------------------------------------------------------------------------
.. image:: cdn/odoo_font_file_not_loaded.png
:class: img-fluid
A security restriction in some browsers (such as Mozilla Firefox and Google Chrome) prevents a
remotely linked CSS file to fetch relative resources on this same external server.
A security error message will also appear in the browser's console:
If the :abbr:`CORS (Cross-Origin Resource Sharing)` option isn't enabled in the :guilabel:`CDN
Zone`, the more obvious resulting problem on a standard Odoo website will be the lack of *Font
Awesome* icons because the font file declared in the *Font Awesome* CSS won't be loaded from the
remote server.
.. image:: cdn/odoo_security_message.png
:class: img-fluid
When these cross-origin resource issues occur, a security error message similar to the output
below will appear in the web browser's developer console:
Enabling the CORS option in the CDN fixes this issue.
``Font from origin 'http://pulltest-xxxxx.kxcdn.com' has been blocked from loading /shop:1 by
Cross-Origin Resource Sharing policy: No 'Access-Control-Allow-Origin' header is present on the
requested resource. Origin 'http://yourdatabase.odoo.com' is therefore not allowed access.``
.. image:: cdn/odoo-security-message.png
:align: center
:alt: Error message populated in the browser console.
Enabling the :abbr:`CORS (Cross-Origin Resource Sharing)` option in the :abbr:`CDN (Content Delivery
Network)` settings fixes this issue.
.. _KeyCDN: https://www.keycdn.com

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -11,6 +11,10 @@ personal email address or an address created by a custom domain.
`Microsoft Learn: Register an application with the Microsoft identity platform
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
.. seealso::
- :doc:`/applications/general/auth/azure`
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
Setup in Microsoft Azure Portal
===============================
@@ -161,9 +165,9 @@ Then, create a new email server and check the box for :guilabel:`Outlook`. Next,
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
<email_communication/default_from>`.
<email_communication/default>`.
Then, cick on :guilabel:`Connect your Outlook account`.
Then, click on :guilabel:`Connect your Outlook account`.
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
appropriate email address that is being configured in Odoo.

View File

@@ -11,6 +11,10 @@ email address or an address created by a custom domain.
For more information, visit `Google's documentation
<https://support.google.com/cloud/answer/6158849>`_ on setting up OAuth.
.. seealso::
- :doc:`/applications/general/auth/google`
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
Setup in Google
===============

View File

@@ -201,7 +201,7 @@ Connection`.
#. The :guilabel:`From Filter` needs to be set on the server configuration. It is recommended
to set it as a domain and not a full email address. It should match the domain in the two
proceeding steps. More information can be referenced :ref:`here
<email_servers/outgoing-email-server>`.
<email_communication/from_filter>`.
#. The :guilabel:`mail.default.from` system parameter must have the value
`notifications\@yourdomain.com`.
#. The :guilabel:`mail.default.from_filter` system parameter must have the value

View File

@@ -3,20 +3,22 @@ Odoo Online database management
===============================
To manage a database, sign in to https://www.odoo.com and access the `database management page
<https://www.odoo.com/my/databases>`_ by clicking on the user icon, then on *My Databases*.
<https://www.odoo.com/my/databases>`_ by clicking on the user icon, then on
:guilabel:`My Databases`.
.. image:: odoo_online/my-databases.png
:align: center
:alt: Clicking on the user icon opens a drop-down menu. "My databases" button is highlighted.
.. note::
Make sure you are connected as the administrator of the database you want to manage.
Make sure to connect as the administrator of the database that changes will be made on.
.. image:: odoo_online/dropdown-menu.png
:align: right
:alt: Clicking on the gear icon opens the drop-down menu.
Open the drop-down menu next to the database you want to manage by clicking on the gear icon.
Open the drop-down menu next to the database that changes will be made on by clicking on the gear
icon.
Several actions are available:
@@ -35,22 +37,22 @@ Several actions are available:
Upgrade
=======
If you are *not* on the latest **Online version**, you should receive an invitation to :doc:`upgrade
<../upgrade>` your database. A **Rolling Release button** on your database's main screen proposes an
upgrade to the latest version (e.g., 13.0 to 15.1).
If the database is *not* on the latest **Online version**, the administrator should receive an
invitation to :doc:`upgrade <../upgrade>` the database. A :guilabel:`Rolling Release`` button on the
database's main screen proposes an upgrade to the latest version (e.g., 14.0 to 16.1).
.. important::
- | **If your Odoo database's version is lower than the latest major release:**
| You must upgrade your database within two months. After these two months, an automatic
- | **If the Odoo database's version is lower than the latest major release:**
| The database must be upgraded within two months. After these two months, an automatic
upgrade is initiated.
- | **If your Odoo database's version is equal to or higher than the latest major release:**
| You can disregard the invitation to upgrade as you probably wouldn't benefit from new
- | **If the Odoo database's version is equal to or higher than the latest major release:**
| Disregard the invitation to upgrade as the database probably wouldn't benefit from new
features every two months.
.. note::
Versions that are not supported anymore become deprecated and need to be updated to avoid
security issues. We recommend you initiate the upgrade of the database yourself, as this method
allows you to request a test upgrade of your database to check for any discrepancies.
security issues. Odoo recommends that the company initiate the upgrade, as this method allows for
the company to request a test upgrade of the database to check for any discrepancies.
.. seealso::
- :doc:`../upgrade`
@@ -61,12 +63,12 @@ upgrade to the latest version (e.g., 13.0 to 15.1).
Duplicate
=========
Make an exact copy of the database to be able to perform testing without compromising the daily
operations.
This allows to make an exact copy of the database to be able to perform testing without compromising
the daily operations.
.. important::
- By checking *For testing purposes*, all external communication (emails, payments, delivery
orders, etc.) are disabled by default on the duplicated database.
- By checking :guilabel:`For testing purposes`, all external communication (emails, payments,
delivery orders, etc.) are disabled by default on the duplicated database.
- Duplicate databases expire automatically after 15 days.
.. _odoo_online/rename:
@@ -81,7 +83,7 @@ Rename the database and its URL.
Download
========
Download instantly a ZIP file with a backup of the database.
Instantly download a ZIP file with a backup of the database.
.. note::
Databases are backed up daily according to the `Odoo Cloud SLA
@@ -115,8 +117,8 @@ Delete a database instantly.
Deleting a database means that all data is permanently lost. The deletion is instant and for all
users. It is recommended to create a backup of the database before deleting it.
Read carefully the warning message that pops up and proceed only if you fully understand the
implications of deleting a database:
Carefully read the warning message that pops up and proceed only if the implications of deleting a
database are fully understood:
.. image:: odoo_online/delete.png
:align: center
@@ -127,7 +129,6 @@ implications of deleting a database:
- The database name is immediately available for a new database.
- It is not possible to delete a database if it is expired or linked to a subscription. If
needed, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
- To delete your account, please get in touch with `Odoo Support <https://www.odoo.com/help>`_.
.. _odoo_online/contact-support:
@@ -142,14 +143,15 @@ pre-filled.
Invite / Remove Users
=====================
To invite users, fill out the email address of the new user and click on *Invite*. To add multiple
users, click on *Add more users*.
To invite users, fill out the email address of the new user and click on :guilabel:`Invite`. To add
multiple users, click on :guilabel:`Add more users`.
.. image:: odoo_online/invite-users.png
:align: center
:alt: Clicking on "Add more users" adds additional email fields.
To remove users, select the users to remove and click on *Remove*.
To remove users, select the users to remove and click on :guilabel:`Remove`.
.. seealso::
- :doc:`/applications/general/users/manage_users`
- :doc:`/applications/general/users/delete_account`

View File

@@ -26,9 +26,13 @@ This matrix shows the support status of every version.
+-----------------+-------------+----------+-------------+----------------+------------------------+
| | Odoo Online | Odoo.sh | On-Premise | Release date | End of support |
+=================+=============+==========+=============+================+========================+
| Odoo saas~16.2 | |green| | N/A | N/A | March 2023 | June 2023 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~16.1 | |green| | N/A | N/A | February 2023 | April 2023 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | January 2023 |
| Odoo saas~15.2 | |red| | N/A | N/A | March 2022 | January 2023 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | July 2022 |
+-----------------+-------------+----------+-------------+----------------+------------------------+

View File

@@ -18,6 +18,7 @@ Discover our user guides and configuration tutorials per application.
applications/sales
applications/websites
applications/inventory_and_mrp
applications/hr
applications/marketing
applications/services
applications/productivity

View File

@@ -8,6 +8,7 @@ Bank and cash
:titlesonly:
bank/setup
bank/feeds
bank/misc
bank/bank_synchronization
bank/transactions
bank/reconciliation
bank/interbank

View File

@@ -1,6 +1,8 @@
======================================
Bank synchronization: automatic import
======================================
:show-content:
====================
Bank synchronization
====================
Odoo can synchronize directly with your bank institution to get all bank statements imported
automatically into your database.
@@ -15,9 +17,12 @@ To connect to the banks, Odoo uses multiple web-services:
- **Plaid**: United States of America and Canada
- **Yodlee**: Worldwide
- **Salt Edge**: Europe (:doc:`more information <saltedge>`)
- **Ponto**: Europe (:doc:`more information <ponto>`)
- **EnableBanking**: Scandinavian countries
- :doc:`Salt Edge <bank_synchronization/saltedge>`: Europe
- :doc:`Ponto <bank_synchronization/ponto>`: Europe
- :doc:`Enable Banking <bank_synchronization/enablebanking>`: Scandinavian countries
.. seealso::
:doc:`transactions`
Configuration
=============
@@ -196,7 +201,9 @@ You can update your credentials by going to :menuselection:`Accounting Dashboard
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
credentials and click on the :guilabel:`Update Credentials` button.
.. seealso::
* :doc:`bank_statements`
* :doc:`ponto`
* :doc:`saltedge`
.. toctree::
:titlesonly:
bank_synchronization/saltedge
bank_synchronization/ponto
bank_synchronization/enablebanking

View File

@@ -0,0 +1,36 @@
==============
Enable Banking
==============
**Enable Banking** is a third-party provider aggregating banking information from bank accounts all
in one place. It offers non-intrusive connectivity to ASPSPs' official APIs across Europe without
storing data.
.. image:: enablebanking/enablebanking.png
:align: center
:alt: Enable Banking logo
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
import them into your database.
.. seealso::
- :doc:`../bank_synchronization`
- `Enable Banking website <https://enablebanking.com/>`_
Configuration
=============
Link bank accounts with Odoo
----------------------------
#. Start synchronization by clicking on :menuselection:`Accounting --> Configuration -->
Add a Bank Account`;
#. Select your bank;
#. Make sure you give your consent to share your account information with Odoo by clicking
:guilabel:`Continue authentication`;
.. image:: enablebanking/enablebankingauth.png
:align: center
:alt: Enable Banking authentication page
#. Finally, you are redirected to your bank's login page.

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View File

@@ -1,6 +1,6 @@
======================================
Ponto as bank synchronization provider
======================================
=====
Ponto
=====
**Ponto** is a service that allows companies and professionals to aggregate their accounts in one
place and directly see all their transactions within one app. It is a third-party solution that is
@@ -16,9 +16,9 @@ into your database.
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
.. note::
You can find more information about bank synchronization :doc:`on this page
<bank_synchronization>`.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../transactions`
Configuration
=============
@@ -115,10 +115,3 @@ and we advise you to contact Ponto directly.
.. important::
Using an institution in beta is beneficial for Ponto, it allows them to have real
feedback on the connection with the institution.
.. seealso::
* :doc:`bank_synchronization`
* :doc:`saltedge`
* :doc:`bank_statements`

View File

@@ -1,6 +1,6 @@
==========================================
Salt Edge as bank synchronization provider
==========================================
=========
Salt Edge
=========
**Salt Edge** is a third-party provider that aggregates banking information
from your bank accounts. It supports ~5000 institutions in more than 50
@@ -8,12 +8,15 @@ countries.
.. image:: saltedge/saltedge-logo.png
:align: center
:width: 50%
:alt: Salt Edge Logo
Odoo can synchronize directly with your bank to get all bank statements imported
automatically into your database.
Salt Edge is a free third-party provider.
.. seealso::
- :doc:`../bank_synchronization`
- :doc:`../transactions`
Configuration
=============
@@ -103,9 +106,3 @@ In case you already have a connection with the same credentials present on your
and this synchronization was created with Odoo, you will normally be able to find it by going to
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
*Update Credentials* to reactivate the connection.
.. seealso::
* :doc:`bank_synchronization`
* :doc:`ponto`
* :doc:`bank_statements`

View File

@@ -1,13 +0,0 @@
:nosearch:
==========
Bank feeds
==========
.. toctree::
:titlesonly:
feeds/bank_statements
feeds/bank_synchronization
feeds/ponto
feeds/saltedge

View File

@@ -1,62 +0,0 @@
===============
Bank statements
===============
Importing your bank statements allows you to keep track of your bank account transactions and
reconcile them with the ones recorded in Odoo.
We recommend using :doc:`the bank synchronization feature <bank_synchronization>` for more
efficiency. However, if you do not want to use it or if your bank is not yet supported, other
options exist:
- Import the bank statement files delivered by your bank;
- Register the bank statements manually.
Import bank statements files
============================
Odoo supports multiple file formats to import bank statements:
- SEPA recommended Cash Management format (CAMT.053);
- Comma-separated values (.CSV);
- Open Financial Exchange (.OFX);
- Quicken Interchange Format (.QIF);
- Belgium: Coded Statement of Account (.CODA).
To import a file, go to the Accounting dashboard and click on :guilabel:`Import (Statements)` under
the :guilabel:`Bank` window, or click on the drop-down menu (:guilabel:`⋮`) button and then on
:guilabel:`Import Statement`.
.. image:: bank_statements/bank-overview.png
:align: center
:alt: Import a bank statement file in Odoo Accounting
Next, select the file you want to import and click on :guilabel:`Upload`.
Once the file uploaded, the **import widget** helps you set formatting options and **map** the
different columns you want to import. You also can :guilabel:`test` the bank statement file before
importing it to your database.
.. image:: bank_statements/import-bank-statement.png
:align: center
:alt: Register bank statements manually in Odoo Accounting
Register bank statements manually
=================================
If needed, you can also record your bank statements manually. To do so, go to the
:guilabel:`Accounting dashboard` and click on the :guilabel:`Create Statements` under the
:guilabel:`Bank` window. Alternatively, you can click the drop-down menu (:guilabel:`⋮`) button, and
then :guilabel:`New Statement`.
To ease the reconciliation process, make sure to fill out the :guilabel:`Partner` field. You can
also type in the payments references in the :guilabel:`Label` field. Add a new line for each
transaction written on the original bank statement.
.. image:: bank_statements/bank-statements-03.png
:align: center
:alt: Register bank statements manually in Odoo Accounting
.. note::
The **Ending Balance** and the **Computed Balance** should have the same amount. If this is not
the case, make sure there are no mistakes in the transactions amounts.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -15,8 +15,8 @@ Settings` and then under the :guilabel:`Default Accounts` section.
.. note::
At least two bank accounts are needed to make internal transfers. Refer to
:doc:`Bank and cash accounts section <../setup/bank_accounts>` to see how to add an additional
bank account to your database.
:doc:`Bank and cash accounts section <setup/bank_accounts>` to see how to add an additional bank
account to your database.
Register an internal transfer from one bank to another
======================================================
@@ -91,8 +91,8 @@ Manage and reconcile bank statements
------------------------------------
The next step is to book the bank statements to finalize the transaction by creating,
:doc:`importing <../feeds/bank_statements>`, or :doc:`synchronizing <../feeds/bank_synchronization>`
your :guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and click on the
:doc:`importing <transactions>`, or :doc:`synchronizing <bank_synchronization>` your
:guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and click on the
:guilabel:`Reconcile` button.
.. image:: interbank/transactions-line.png
@@ -100,7 +100,7 @@ your :guilabel:`Transactions lines`. Fill in the :guilabel:`Ending balance` and
:alt: Transaction lines to be filled in prior to reconciliation
.. seealso::
- :doc:`../reconciliation/use_cases`
:doc:`reconciliation/use_cases`
In the next window, choose counterparts for the payment - in this example, the outstanding payment
account - then click :guilabel:`Validate`.

View File

@@ -1,10 +0,0 @@
:nosearch:
=============
Miscellaneous
=============
.. toctree::
:titlesonly:
misc/interbank

View File

@@ -125,5 +125,5 @@ line*.
.. seealso::
- :doc:`use_cases`
- :doc:`../feeds/bank_synchronization`
- :doc:`../bank_synchronization`
- :doc:`../../receivables/customer_invoices/cash_discounts`

View File

@@ -102,4 +102,4 @@ right and validate all related payments :
:align: center
.. seealso::
* :doc:`../feeds/bank_synchronization`
:doc:`../bank_synchronization`

View File

@@ -4,7 +4,7 @@ Bank and cash accounts
You can manage as many bank or cash accounts as needed on your database. Configuring them well
allows you to have all your banking data up-to-date and ready for :doc:`reconciliation
<../../bank/reconciliation/use_cases>` with your journal entries.
<../reconciliation/use_cases>` with your journal entries.
In Odoo Accounting, each bank account has a dedicated journal set to post all entries in a dedicated
account. Both the journal and the account are automatically created and configured whenever you add
@@ -33,7 +33,7 @@ To connect your bank account to your database, go to :menuselection:`Accounting
follow the instructions.
.. seealso::
:doc:`../../bank/feeds/bank_synchronization`
:doc:`../bank_synchronization`
Create a bank account
---------------------
@@ -83,7 +83,7 @@ You can edit the accounting information and bank account number according to you
.. seealso::
- :doc:`../../others/multi_currency`
- :doc:`../../bank/feeds/bank_statements`
- :doc:`../transactions`
- :doc:`../../bank/setup/outstanding_accounts`
Suspense account
@@ -132,5 +132,5 @@ Bank feeds
with your database.
.. seealso::
- :doc:`../../bank/feeds/bank_synchronization`
- :doc:`../../bank/feeds/bank_statements`
- :doc:`../bank_synchronization`
- :doc:`../transactions`

View File

@@ -0,0 +1,46 @@
============
Transactions
============
Importing transactions from your bank statements allows keeping track of bank account transactions
and reconciling them with the ones recorded in your accounting.
:doc:`Bank synchronization <bank_synchronization>` automates the process. However, if you do not
want to use it or if your bank is not yet supported, other options exist:
- :ref:`Import bank transactions <import-statements>` delivered by your bank;
- :ref:`Register bank transactions <register-transactions>` manually.
.. _import-statements:
Import transactions
===================
Odoo supports multiple file formats to import transactions:
- SEPA recommended Cash Management format (CAMT.053);
- Comma-separated values (.CSV);
- Open Financial Exchange (.OFX);
- Quicken Interchange Format (.QIF);
- Belgium: Coded Statement of Account (.CODA).
To import a file, go to the :guilabel:`Accounting Dashboard`, and in the :guilabel:`Bank` journal,
click on :guilabel:`Import Transactions`.
.. image:: transactions/import-transactions.png
:align: center
:alt: Import bank transactions from bank journal
Next, select the file and upload it.
After setting the necessary formatting options and mapping the needed columns, you can run a
:guilabel:`Test` and :guilabel:`Import` your bank transactions.
.. _register-transactions:
Register bank transactions manually
===================================
You can also record your bank transactions manually. To do so, go to :guilabel:`Accounting
Dashboard`, click on the :guilabel:`Bank` journal, and then on :guilabel:`New`. Make sure to fill
out the :guilabel:`Partner` and :guilabel:`Label` fields to ease the reconciliation process.

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@@ -55,7 +55,7 @@ Connect your bank account to your database and have your bank statements synced
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
.. note::
:doc:`Click here <../../bank/feeds/bank_synchronization>` for more information about this feature.
:doc:`Click here <../../bank/bank_synchronization>` for more information about this feature.
If your Bank Institution cant be synchronized automatically, or if you prefer not to sync it with
your database, you may also configure your bank account manually by clicking on *Create it*, and
@@ -188,6 +188,6 @@ Send yourself a sample invoice by email to make sure everything is correctly con
.. seealso::
* :doc:`../../bank/setup/bank_accounts`
* :doc:`chart_of_accounts`
* :doc:`../../bank/feeds/bank_synchronization`
* :doc:`../../bank/bank_synchronization`
* :doc:`../../../fiscal_localizations`
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_

View File

@@ -10,3 +10,4 @@ Vendor payments
pay/sepa
pay/check
pay/multiple
pay/trusted_accounts

View File

@@ -0,0 +1,61 @@
=============================
Trusted accounts (send money)
=============================
To protect users from sending money to scammers, vendor bank account numbers must be marked as
trusted before you can use them to make an outgoing payment.
To do so, open the vendor bank account and click on the :guilabel:`Send Money` toggle switch button.
.. image:: trusted_accounts/send-money-toggle.png
:align: center
:alt: Example of a vendor bank account with the "Send Money" toggle button switched to "trusted."
.. note::
All accounts are initially marked as untrusted.
Phishing attacks
================
A **phishing attack** is an online scam designed to trick individuals or companies into giving away
sensitive information or money by sending out fraudulent communication. Fraudsters pretend to be
legitimate companies and may use partial information to give credibility to their requests.
There are several types of phishing attacks, including **invoice fraud**. In this case, the
fraudster pretends to be a genuine supplier following up on unpaid bills or sending a new invoice,
but with different payment information than usual and with fake contact details.
To protect yourself from these types of phishing attacks, remain vigilant when you receive
unexpected invoices or payment requests.
.. important::
In case of doubt, **we recommend contacting the vendor by phone**. Make sure to call an official
phone number by searching yourself, as the URLs, email addresses, and phone numbers written in
the communication you received may be fake.
Elements to check
-----------------
There are several elements you can check by yourself when you receive an outgoing payment request to
a new account:
Communication style
Fraudulent emails and invoices often use a different communication style, such as **different
wording**, and may include **spelling and grammatical mistakes**. Examine and **compare** them
with previous ones that you know to be authentic (e.g., payment instructions, language, company
logo, etc.).*
Urgency
Invoice frauds often use **urgent or threatening language** and change the **payment deadline**.
Check if you really received a late payment reminder previously.
Type of account
A company is unlikely to replace a bank account with a **money transfer service**.
Email and links domain names
Double-check the **email address domain** (`example@domain.com`). However, be wary that fraudsters
can make their email addresses look genuine or even hack email addresses from your vendor's
employees or even someone within your own organization.
Hover over the links in your email and check that the URLs they redirect to are genuine. Your
internet browser usually displays the link's target at the bottom left of the window.

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.8 KiB

View File

@@ -13,7 +13,7 @@ your company, or your company has an outstanding debit with a vendor. You can us
amounts to reduce unpaid invoices/bills.
.. seealso::
- :doc:`Internal transfers <../../bank/misc/interbank>`
- :doc:`Internal transfers <../../bank/interbank>`
- :doc:`../../bank/reconciliation/use_cases`
- `Odoo Tutorials: Bank Configuration
<https://www.odoo.com/slides/slide/bank-configuration-1880>`_

View File

@@ -26,6 +26,8 @@ They can be applied in various ways:
Configuration
=============
.. _fiscal_positions/mapping:
Tax and Account Mapping
-----------------------

View File

@@ -73,7 +73,7 @@ Online payment providers
* - :doc:`Adyen <payment_providers/adyen>`
- Odoo
- |V|
- Full only
- Full and partial
- Full and partial
-
-
@@ -236,6 +236,10 @@ To capture the payment after it was authorized, go to the related sales order or
on the :guilabel:`CAPTURE TRANSACTION` button. To release the funds, click on the :guilabel:`VOID
TRANSACTION` button.
If your provider supports partial capture, you can select to capture only a **partial amount** of
the full amount. The **remaining (uncaptured) amount** can either be voided or partially captured
again later.
.. note::
- Some payment providers support capturing only part of the authorized amount. The remaining
amount can then be either captured or voided. These providers have the value **Full and
@@ -344,7 +348,7 @@ Configuration tab
~~~~~~~~~~~~~~~~~
You can change the payment provider's front-end appearance by modifying its name under the
**Displayed as** field and which credit card icons to display under the **Supported Payment Icons**
**Displayed as** field, and the supported credit card icons displayed under the **Supported Payment Methods**
field.
.. _payment_providers/currencies:

View File

@@ -5,12 +5,22 @@ Adyen
`Adyen <https://www.adyen.com/>`_ is a Dutch company that offers several online payment
possibilities.
.. seealso::
- :ref:`payment_providers/add_new`
- :doc:`../payment_providers`
.. note::
Adyen works only with customers processing **more** than **10 million annually** or invoicing a
**minimum** of **1.000** transactions **per month**.
Configuration
=============
.. seealso::
:ref:`payment_providers/add_new`
First, reach Adyen support to enable :guilabel:`multiple partial capture` for you.
Credentials tab
---------------
@@ -127,12 +137,10 @@ Then, open your Adyen Merchant Account, go to :menuselection:`Account --> Settin
- 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.
- After **7 days**, if the transaction has not been captured yet, the customer has the right to
**revoke** it.
.. seealso::
:doc:`../payment_providers`

View File

@@ -10,9 +10,16 @@ covering several Asian countries and payment methods.
Configuration on AsiaPay Dashboard
==================================
#. Log into `AsiaPay Dashboard <https://www.paydollar.com/b2c2/eng/merchant/index.jsp>`_ and go to
:menuselection:`Profile --> Account Information`. Copy the values of the :guilabel:`Currency` and
:guilabel:`Secure Hash` fields and save them for later.
#. Log into AsiaPay Dashboard according to the account provided by AsiaPay.
- `PayDollar <https://www.paydollar.com/b2c2/eng/merchant/index.jsp>`_: For markets in HK,
CN, MO, TW, SG, MY, IN, VN, NZ and AU
- `PesoPay <https://www.pesopay.com/b2c2/eng/merchant/index.jsp>`_: For market in PH
- `SiamPay <https://www.siampay.com/b2c2/eng/merchant/index.jsp>`_: For market in TH
- `BimoPay <https://www.bimopay.com/b2c2/eng/merchant/index.jsp>`_: For market in ID
#. Go to :menuselection:`Profile --> Account Information`. Copy the values of the
:guilabel:`Currency` and :guilabel:`Secure Hash` fields and save them for later.
#. | Go to :menuselection:`Profile --> Payment Account Settings` and enable the option
:guilabel:`Return Value Link (Datefeed)`;
| Enter your Odoo database URL followed by `/payment/asiapay/webhook` in the
@@ -28,9 +35,10 @@ Configuration on Odoo
#. :ref:`Navigate to the payment provider AsiaPay <payment_providers/add_new>` and change its state
to :guilabel:`Enabled`.
#. | In the :guilabel:`Credentials` tab, fill in the :guilabel:`Merchant ID` and
:guilabel:`Secure Hash Secret`, and the :guilabel:`Currency` in the :guilabel:`Configuration`
tab with the values you saved at the step :ref:`payment_providers/asiapay/configure_dashboard`;
#. | In the :guilabel:`Credentials` tab, choose the :guilabel:`Brand` of your Asiapay account. Then
fill in the :guilabel:`Merchant ID` and :guilabel:`Secure Hash Secret`, and the
:guilabel:`Currency` in the :guilabel:`Configuration` tab with the values you saved at the
step :ref:`payment_providers/asiapay/configure_dashboard`;
| By default, the payment provider AsiaPay is configured to verify the secret hash with the hash
function `SHA1`. If a different function is :ref:`set on your account
<payment_providers/asiapay/configure_dashboard>`, activate the :ref:`developer mode

View File

@@ -19,19 +19,13 @@ Credentials tab
Odoo needs your **API Credentials** to connect with your PayPal account, which comprise:
- **Email**: your login email address in Paypal.
- **Merchant Account ID**: the code of the merchant account used to identify your Paypal account.
- **PDT Identity Token**: the key used to verify the authenticity of transactions.
- **Use IPN**: whether you want to use Instant Payment Notification. Already checked, you don't have
to change it.
You can copy your credentials from your Paypal account and paste them into the related fields under
the **Credentials** tab.
To retrieve the **Merchant Account ID**, log into your Paypal account and go to
:menuselection:`Account menu --> Account Settings --> Business information`.
To set the **PDT Identity Token**, switch to :ref:`developer mode <developer-mode>` and retrieve the
token by following the configuration step :ref:`paypal/enable-pdt`.
To set the **PDT Identity Token**, retrieve the token by following the configuration
step :ref:`paypal/enable-pdt`.
.. important::
If you are trying Paypal as a test, using a :ref:`Paypal Sandbox account <paypal/testing>`,

View File

@@ -156,9 +156,9 @@ Odoo supports the following local payment methods:
- iDEAL
- Przelewy24 (P24)
To enable some of these local payment methods with Stripe, list them as supported payment icons. To
do so, go to :menuselection:`Payment Providers --> Stripe --> Configuration` and add the desired
payment methods in the **Supported Payment Icons** field. If the desired payment method is already
To enable some of these local payment methods with Stripe, go to
:menuselection:`Payment Providers --> Stripe --> Configuration` and add the desired
payment methods in the **Supported Payment Methods** field. If the desired payment method is already
listed, you don't have anything to do.
.. image:: stripe/stripe_enable_local_payment_method.png
@@ -166,7 +166,7 @@ listed, you don't have anything to do.
:alt: Select and add icons of the payment methods you want to enable
.. note::
- If a payment icon record does not exist in the database and its related local payment method is
- If a payment method record does not exist in the database and its related local payment method is
listed above, it is considered enabled with Stripe.
- If a local payment method is not listed above, it is not supported and cannot be enabled.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -1,6 +1,10 @@
=====
OAuth
=====
======================================
Microsoft Azure sign-in authentication
======================================
Due to specific requirements in Azure's OAuth implementation,
Microsoft Azure OAuth identification is NOT compatible with Odoo at the moment.
Due to specific requirements in Azure's OAuth implementation, Microsoft Azure OAuth identification
is NOT compatible with Odoo at the moment.
.. seealso::
- :doc:`/applications/general/calendars/outlook/outlook_calendar`
- :doc:`/administration/maintain/azure_oauth`

View File

@@ -8,6 +8,10 @@ with their Google account.
This is particularly helpful if your organization uses Google Workforce and you want the employees
within your organization to connect to Odoo with their Google Accounts.
.. seealso::
- :doc:`/applications/general/calendars/google/google_calendar_credentials`
- :doc:`/administration/maintain/google_oauth`
.. _google-sign-in/configuration:
Configuration
@@ -42,7 +46,7 @@ OAuth consent screen
:align: center
:alt: Google oauth consent selection menu
#. Choose one of the options **(Internal / External)** as instructed, and click on *Create*.
#. Choose the option for :guilabel:`internal`, and click on :guilabel:`Create`.
.. image:: google/consent.png
:align: center

View File

@@ -5,6 +5,10 @@ Synchronize Google Calendar with Odoo
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.
.. seealso::
- :doc:`/applications/general/auth/google`
- :doc:`/administration/maintain/google_oauth`
Setup in Google
===============

View File

@@ -5,6 +5,10 @@ Synchronize Outlook Calendar with Odoo
Synchronizing a user's Outlook Calendar with Odoo is useful for keeping track of their tasks and
appointments across all related applications.
.. seealso::
- :doc:`/applications/general/auth/azure`
- :doc:`/administration/maintain/azure_oauth`
Register the application with Microsoft Azure
=============================================

View File

@@ -1,37 +1,36 @@
=======================
Send an email with Odoo
=======================
============================================
Configure DNS records to send emails in Odoo
============================================
Use an email domain in Odoo
===========================
SPAM labels overview
====================
Documents in Odoo (such as a CRM opportunity, a sales order, an invoice, etc.) have a discussion
thread, called *chatter*.
Sometimes, emails from Odoo are misclassified by the different email providers and end up in spam
folders. At the moment, some settings are out of Odoo's control, notably the way the different email
providers classify Odoo's emails according to their own restriction policy and/or limitations.
When a database user posts a message in the chatter, this message is sent by email to the followers
of the document. If a follower replies to the message, the reply updates the chatter, and Odoo
relays the reply to the followers as a notification.
It is standard in Odoo that emails are received from ``"name of the author"
<notifications@mycompany.odoo.com>``. In other words this can be translated to: ``"name of the
author" <{ICP.mail.from.filter}@{mail.catchall.domain}>``. In this case ICP stands for
`ir.config.parameters`, which are the System Parameters. Deliverability is greatly improved with the
:ref:`notifications configuration <email_servers/notifications>`.
Messages sent in the chatter from internal database users to external users (such as partners,
customers, or vendors) are relayed on behalf of the database users. Messages sent back to the
chatter from external users will appear in the chatter from their respective email addresses, or as
they are listed in their Contacts record.
In order for servers to accept emails from Odoo on a more regular basis, one of the solutions is
for customers to create rules within their own mailbox. A filter can be added to the email inbox so
that when email is received from Odoo (`notifications@mycompany.odoo.com`) it is moved to the
inbox. It is also possible to add the Odoo database domain onto a safe senders list or whitelist
on the receiving domain.
If the Odoo database is hosted on the cloud (Odoo Online or Odoo.sh), it is not necessary to add an
outgoing email server to send emails from a custom domain.
If an Odoo email server appears on a blacklist, notify Odoo via a `new help ticket
<https://www.odoo.com/help>`_ and the support team will work to get the servers removed from the
blacklist.
.. important::
The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200
emails sent per day for databases with an **Enterprise** subscription. This limit can be
increased under certain conditions. See the :doc:`FAQ <faq>` or contact support for more
information.
To ensure that emails sent to and from the chatter reach their intended contacts, instead of being
considered spam, Odoo recommends configuring the domain name.
For the same reason, Odoo also recommends giving each database user an email address from the
configured domain, rather than a generic email address domain (such as gmail.com, outlook.com,
etc.).
Should the Odoo database be using a custom domain for sending emails from Odoo there are three
records that should be implemented on the custom domain's DNS to ensure deliverability of email.
This includes setting records for :abbr:`SPF (Sender Policy Framework)`,
:abbr:`DKIM (DomainKeys Identified Mail)` and
:abbr:`DMARC (Domain-based Message Authentication, Reporting, & Conformance)`. Ultimately though,
it is up to the discretion of the final receiving mailbox.
.. _email_communication/spf_compliant:
@@ -40,27 +39,23 @@ Be SPF compliant
The Sender Policy Framework (SPF) protocol allows the owner of a domain name to specify which
servers are allowed to send emails from that domain. When a server receives an incoming email,
it checks if the IP address of the sending server is on the list of allowed IPs according to the
sender's :abbr:`SPF (Sender Policy Framework)` record.
it checks whether the IP address of the sending server is on the list of allowed IPs according to
the sender's :abbr:`SPF (Sender Policy Framework)` record.
.. note::
The :abbr:`SPF (Sender Policy Framework)` verification is performed on the domain mentioned in
the `Return-Path` field of the email. In the case of an email sent by Odoo, this domain
corresponds to the value of the `mail.catchall.domain` key in the database system parameters.
See the :ref:`documentation on incoming emails <email_communication/inbound_messages>`.
The :abbr:`SPF (Sender Policy Framework)` policy of a domain is set using a TXT record. The way to
create or modify a TXT record depends on the provider hosting the :abbr:`DNS (Domain Name System)`
zone of the domain name. In order for the verification to work properly, each domain can only have
one :abbr:`SPF (Sender Policy Framework)` record.
If the domain name does not yet have an :abbr:`SPF (Sender Policy Framework)` record, the content
of the record to create it is as follows:
If the domain name does not yet have a :abbr:`SPF (Sender Policy Framework)` record, create one
using the following input: `v=spf1 include:_spf.odoo.com ~all`
`v=spf1 include:_spf.odoo.com ~all`
If the domain name already has an :abbr:`SPF (Sender Policy Framework)` record, the record must be
If the domain name already has a :abbr:`SPF (Sender Policy Framework)` record, the record must be
updated (and do not create a new one).
.. example::
@@ -111,6 +106,11 @@ Conformance)` record of a domain name tell the destination server what to do wit
that fails the :abbr:`SPF (Sender Policy Framework)` and/or :abbr:`DKIM (DomainKeys Identified
Mail)` check.
.. example::
DMARC: TXT record
`v=DMARC1; p=none;`
There are three :abbr:`DMARC (Domain-based Message Authentication, Reporting, & Conformance)`
policies:
@@ -118,15 +118,15 @@ policies:
- `p=quarantine`
- `p=reject`
`p=quarantine` and `p=reject` instruct the server that receives an email to quarantine that email
or ignore it if the :abbr:`SPF (Sender Policy Framework)` and/or :abbr:`DKIM (DomainKeys Identified
`p=quarantine` and `p=reject` instruct the server that receives an email to quarantine that email or
ignore it if the :abbr:`SPF (Sender Policy Framework)` and/or :abbr:`DKIM (DomainKeys Identified
Mail)` check fails.
If the domain name uses :abbr:`DMARC (Domain-based Message Authentication, Reporting, &
Conformance)` and has defined one of these policies, the domain must be :abbr:`SPF (Sender Policy
Framework)` compliant or enable :abbr:`DKIM (DomainKeys Identified Mail)`.
.. danger::
.. warning::
Yahoo or AOL are examples of email providers with a :abbr:`DMARC (Domain-based Message
Authentication, Reporting, & Conformance)` policy set to `p=reject`. Odoo strongly advises
against using an *@yahoo.com* or *@aol.com* address for the database users. These emails will
@@ -136,16 +136,55 @@ Framework)` compliant or enable :abbr:`DKIM (DomainKeys Identified Mail)`.
should not impact the deliverability if the :abbr:`DMARC (Domain-based Message Authentication,
Reporting, & Conformance)` check fails.
:abbr:`DMARC (Domain-based Message Authentication, Reporting, & Conformance)` records are comprised
of tags in the form of :abbr:`DNS (Domain Name System)` records. These tags/parameters allow for
reporting, such as :abbr:`RUA (Reporting URI of aggregate reports)` and :abbr:`RUF (Reporting URI
for forensic reports)`, along with more precise specification like :abbr:`PCT (Percentage of
messages subjected to filtering)`, :abbr:`P (Policy for organizational domain)`, :abbr:`SP (Policy
for subdomains of the OD)` :abbr:`ADKIM (Alignment mode for DKIM)` & :abbr:`ASPF (Alignment mode for
SPF)`. For best practice, the the :abbr:`DMARC (Domain-based Message Authentication, Reporting, &
Conformance)` policy should not start out being too restrictive.
The following chart displays available tags:
.. list-table::
:header-rows: 1
:widths: 15 50 35
* - Tag Name
- Purpose
- Example
* - v
- Protocol version
- `v=DMARC1`
* - pct
- Percentage of messages subjected to filtering
- `pct=20`
* - ruf
- Reporting URI for forensic reports
- `ruf=mailto:authfail@example.com`
* - rua
- Reporting URI of aggregate reports
- `rua=mailto:aggrep@example.com`
* - p
- Policy for organizational domain
- `p=quarantine`
* - sp
- Policy for subdomains of the OD
- `sp=reject`
* - adkim
- Alignment mode for DKIM
- `adkim=s`
* - aspf
- Alignment mode for SPF
- `aspf=r`
Check the :abbr:`DMARC (Domain-based Message Authentication, Reporting, & Conformance)` record of a
domain name with a tool like `MXToolbox DMARC <https://mxtoolbox.com/DMARC.aspx>`_.
If a partner, customer, or vendor, uses :abbr:`DMARC (Domain-based Message Authentication,
Reporting, & Conformance)` and has defined one of these policies, the Odoo server cannot relay
emails from this partner to the database users.
To solve this issue, :ref:`handle user notifications in Odoo
<discuss_app/notification_preferences>`, or replace the email address of the partner with a default
email address.
.. seealso::
`DMARC.org is another great resource to learn about DMARC records.
<https://dmarc.org/overview/>`_
.. _email_communication/SPFDKIM_common_providers:
@@ -165,30 +204,7 @@ SPF, DKIM & DMARC documentation of common providers
To fully test the configuration, use the `Mail-Tester <https://www.mail-tester.com/>`_ tool, which
gives a full overview of the content and configuration in one sent email. Mail-Tester can also be
used for other, lesser-known providers.
used to configure records for other, lesser-known providers.
.. _email_communication/default:
Use a default email address
===========================
Access the :guilabel:`System Parameters` by activating :ref:`developer mode <developer-mode>` and
going to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu.
To force the email address from which emails are sent, a combination of the following keys needs to
be set in the system parameters of the database:
- `mail.default.from`: accepts the local part or a complete email address as value
- `mail.default.from_filter`: accepts a domain name or a full email address as value
.. note::
The `mail.default.from_filter` works only for `odoo-bin` configurations, otherwise this
parameter can be set using the `from_filter` field on `ir.mail_server`.
If the email address of the author does not match `mail.default.from_filter`, the email address is
replaced by `mail.default.from` (if it contains a full email address) or a combination of
`mail.default.from` and `mail.catchall.domain`.
If the `from_filter` contains a full email address, and if the `mail.default.from` is the same as
this address, then all of the email addresses that are different from `mail.default.from` will be
encapsulated in `mail.default.from`.
.. seealso::
`Using Mail-Tester to set SPF Records for specific carriers <https://www.mail-tester.com/spf/>`_

View File

@@ -6,87 +6,81 @@ Odoo Online or Odoo.sh users
============================
Since **Odoo sets up its own mail servers for the database**, outgoing and incoming emails already
work out-of-the-box. So for **Odoo Online** and **Odoo.sh** customers, nothing needs to be done!
work out-of-the-box. So for **Odoo Online** and **Odoo.sh** customers, nothing needs to be
configured!
Unless an external mail server is required to send large batches of mass mailing, simply use the
standard online Odoo database normally since it has already been preconfigured for email.
Unless an external mail server is required to send large batches of mass emails, simply use the
standard online Odoo database normally since it has already been pre-configured to send email.
.. important::
The Odoo server is subject to a daily email limit to prevent abuse. The default limit is 200
emails sent per day for databases with an **Enterprise** subscription. This limit can be
increased under certain conditions. See the :doc:`FAQ <faq>` or contact support for more
information.
Scope of this documentation
===========================
This document is **mainly dedicated to Odoo on-premise users** who don't benefit from an
This document is **mainly dedicated to Odoo on-premise databases** who don't benefit from an
out-of-the-box solution to send and receive emails in Odoo, unlike `Odoo Online <https://www.odoo.
com/trial>`_ and `Odoo.sh <https://www.odoo.sh>`_.
com/trial>`_ and `Odoo.sh <https://www.odoo.sh>`_. Incoming and outgoing servers must be configured
for on-premise databases.
The following sections below contain information on how to integrate an external email server with
Odoo.
.. warning::
If no one in the company is used to managing email servers, Odoo Online and Odoo.sh are strongly
recommended. Those Odoo hosting types' email systems work instantly and are monitored by
professionals. Nevertheless, a company can use their own email server if they want to manage the
email server's reputation themselves.
If no one in the company is employed to manage email servers, Odoo Online and Odoo.sh are
strongly recommended. In these Odoo hosting types email sending and receiving works instantly
and is monitored by professionals. Nevertheless, a company can use their own email server if
they want to manage the email server's reputation themselves. For more information see
:doc:`Configure DNS records to send emails in Odoo <email_domain>`
.. note::
Office 365 email servers don't easily allow the sending of external emails from hosts like Odoo.
Refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-a-
multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
c805d654b4c4>`_ to make it work.
.. _email_servers/notifications:
Default notifications system
============================
Documents in Odoo (such as a CRM opportunity, a sales order, an invoice, etc.) have a discussion
thread, called *chatter*.
When a database user posts a message in the chatter, this message is sent by email to the followers
of the document as a notification (except to the sender). If a follower replies to the message,
the reply updates the chatter, and Odoo relays another reply to the followers as a notification.
Messages sent back to the chatter from users or external users will appear in the chatter from
their respective email, or as the name listed in their *Contacts* record.
These notifications are sent using a default from address. For more information see
:ref:`Use a default email address <email_communication/default>`.
Manage outbound messages
========================
As a system admin, go to :menuselection:`Settings --> General Settings --> Discuss` in Odoo, and
enable the :guilabel:`External Email Servers` option. Then, click :guilabel:`Save`. Next, click
:guilabel:`Outgoing Email Servers` and click :guilabel:`Create` to create a new outgoing mail
server record in Odoo. Reference the SMTP data of the external email server. Once all the
information has been filled out, click :guilabel:`Test Connection`.
enable the :guilabel:`Custom Email Servers` option. Then, click :guilabel:`Save`. Next, click
:guilabel:`Outgoing Email Servers` and click :guilabel:`Create` to create a new outgoing mail server
record in Odoo. Reference the SMTP data of the external email server. Once all the information has
been filled out, click :guilabel:`Test Connection`.
Here is a typical configuration for a G Suite server.
.. image:: email_servers/outgoing-server.png
:align: center
:alt: The typical G Suite configuration on Odoo.
Then, go back to :menuselection:`Settings --> General Settings --> Discuss` and set the email
domain name in the :guilabel:`Alias Domain` name. Finally, click :guilabel:`Save` to finish setting
up the email server.
.. seealso::
- :doc:`/administration/maintain/google_oauth`
- :doc:`/administration/maintain/azure_oauth`
.. note::
If an `[AUTHENTICATION FAILED] Invalid credentials (Failure)` warning appears when
:guilabel:`Test Connection` is clicked for a Gmail address, activate the :guilabel:`Less secure
app access` option. A direct link can be `accessed here <https://myaccount.google.com/
lesssecureapps?pli=1>`_.
In addition to that, enable the :guilabel:`IMAP setting` on the Gmail account.
Use an Office 365 server
------------------------
An Office 365 server can be used if the database's hosting type is **Odoo on-premise**. Office 365
SMTP relays are not compatible with Odoo Online or Odoo.sh unless Odoo is configured to
:ref:`force the outgoing "From" address <email_communication/default_from>`.
Please refer to `Microsoft's documentation <https://support.office.com/en-us/article/How-to-set-up-
a-multifunction-device-or-application-to-send-email-using-Office-365-69f58e99-c550-4274-ad18-
c805d654b4c4>`_ to configure an SMTP relay for the Odoo database's IP address.
Use a G Suite server
--------------------
A G Suite server can be used for any Odoo hosting type. To do so, set up the SMTP relay service.
The configuration steps are explained in `Google documentation <https://support.google.com
/a/answer/2956491?hl=en>`__.
Ensuring the outgoing domain has :abbr:`SPF (Sender Policy Framework)`, :abbr:`DKIM (DomainKeys
Identified Mail)` and :abbr:`DMARC (Domain-based Message Authentication, Reporting, &
Conformance)` set up on the :abbr:`DNS (Domain Name System)` will improve deliverability. For
more information see :doc:`email_domain`.
.. _email_servers/restriction:
Restriction
-----------
Port restriction
----------------
Please note that port 25 is blocked for security reasons on Odoo Online and Odoo.sh platforms. Try
Note that port 25 is blocked for security reasons on the Odoo Online and Odoo.sh platforms. Try
using ports 465, 587, or 2525 instead.
.. _email_communication/default_from:
.. _email_communication/default:
Use a default "From" email address
----------------------------------
@@ -94,112 +88,56 @@ Use a default "From" email address
Sometimes, an email's "From" (outgoing) address can belong to a different domain, and that can be a
problem.
For example, if a customer with the email address *mary\@customer.example.com* responds to a
For example, if a customer with the email address `mary\@customer.example.com` responds to a
message, Odoo will try to redistribute that same email to the other subscribers in the thread.
However, if the domain *customer.example.com* forbids that kind of usage for security, the email
However, if the domain `customer.example.com` forbids that kind of usage for security, the email
that Odoo is trying to redistribute would get rejected by some recipients' email servers.
To avoid that problem, make sure all emails use a "From" address from the same authorized domain.
To avoid that problem, Odoo sends all emails using a "From" address from the same authorized
domain.
If the MTA supports `SRS (Sender Rewriting Scheme) <https://en.wikipedia.org/wiki/Sender_Rewriting
_Scheme>`_, SRS can be enabled to handle these situations. However, that is more complex and
requires more technical knowledge that is not meant to be covered by this documentation.
Access the :guilabel:`System Parameters` by activating :ref:`developer mode <developer-mode>` and
going to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` menu.
Instead, Odoo can be configured to do something similar by itself:
To force the email address from which emails are sent, a combination of the following keys needs to
be set in the system parameters of the database:
#. Set the :guilabel:`Alias Domain` name in the :menuselection:`Settings --> General Settings
--> Discuss`.
.. image:: email_servers/alias-domain.png
:alt: Setting the domain alias configuration on Odoo.
#. Turn on :doc:`developer mode </applications/general/developer_mode>`.
#. Go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters`.
#. Add one system parameter from the following list:
* To use the same "From" address for *all* outgoing messages, use the key `mail.force.smtp.from`
and set that address as value (such as `outgoing@mycompany.example.com`).
* To keep the original "From" address for emails that use the same domain, but change it for
emails that use a different domain, use the key `mail.dynamic.smtp.from` and set the value as
the email address that should be used in those cases (such as `outgoing@mycompany.example.com`
).
.. _email_communication/inbound_messages:
Manage inbound messages
=======================
Odoo relies on generic email aliases to fetch incoming messages.
* **Reply messages** of messages sent from Odoo are routed to their original discussion thread (and
to the inbox of all its followers) by the catchall alias (**catchall@**).
* **Bounced messages** are routed to **bounce@** in order to track them in Odoo. This is especially
used in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__ to opt-out invalid
recipients.
* **Original messages**: Several business objects have their own alias to create new records in
Odoo from incoming emails:
* Sales Channel (to create Leads or Opportunities in `Odoo CRM <https://www.odoo.com/page/
crm>`__),
* Support Channel (to create Tickets in `Odoo Helpdesk <https://www.odoo.com/page/helpdesk>`__),
* Projects (to create new Tasks in `Odoo Project <https://www.odoo.com/page
/project-management>`__),
* Job Positions (to create Applicants in `Odoo Recruitment <https://www.odoo.com/page
/recruitment>`__),
* etc.
Depending on the mail server, there might be several methods to fetch emails. The easiest and most
recommended method is to manage one email address per Odoo alias in the mail server.
* Create the corresponding email addresses in the mail server (catchall@, bounce@, sales@, etc.).
* Set the :guilabel:`Alias Domain` name in :menuselection:`Settings --> General Settings -->
Discuss`.
* If the database's hosting type is Odoo on-premise, create an :guilabel:`Incoming Mail Server` in
Odoo for each alias. This can be done from the General Settings as well. Fill out the form
according to the email provider's settings. Leave the :guilabel:`Actions to Perform on Incoming
Mails` field blank. Once all the information has been filled out, click on :guilabel:`TEST &
CONFIRM`.
.. image:: email_servers/incoming-server.png
:align: center
:alt: Incoming mail server configuration on Odoo.
* If the database's hosting type is Odoo Online or Odoo.sh, redirecting incoming messages to Odoo's
domain name instead of the external email server is recommended. That way, incoming messages can
be received without delay. Odoo Online only fetches incoming messages of external servers once
every hour. Redirections for all email addresses should be set to Odoo's domain name in the email
server (e.g. *catchall\@mydomain.ext* to *catchall\@mycompany.odoo.com*).
All the aliases are customizable in Odoo. Object aliases can be edited from their respective
configuration view.
.. tip::
To edit catchall and bounce aliases, first activate the :ref:`developer mode <developer-mode>`.
Then, go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` to
customize the aliases (*mail.catchall.alias* & *mail.bounce.alias*).
.. image:: email_servers/system-parameters.png
:align: center
:alt: System parameters with catchall configuration in Odoo.
By default, inbound messages are fetched every 5 minutes in Odoo on-premise.
- `mail.default.from`: accepts the local part or a complete email address as value
- `mail.default.from_filter`: accepts a domain name or a full email address as value
.. note::
This value can be changed in :ref:`developer mode <developer-mode>`. Go to
:menuselection:`Settings --> Technical --> Automation --> Scheduled Actions` and look for
:guilabel:`Mail: Fetchmail Service`.
The `mail.default.from_filter` works only for `odoo-bin` configurations or the default Odoo email
server, otherwise this parameter can be set using the `from_filter` field on `ir.mail_server`.
.. _email_servers/outgoing-email-server:
The field can be a domain name or an entire email address, or it can remain empty. If the sender's
email address does not match this set filter, then the email will be encapsulated using a
combination of the two system parameters: `mail.default.from` and `mail.catchall.domain`.
Utilizing the From Filter on an outgoing email server
=====================================================
.. example::
In the following example, the from email address is replaced with the combination of the the two
system parameters (`mail.default.from` and `mail.catchall.domain`). This is the default\
notifications configuration in Odoo: ``“Admin” <admin@example.com>`` => ``“Admin”
<notifications@mycompany.com>``.
In other words if the email address of the author does not match `mail.default.from_filter`, the
email address is replaced by `mail.default.from` (if it contains a full email address) or a
combination of `mail.default.from` and `mail.catchall.domain`.
If the `from_filter` contains a full email address, and if the `mail.default.from` is the same as
this address, then all of the email addresses that are different from `mail.default.from` will be
encapsulated in `mail.default.from`.
.. _email_communication/from_filter:
Utilizing the "From" filter on an outgoing email server
-------------------------------------------------------
The :guilabel:`FROM Filtering` field allows for the use of a specific outgoing email server
depending on the :guilabel:`From` email address or domain that Odoo is sending on behalf of. This
setting can be used to improve the deliverability or sending success rate of emails sent from the
database. Setting the :guilabel:`FROM Filtering` field can also be used to send from different
domains in a multi-company environment. Access this field in Odoo by navigating to
:menuselection:`Settings --> Custom Mail Servers --> Outgoing Mail Servers --> New`.
:menuselection:`Settings --> Discuss --> Custom Mail Servers --> Outgoing Mail Servers --> New`.
.. image:: email_servers/from-filter-setting.png
:align: center
@@ -231,24 +169,105 @@ first outgoing email server (sorted by priority).
example, if there are two email servers, one with a priority of `10` and the other with a
priority of `20`, then the email server with a priority of `10` is used first.
Set up different dedicated servers for transactional and mass mails
===================================================================
.. _email_communication/mass_mails:
In Odoo a separate Mail Transfer Agent (MTA) server can be used for transactional emails and mass
mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun or
Sendgrid for mass mailings.
Set up different dedicated servers for transactional and mass emails
--------------------------------------------------------------------
.. tip::
In Odoo a separate email server can be used for transactional emails and mass
mailings. Example: Use Postmark or SendinBlue for transactional emails, and Amazon SES, Mailgun,
Sendgrid or :doc:`Mailjet </administration/maintain/mailjet_api>` for mass mailings.
.. important::
A default outgoing email server is already configured. Do not create an alternative one unless a
specific external outgoing email server is needed for technical reasons.
To do this, first activate the :ref:`developer mode <developer-mode>`, and then go to
:menuselection:`Settings --> Technical --> Outgoing` email servers. There, create two email MTA
server settings; one for the transactional emails and one for the mass mailing server. Make sure
to give priority to the transactional server over the mass mailing server by providing a lower
priority number for the transactional MTA server.
:menuselection:`Settings --> Technical --> Outgoing` email servers. There, create two outgoing email
server settings; one for the transactional emails and one for the mass mailing server. Make sure to
give priority to the transactional server over the mass mailing server by providing a lower priority
number for the transactional email server.
Now, go to :menuselection:`Email Marketing --> Settings` and enable :guilabel:`Dedicated Server`.
With these settings, Odoo uses the server with the lower priority for transactional emails, and the
server here selected for mass mails. Note that in this case, the domain's Sender Policy Framework
(SPF) records must be set to include both transactional and mass mail servers.
Choose the appropriate email server. With these settings, Odoo uses the server with the lower
priority for transactional emails, and the server here selected for mass mails. Note that in this
case, the domain's Sender Policy Framework (SPF) records must be set to include both transactional
and mass mail servers.
.. seealso::
- :doc:`email_domain`
.. _email_communication/inbound_messages:
Manage inbound messages
=======================
Odoo relies on generic email aliases to fetch incoming messages.
* **Reply messages** of messages sent from Odoo are routed to their original discussion thread (and
to the inbox of all its followers) by the alias of the model if there is any or by the catchall
alias (**catchall@**). Replies to messages of models that don't have a custom alias will use the
catchall alias (`catchall@mycompany.odoo.com`). The catchall address, however, does not have
another action attached to it like other aliases might, it is only used to collect replies.
* **Bounced messages** are used as a Return-Path. One example this is especially
useful for is in `Odoo Email Marketing <https://www.odoo.com/page/email-marketing>`__. In this
case bounces are opt-out based on if the email bounced too many times (5) in the last month and
the bounces are separated by one week. This is done to avoid blacklisting someone because of a
mail server error. If these circumstances are met then the email is considered invalid and is
blacklisted. A log note is added on the contact under :guilabel:`Blacklisted Email Addresses` on
the :guilabel:`Email Marketing Configuration Menu`.
Messages that bounce in the chatter (outside of Email Marketing) will populate a red envelope
indicating the failed delivery. This can be helpful to know that a Sales Order or an Invoice did
not reach its final destination.
* **Original messages**: several business objects have their own alias to create new records in Odoo
from incoming emails:
* Sales channel (to create *Leads* or *Opportunities* in `Odoo CRM <https://www.odoo.com/page/
crm>`_)
* Support channel (to create *Tickets* in `Odoo Helpdesk <https://www.odoo.com/page/helpdesk>`_)
* Projects (to create new *Tasks* in `Odoo Project <https://www.odoo.com/page
/project-management>`_)
* Job positions (to create *Applicants* in `Odoo Recruitment <https://www.odoo.com/page
/recruitment>`_)
Depending on the mail server, there might be several methods to fetch emails. The easiest and most
recommended method is to manage one email address per Odoo alias in the mail server.
* Create the corresponding email addresses in the mail server (**catchall@**, **bounce@**,
**sales@**, etc.).
* Set the :guilabel:`Alias Domain` name in :menuselection:`Settings --> General Settings -->
Discuss`. Changing the :guilabel:`Alias Domain` will change the catchall's domain for the
database.
* If the database's hosting type is Odoo on-premise, create an :guilabel:`Incoming Mail Server` in
Odoo for each alias. To create a new incoming server go to: :menuselection:`Settings --> Discuss
--> Custom Mail Servers --> Incoming Mail Servers --> New` Fill out the form according to the
email provider's settings. Leave the :guilabel:`Actions to Perform on Incoming Mails` field blank.
Once all the information has been filled out, click on :guilabel:`TEST & CONFIRM`.
.. image:: email_servers/incoming-server.png
:align: center
:alt: Incoming mail server configuration on Odoo.
* If the database's hosting type is Odoo Online or Odoo.sh, redirecting or forwarding incoming
messages to Odoo's domain name instead of the external email server is recommended. That way,
incoming messages can be received without delay. Redirections for all email addresses should be
set to Odoo's domain name in the email server (e.g. `catchall\@mydomain.ext` to
`catchall\@mycompany.odoo.com`).
All the aliases are customizable in Odoo. Object aliases can be edited from their respective
configuration view by navigating to :menuselection:`Settings --> Technical Menu --> Email -->
Aliases`.
To edit catchall and bounce aliases, first activate the :ref:`developer mode <developer-mode>`.
Then, go to :menuselection:`Settings --> Technical --> Parameters --> System Parameters` to
customize the aliases (`mail.catchall.alias` & `mail.bounce.alias`). These types of changes should
be completed prior to the database going live. If a customer replies after a change is made then the
system will not recognize the old alias and the reply won't be received.
By default, inbound messages are fetched every 5 minutes for on-premise databases.
.. note::
This value can be changed in :ref:`developer mode <developer-mode>`. Go to
:menuselection:`Settings --> Technical --> Automation --> Scheduled Actions` and look for
:guilabel:`Mail: Fetchmail Service`.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 43 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 58 KiB

After

Width:  |  Height:  |  Size: 117 KiB

View File

@@ -1,10 +1,8 @@
:nosearch:
:hide-page-toc:
:show-toc:
=================
Users & Companies
=================
===================
Users and companies
===================
Odoo defines a *user* as someone who has access to a database to perform daily tasks. You can add as
many users as you need and, in order to restrict the type of information each user can access, rules
@@ -18,3 +16,4 @@ can be applied. Users and access rights can be added and changed at any point.
users/access_rights
users/companies
users/portal
users/delete_account

View File

@@ -0,0 +1,21 @@
============================
Deleting an Odoo.com Account
============================
To delete your Odoo.com account, access the delete option by clicking on the user icon. The delete
option can be accessed by going to :menuselection:`My Account --> Edit Security Settings --> Delete
Account`. It can also be accessed by going to https://www.odoo.com/my/home.
.. danger::
Deleting an Odoo account is irreversible. Take caution when performing this action as the
Odoo.com account will not be retrievable.
Upon clicking the :guilabel:`Delete Account` button, a pop-up window will appear, asking you to
confirm the account deletion.
.. image:: delete_account/delete-account.png
:align: center
:alt: Clicking on the Delete Account button will populate a window verifying the change.
Confirm the deletion by entering the :guilabel:`password` and the :guilabel:`login` for the account
being deleted. Click the :guilabel:`Delete Account` button to confirm the deletion.

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

View File

@@ -0,0 +1,9 @@
:nosearch:
===============
Human resources
===============
.. toctree::
hr/attendances

View File

@@ -0,0 +1,19 @@
:nosearch:
:show-content:
:hide-page-toc:
:show-toc:
===========
Attendances
===========
**Odoo Attendances** functions as a time clock. Employees check in and check out of work, while
managers can see who is available at any given time.
.. seealso::
`Odoo Tutorials: Attendances <https://www.odoo.com/slides/slide/attendances-684>`_
.. toctree::
:titlesonly:
attendances/hardware

View File

@@ -0,0 +1,57 @@
========
Hardware
========
Kiosk management
================
A kiosk is a self-service station that allows employees to check in and check out for work shifts.
There are two ways to set up a kiosk:
- **Laptop and desktop PC**
Running a kiosk in a web browser is the cheapest and most flexible option. You can print employee
badges with any thermal or inkjet printer compatible with your web browser.
- **Tablet and mobile phone (Android or iOS)**
Tablets and mobile phones take up much less space, and their touchscreens are easy to use.
Consider putting them in a secure stand at the front desk or mounting them securely on a wall.
.. tip::
We recommend using an iPad together with the `Heckler Design WindFall Stand
<https://hecklerdesign.com/products/windfall-stand-for-ipad>`_
RFID key fob readers
====================
Employees can scan personal RFID key fobs with an RFID reader to manage check-ins and check-outs
quickly and easily.
.. image:: hardware/rfid-reader.jpg
:align: center
:width: 40%
:alt: An RFID key fob is placed on an RFID reader
.. tip::
We recommend using the `Neuftech USB RFID Reader <https://neuftech.net/Neuftech-USB-RFID-Reader-ID-Kartenleseger%C3%A4t-Kartenleser-Kontaktlos-Card-Reader-f%C3%BCr-EM4100>`_.
.. note::
An IoT box is **not** required.
Barcode scanners
================
Employees can scan the barcode on their employee badges to manage check-ins and check-outs quickly
and easily. The kiosk mode works with most USB barcode scanners connected directly to a computer.
Bluetooth barcode scanners are also supported natively.
.. tip::
We recommend using the `Honeywell product line
<https://sps.honeywell.com/us/en/products/productivity/barcode-scanners>`_. If the barcode
scanner is connected directly to a computer, it must be configured to use the computer's keyboard
layout.
.. note::
An IoT box is **not** required.

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

View File

@@ -11,4 +11,3 @@ Valuation Methods
reporting/inventory_valuation_config
reporting/using_inventory_valuation
reporting/integrating_landed_costs
/applications/finance/accounting/others/inventory/avg_price_valuation

View File

@@ -1,7 +1,9 @@
=================================
Inventory Valuation Configuration
Inventory valuation configuration
=================================
.. _inventory/inventory_valuation_config:
All of a company's stock on-hand contributes to the valuation of its inventory. That value should
be reflected in the company's accounting records to accurately show the value of the company and
all of its assets.
@@ -27,32 +29,32 @@ between locations in a company's inventory.
need to be periodically checked to ensure accuracy, and adjustments may be needed on an ongoing
basis depending on the needs and priorities of the business.
Types of Accounting
Types of accounting
-------------------
Accounting entries will depend on the accounting mode: Continental or Anglo-Saxon.
Accounting entries will depend on the accounting mode: *Continental* or *Anglo-Saxon*.
.. tip::
Verify the accounting mode by activating the :ref:`developer-mode`
and navigating to :menuselection:`Accounting --> Configuration --> Settings`.
Verify the accounting mode by activating the :ref:`developer-mode` and navigating to
:menuselection:`Accounting --> Configuration --> Settings`.
In Anglo-Saxon accounting, the costs of goods sold (COGS) are reported when products are sold or
In *Anglo-Saxon* accounting, the costs of goods sold (COGS) are reported when products are sold or
delivered. This means that the cost of a good is only recorded as an expense when a customer is
invoiced for a product. Interim Stock Accounts are used for the input and output accounts, and are
both Asset Accounts in the Balance Sheet.
invoiced for a product. *Interim Stock Accounts* are used for the input and output accounts, and are
both *Asset Accounts* in the balance sheet.
In Continental accounting, the cost of a good is reported as soon as a product is received into
stock. Additionally, a *single* Expense account is used for both input and output accounts in
the Balance Sheet.
In *Continental* accounting, the cost of a good is reported as soon as a product is received into
stock. Additionally, a single *Expense* account is used for both input and output accounts in
the balance sheet.
Costing Methods
Costing methods
---------------
Below are the three costing methods that can be used in Odoo for inventory valuation.
- **Standard Price**: is the default costing method in Odoo. The cost of the product is manually
defined on the product form, and this cost is used to compute the valuation. Even if the purchase
price on a Purchase Order differs, the valuation will still use the cost defined on the product
price on a purchase order differs, the valuation will still use the cost defined on the product
form.
- **Average Cost (AVCO)**: calculates the valuation of a product based on the average cost of that
product, divided by the total number of available stock on-hand. With this costing method,
@@ -81,10 +83,11 @@ valuation method should apply.
Under the :guilabel:`Inventory Valuation` heading are two labels: :guilabel:`Costing Method` and
:guilabel:`Inventory Valuation`. Pick the desired :guilabel:`Costing Method` using the drop-down
menu (e.g. :guilabel:`Standard`, :guilabel:`Average Cost (AVCO)`, or :guilabel:`First In First Out
(FIFO)` and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
(FIFO)`) and switch the :guilabel:`Inventory Valuation` to :guilabel:`Automated`.
.. seealso::
:doc:`Using the inventory valuation <using_inventory_valuation>`
:doc:`Using the inventory valuation
</applications/inventory_and_mrp/inventory/management/reporting/using_inventory_valuation>`
.. note::
When choosing :guilabel:`Average Cost (AVCO)` as the :guilabel:`Costing Method`, the numerical

View File

@@ -1,77 +1,130 @@
=============================
Using the inventory valuation
=============================
=========================
Using inventory valuation
=========================
Inventory valuation refers to how you value your stock. Its a very
important aspect of a business as the inventory can be the biggest asset
of a company.
*Inventory valuation* is a quintessential accounting procedure that calculates the value of on-hand
stock. Once determined, the inventory valuation amount is then incorporated into a company's overall
value.
In this documentation, we will explain how the inventory valuation works
in Odoo.
In Odoo, this process can be conducted manually— by warehouse employees physically counting the
products— or automatically through the database.
Inventory valuation: the basics
===============================
.. seealso::
:ref:`Inventory valuation configuration <inventory/inventory_valuation_config>`
Understand the basics of inventory valuation
============================================
In order to understand how moving products in and out of stock affects the company's overall value,
consider the following product and stock moves scenario below.
Receive a product
-----------------
Each time a product enters or leaves your stock, the value of your
inventory is impacted. The way it is impacted depends on the
configuration of your product (more info here).
For example, consider an physical product, a simple *table*, which is categorized as `Office
Furniture` in the product form's :guilabel:`Product Category` field.
Lets take an example with a product - a table - configured with a
*FIFO costing method* and an automated inventory valuation.
I purchase 10 tables at a cost of $10.
.. image:: using_inventory_valuation/use_inventory_valuation_01.png
:align: center
When Ill confirm the receipt of the products, the value of my inventory
will be impacted. If I want to know what this impact is, I can click on
the valuation stat button.
Navigate to the the product category itself by going to :menuselection:`Inventory app -->
Configuration --> Product Categories`, and on the form, set the :guilabel:`Costing Method` as `First
In First Out (FIFO)` and the :guilabel:`Inventory Valuation` field as `Automated`.
.. tip::
The consignment feature allows you to set owners on your stock (discover
more about the consignment feature). When you receive products that are
owned by another company, they are not taken into account in your
inventory valuation.
Alternatively access the :guilabel:`Product Categories` dashboard by clicking on the
:guilabel:`internal link` arrow on the individual product's form, by hovering over the
:guilabel:`Product Category` field.
.. image:: using_inventory_valuation/use_inventory_valuation_02.png
:align: center
Next, assume 10 tables are purchased at a price of $10.00, each. The :abbr:`PO (Purchase Order)` for
those tables will show the subtotal of the purchase as $100, plus any additional costs or taxes.
.. note::
You need access rights on the accounting module to see that button.
.. image:: using_inventory_valuation/purchase-order.png
:align: center
:alt: Purchase order with 10 tables products valued at $10 each.
In this case, I can see that the 10 tables entered the stock for a total
value of $100.
After selecting :guilabel:`Validate` on the :abbr:`PO (Purchase Order)`, use the
:guilabel:`Valuation` smart button to view how the value of inventory was impacted.
.. image:: using_inventory_valuation/use_inventory_valuation_03.png
:align: center
.. image:: using_inventory_valuation/valuation-smart-button.png
:align: center
:alt: Valuation smart button on a receipt.
I can also easily access the accounting entry that has been generated
(in case of automated inventory valuation).
.. important::
:ref:`Developer mode <developer-mode>` must be turned on to see the *Valuation* smart button.
.. image:: using_inventory_valuation/use_inventory_valuation_04.png
:align: center
.. tip::
The :doc:`consignment </applications/inventory_and_mrp/inventory/management/misc/owned_stock>`
feature allows ownership to items in stock. Thus, products owned by other companies are not
accounted for in the host company's inventory valuation.
The :guilabel:`Stock Valuation` dashboard then displays valuation of all products in the shipment,
along with their quantities and valuation. In the example of 10 tables being purchased, the
:guilabel:`Total Value` column of the dashboard would display a calculated valuation of $100.
.. image:: using_inventory_valuation/stock-valuation-product.png
:align: center
:alt: Stock valuation page depicting the products within a shipment.
In Odoo, automatic inventory valuation records are also recorded in the *Accounting* app. To access
these accounting entries, navigate to :menuselection:`Accounting --> Journal Entries`, and look for
inventory valuation entries with the `STJ` prefix in the :guilabel:`Journal` and :guilabel:`Number`
columns, respectively.
.. image:: using_inventory_valuation/inventory-valuation-entry.png
:align: center
:alt: Accounting entry for the inventory valuation of 10 tables.
Deliver a product
-----------------
In the same logic, when a table will be delivered, the stock valuation
will be impacted and you will have access to a similar information.
In the same logic, when a table is shipped to a customer and leaves the warehouse, the stock
valuation decreases. The :guilabel:`Valuation` smart button on the :abbr:`DO (Delivery Order)`,
likewise, displays the stock valuation record as it does on a :abbr:`PO (Purchase Order)`
.. image:: using_inventory_valuation/use_inventory_valuation_05.png
:align: center
.. image:: using_inventory_valuation/decreased-stock-valuation.png
:align: center
:alt: Decreased stock valuation after a product is shipped.
The inventory valuation report
------------------------------
The summary of this is accessible via the inventory valuation report
(accessible from :menuselection:`Inventory --> Reporting --> Inventory Valuation`). It gives
you, product per product, the value of your stock. By clicking on the
button *Inventory At Date*, you can have the same information for a
past date.
To view the current value of all products in the warehouse, go to :menuselection:`Inventory app -->
Reporting --> Inventory Valuation`. The records in the table are organized by product, and selecting
a product's drop-down menu displays detailed records with the :guilabel:`Date`,
:guilabel:`Quantity`, and :guilabel:`Total Value` of the inventory.
.. image:: using_inventory_valuation/use_inventory_valuation_06.png
:align: center
.. image:: using_inventory_valuation/inventory-valuation-products.png
:align: center
:alt: Inventory valuation report showing multiple products.
.. note::
The :guilabel:`Inventory At Date` button, located in the top-left corner of the :guilabel:`Stock
Valuation` dashboard, shows the inventory valuation of products available during a prior
specified date.
Update product unit price
~~~~~~~~~~~~~~~~~~~~~~~~~
For any company: lead times, supply chain failures, and other risk factors can contribute to
invisible costs. Although Odoo attempts to accurately represent the stock value, *manual valuation*
serves as an additional tool to update the unit price of products.
.. important::
Manual valuation is intended for products that can be purchased and received for a cost greater
than 0, or have product categories set with :guilabel:`Costing Method` set as either `Average
Cost (AVCO)` or `First In First Out (FIFO)`.
.. image:: using_inventory_valuation/add-manual-valuation.png
:align: center
:alt: Add manual valuation of stock value to a product.
Create manual valuation entries on the :guilabel:`Stock Valuation` dashboard by first navigating to
:menuselection:`Inventory app --> Reporting --> Inventory Valuation`, and then click the little gray
drop-down icon to the left of a product's name, to then reveal stock valuation line items below as
well as a teal :guilabel:`+ (plus)` button on the right.
Click the teal :guilabel:`+ (plus)` button to open up the :guilabel:`Product Revaluation` form,
where updates to the calculation of inventory valuation can be made, by increasing or decreasing the
unit price of each product.
.. image:: using_inventory_valuation/product-revaluation.png
:align: center
:alt: Product revaluation form adding a value of $1.00 with the reason being inflation.

View File

@@ -89,6 +89,8 @@ Area*. Then, once the quality check is done, move them to their *Storage Locatio
orders and their products are grouped in one transfer, whereas the packing operation respects the
grouping per customer order.
.. _use-routes/routes-rules:
Use routes and rules
====================

View File

@@ -27,7 +27,9 @@ needed.
in the Odoo database.
.. important::
Odoo integration of Sendcloud does **not** work on free plans of Sendcloud.
Odoo integration of Sendcloud works on free Sendcloud plans *only* if a bank account is linked,
since Sendcloud won't ship for free. To use shipping rules or individual custom carrier contacts,
a paid plan of Sendcloud is required.
Warehouse configuration
-----------------------
@@ -143,7 +145,7 @@ After configuring and saving the form, follow these steps to load the shipping p
| :guilabel:`Return Shipping Product`: `DPD Return 0-20kg`
| :guilabel:`Return Carrier`: `DPD`
| :guilabel:`Return Minimum Weight`: `0.00`
| :guilabel:`Return Minimum Weight`: `20.00`
| :guilabel:`Return Maximum Weight`: `20.00`
| :guilabel:`Return Countries`: `Belgium` `Netherlands`
.. image:: sendcloud_shipping/sendcloud-example.png

View File

@@ -12,7 +12,7 @@ that even product variants can have their own tailored :abbr:`BoMs (Bills of Mat
Correctly setting up a :abbr:`BoM (Bill of Materials)` helps optimize the manufacturing process and
save time.
Set up a bill of baterials (BoM)
Set up a bill of materials (BoM)
================================
The simplest :abbr:`BoM (Bill of Materials)` setup is one without operations or instructions, only

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