Compare commits

...

171 Commits

Author SHA1 Message Date
Ali Alfie (alal) 69b16d69a6 [IMP] fiscal_localizations: HMRC mode config param
In odoo/enterprise/pull/59152 a system parameter is added to control the HMRC mode from production to demo allowing the use of dummy credentials.

task-3820114
2024-03-26 12:26:08 +01:00
Felicious 2733aac1fc [IMP] inventory: invoice shipping
closes odoo/documentation#8360

X-original-commit: ba49211c55
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-03-25 20:36:51 +00:00
Felicious d34c588849 [IMP] inventory: remove rescheduling
closes odoo/documentation#8284

X-original-commit: 8ad53481d1
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: brse-odoo <brse@odoo.com>
2024-03-25 19:13:28 +00:00
Sam Lieber (sali) 6ebc4d7b19 [IMP] l10n_ec/accounting: ats report
closes odoo/documentation#7944

Signed-off-by: Roberto Palacios (rps) <rps@odoo.com>
2024-03-25 19:13:26 +00:00
Felicious 8a0d3598a6 [IMP] inventory: visibility days
closes odoo/documentation#7995

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-03-25 00:33:13 +00:00
Odoo Translation Bot 48a4e94d56 [I18N] Update translation terms from Transifex 2024-03-24 01:41:37 +01:00
tiku-odoo ff54eee8de [IMP] essentials: import export rewrite
closes odoo/documentation#8311

X-original-commit: c635baa0a2
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-03-22 14:17:56 +00:00
Tiffany Chang (tic) 962a1cce66 [I18N] *: export latest terms + add missing resources
This commit does 2 things:

- exports the latest terms to be translated
- adds missing pot files + adds them to be translated on transifex
  (essentials and studio)

Notes:
- hr (source) was already in v16, but was missing from v15 and v17,
  hence the commits being slightly different
- latest pot files of `contributing`, `developer`, and `legal` were
  purposely left off this PR because they are either not translated
  or not translated via Transifex, so these pot files serve no purpose

closes odoo/documentation#8295

X-original-commit: ee34727c4d
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-03-21 21:25:51 +00:00
tiku-odoo 0ec8579b92 [IMP] iot: flash card update section
closes odoo/documentation#8294

X-original-commit: 1f89b5f4b2
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-03-21 20:09:48 +00:00
Mohamed Alkobrosli 91f0f5d194 [FIX] dev/assets: typo
the "py" letter should be "by" to make the syntax correct and understood.

closes odoo/documentation#8276

Signed-off-by: Victor Feyens (vfe) <vfe@odoo.com>
2024-03-21 12:41:50 +00:00
tiku-odoo 2fad56f841 [IMP] email comms: feedback loop edit
closes odoo/documentation#8171

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-03-20 20:39:55 +00:00
tiku-odoo 1c5714ed66 [IMP] hosting: add admonition block on subscription
closes odoo/documentation#8245

X-original-commit: 9df807a532
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-03-20 16:38:20 +00:00
masi-odoo 39910d1e7b [IMP] accounting/l10n_cl: electronic purchase invoice
Google Drive image folder: https://drive.google.com/drive/folders/12OaeDvzn-u5Nf_AjhIzrWaZWEb7smlTL?usp=drive_link

closes odoo/documentation#7893

Signed-off-by: Marco Antonio Iribe Sepulveda (masi) <masi@odoo.com>
2024-03-20 16:38:17 +00:00
tiku-odoo 556ee18406 [IMP] developer: external api add admonition block
closes odoo/documentation#8214

X-original-commit: d6f5e74971
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-03-20 13:10:32 +00:00
tiku-odoo 0ddecbc6fc [REM] voip: onsip scrub per onsip
closes odoo/documentation#8209

X-original-commit: 7b728a22f4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-03-20 13:10:30 +00:00
Martin Trigaux (mat) 88fa5d6e0a [I18N] conf: add more language codes
closes odoo/documentation#8207

X-original-commit: 18062ec3b4
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2024-03-20 09:06:46 +00:00
Colu 08c671fe4e [IMP] database management: update on-premise page
task-3627193

closes odoo/documentation#8176

X-original-commit: 739309b258
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-03-19 11:13:03 +00:00
Xavier (XPL) 4a98887b9b [FIX] website: domain names
closes odoo/documentation#8174

X-original-commit: 87b350d47e
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-03-19 09:56:00 +00:00
Jonathan Castillo (jcs) f806b9dcfa [FIX] website: anchors in analytics hyperlinks
Custom anchors can be used as hyperlinks to target a specific
heading on the page. However, the google analytics one didn't
work well because of the capital letters used.

closes odoo/documentation#8172

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-03-18 08:44:27 +00:00
Odoo Translation Bot 7b3f3f09db [I18N] Update translation terms from Transifex 2024-03-17 01:41:08 +01:00
Felicious 8deb666761 [DEL] remove usage; contains packages + packagings
closes odoo/documentation#8166

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-03-15 00:24:38 +00:00
Martin Trigaux (mat) b4c90a16e5 [ADD] conf: add Swedish
closes odoo/documentation#8152

X-original-commit: 2ed5e2a1e8
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2024-03-14 14:27:37 +00:00
Martin Trigaux (mat) a33955ec82 [FIX] conf: don't use None in language switcher
In a lang is not present in languages_names, the menu was displaying None

X-original-commit: 8b40d49658
Part-of: odoo/documentation#8152
2024-03-14 14:27:37 +00:00
Stephan Wilson 6689684b0c [IMP] accounting: wrong line break in customer_invoices
Removed line break

closes odoo/documentation#8132

X-original-commit: 00b934c9d3
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-03-13 22:24:46 +00:00
Jonathan Castillo (jcs) 76bf27e87c [FIX] redirections: wrong rule for supported versions
closes odoo/documentation#8109

X-original-commit: 0c392041ab
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-03-12 18:06:00 +00:00
vladstroia fa1461021e [ADD] point_of_sale: customer display doc page
task-3226201

There was previously no docs for the customer display feature in pos.
In this commit we add a docs page for it

closes odoo/documentation#8055

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-03-12 18:05:56 +00:00
Marion (masp) bf8491feda [ADD] Website/Configuration: Google Search Console
closes odoo/documentation#8003

Taskid: 3696023
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-03-12 16:55:56 +00:00
KC (ksc) 3b3896bb15 [IMP] subscriptions: corrected error about recurring products
closes odoo/documentation#7979

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-03-11 23:29:41 +00:00
Jonathan Castillo (jcs) 32aafb08cb [MOV] documentation structure reorganization
This commit aims to improve the documentation's navigability by
redefining some categories' purposes and titles.

There is a redirection rule for each documentation page moved.
This ensures that users won't have a 404 error message.

task-3217827

closes odoo/documentation#8056

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-03-11 13:59:04 +00:00
Odoo Translation Bot 7b5dba47a7 [I18N] Update translation terms from Transifex 2024-03-10 01:42:34 +01:00
tiku-odoo f7be6a3a78 [IMP] iot: ts scale exception
closes odoo/documentation#8080

X-original-commit: 8a89c4311c
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-03-08 21:33:46 +00:00
tiku-odoo 256c96b56f [IMP] misc: email comm add allowed alias sys parameter
closes odoo/documentation#8077

X-original-commit: 7bd289f370
X-original-commit: 7bd289f370
X-original-commit: 7bd289f370
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-03-08 20:17:11 +00:00
Martin Trigaux (mat) ec300e06de [I18N] *: export 15.0 translations
closes odoo/documentation#8012

X-original-commit: a8a82b1b3b
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2024-03-07 16:11:55 +00:00
Felicious 43f2ecd375 [IMP] inventory: putaway rules
closes odoo/documentation#8036

X-original-commit: 7a5db76b28
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: brse-odoo <brse@odoo.com>
2024-03-07 02:17:02 +00:00
Claire Bretton (clbr) e60affa6fe [IMP] getting_started: use odoo/tutorials repository + runbot
We now use the odoo/tutorials to make the technical onboarding.
- Change the current documentation accordingly.
- Add a section for employees only so that they use odoo-dev/tutorials
as shared fork. It's closer to our way to work so we think it's better
to make them use to it as fast as possible.
- Add some explanations about runbot.

`odoo/technical-training-sandbox` will no longer be used and can be considered deprecated.

closes odoo/documentation#8020

X-original-commit: 2d41fd7e0c
Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
2024-03-06 07:55:42 +00:00
Felicious a8659727e3 [ADD] inventory: packaging
closes odoo/documentation#7751

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-03-05 23:11:37 +00:00
Julien Castiaux c00571d724 [FIX] deploy: enable HSTS also for websocket
Fine tunning of 6a2725e604

closes odoo/documentation#8004

Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2024-03-05 16:14:25 +00:00
Felicious 4f15ba1eea [IMP] inventory: gme's comments on packages
closes odoo/documentation#7797

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-03-05 06:28:46 +00:00
Felicious 03a871a88b [ADD] inventory: package use and type
closes odoo/documentation#7734

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-03-04 18:43:48 +00:00
Odoo Translation Bot c6f5eaaf9a [I18N] Update translation terms from Transifex 2024-03-03 01:40:41 +01:00
Marion (masp) 4efd4c2788 [ADD] integration: geolocation
task-3694395

closes odoo/documentation#7971

X-original-commit: 74978109ee
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-03-01 19:40:48 +00:00
Ali Alfie (alal) 680573ff40 [IMP] fiscal_localizations: HMRC format improved
Before, when entering the company's VAT, the user had to leave out the 'GB' prefix. This is no longer needed after odoo/enterprise/pull/57570

task-3765235

closes odoo/documentation#7956

X-original-commit: 61c86a1a8e
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-03-01 13:17:54 +00:00
tiku-odoo 43b5825a4c [IMP] misc: voip onsip version 16 changes
closes odoo/documentation#7894

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-03-01 00:39:43 +00:00
Demesmaeker eb41f30593 [FIX] amazon_connector: change to more complete links
closes odoo/documentation#7936

X-original-commit: 3d0aabbaf4
Signed-off-by: Morgane Demesmaeker <edm@odoo.com>
2024-02-29 14:25:06 +00:00
Marion (masp) 65960a2726 [ADD] administration: neutralized database
closes odoo/documentation#7305

Task: 3572950
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-02-28 11:54:58 +00:00
Felicious 786a9086e9 [IMP] inventory: direct carrier contract
closes odoo/documentation#7897

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-02-28 02:57:24 +00:00
Felicious 6f8118fba6 [IMP] inventory: combine uom and usage into one doc
closes odoo/documentation#7659

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-02-28 01:34:59 +00:00
Donatienne (dopi) fff87ea667 [IMP] maintain: domain names
task-3595179

closes odoo/documentation#7878

X-original-commit: 89a6adc160
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-02-26 17:10:20 +00:00
Odoo Translation Bot 5407222f9c [I18N] Update translation terms from Transifex 2024-02-25 01:41:21 +01:00
tiku-odoo 4a3284230e [IMP] sales: mrkt conn ebay exception
closes odoo/documentation#7861

X-original-commit: 97203c4027
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-02-23 21:47:23 +00:00
tiku-odoo d3b848786b [IMP] misc: voip onsip edits
closes odoo/documentation#7844

X-original-commit: 0a133687dd
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-02-23 20:00:52 +00:00
tiku-odoo b26bb4d797 [IMP] iot: troubleshooting add barcode exception
closes odoo/documentation#7825

X-original-commit: 056242b831
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-02-23 14:27:13 +00:00
Sam Lieber (sali) 81de2a5bbe [IMP] accounting/l10n_pe: delivery guide 2.0 peru
closes odoo/documentation#7598

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-02-23 14:27:11 +00:00
Xavier (XPL) fb82f91847 [IMP] install: enterprise packaged installers note
task-3536177

closes odoo/documentation#7812

X-original-commit: 62e08e0c1f
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-02-23 10:38:49 +00:00
tiku-odoo 4dc8875b42 [IMP] iot: windows iot worldline exception
closes odoo/documentation#7741

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-02-23 00:07:05 +00:00
Tarek berkane 34e9ab6754 [FW][FIX] tutorials/getting_started: typo in 'estate'
closes odoo/documentation#7774

Forward-port-of: odoo/documentation#7772
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-02-19 17:20:47 +00:00
Loredana Perazzo a12f7925ca [ADD] POS: configure and use the ship later feature
task-3095674

closes odoo/documentation#7746

X-original-commit: fb55dca079
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-02-19 12:31:17 +00:00
Odoo Translation Bot df615b8b9c [I18N] Update translation terms from Transifex 2024-02-18 01:40:34 +01:00
Felicious 98994fbbaa [IMP] inventory: sell stock virtual warehouse
closes odoo/documentation#7753

X-original-commit: da19420201
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-02-16 02:11:53 +00:00
Sam Lieber (sali) 7fe59a5ec9 [FIX] odoo_theme: add bottom margin to inner lists
closes odoo/documentation#7722

X-original-commit: 1200df1ec8
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-02-13 18:53:07 +00:00
“Audrey d5df27bc9b [FIX] payment_providers: add payment journal selection
task-3718255

Up to saas-16.4

closes odoo/documentation#7715

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-02-13 09:01:07 +00:00
Antoine Vandevenne (anv) c3e77cb48b [IMP] supported_versions: release saas-17.1
closes odoo/documentation#7701

X-original-commit: e116579c99
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-02-12 20:08:45 +00:00
Odoo Translation Bot 8fc153c7ad [I18N] Update translation terms from Transifex 2024-02-11 01:40:43 +01:00
Donatienne (dopi) 1799e47028 [IMP] Website Analytics: adding Google Tag Manager documentation
taskid-3650278

closes odoo/documentation#7559

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-02-09 15:17:44 +00:00
tiku-odoo b8909aa7be [IMP] Misc VoIP Version Clean-up
closes odoo/documentation#7668

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-02-09 02:35:39 +00:00
“Audrey dbfcdc22d5 [IMP] payment_providers/stripe: improve structure and add Enable Apple Pay button
task-3697828

closes odoo/documentation#7641

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-02-08 14:57:05 +00:00
tiku-odoo c966184d3c [ADD] Misc: VoIP Axivox Dial Plan Edits
closes odoo/documentation#7650

X-original-commit: 5ea7d3aa16
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-02-06 19:38:01 +00:00
Donatienne (dopi) 5f6dfc7880 [IMP] Website: updating seo documentation
taskid-3499195

closes odoo/documentation#7386

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-02-06 14:35:55 +00:00
Loredana Perazzo cf63a97952 [IMP] POS: path to configure payment terminals
task-3684488

closes odoo/documentation#7601

X-original-commit: 57be14567e
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-02-06 10:12:46 +00:00
John Holton (hojo) 1bf87a0db9 [ADD] Quality: Control points doc
closes odoo/documentation#7203

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-02-04 02:53:51 +00:00
Odoo Translation Bot 49b057b80d [I18N] Update translation terms from Transifex 2024-02-04 01:41:35 +01:00
tiku-odoo c1ba4c61ae [IMP] Productivity IoT Windows Add Admonition Block
closes odoo/documentation#7577

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-02-01 19:00:47 +00:00
tiku-odoo 64afeaebb0 [IMP] Misc Auth LDAP Typo Edits
closes odoo/documentation#7583

X-original-commit: 03678233c5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-01-30 15:47:28 +00:00
“Audrey 03e9a8fd2b [IMP] payment_providers: restructure doc page
task-3702587

Based on https://github.com/odoo/documentation/pull/7414
Up to saas-16.4

closes odoo/documentation#7545

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-01-29 12:56:28 +00:00
Odoo Translation Bot 4cbbd98dee [I18N] Update translation terms from Transifex 2024-01-28 01:41:02 +01:00
Augusto Perez 16a209c750 [ADD] Upgrade documentation: Upgrade scripts and Util package
closes odoo/documentation#7330

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-25 12:56:20 +00:00
Lara Martini (larm) a838df1660 [ADD] Time Off: new documentation needed
closes odoo/documentation#7520

X-original-commit: 572a54b396
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-01-24 22:31:52 +00:00
Loredana Perazzo 5ec37fbb7f [IMP] pos: note about products loading
task-3095675

closes odoo/documentation#7425

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-01-23 09:05:42 +00:00
tiku-odoo 95cbc584f4 [IMP] IoT Printer doc edits
closes odoo/documentation#7489

X-original-commit: bfe57fdbdd
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-23 01:11:33 +00:00
tiku-odoo c9dc6dc195 [RMV]Sales: remove snyc menu line ebay connector
closes odoo/documentation#7464

X-original-commit: 9db684fe86
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-01-22 16:20:48 +00:00
Donatienne (dopi) 9f09422920 [IMP] accounting: reconciliation models update
task-3377307

closes odoo/documentation#5943

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-01-22 15:02:15 +00:00
Odoo Translation Bot f3b40b5399 [I18N] Update translation terms from Transifex 2024-01-21 01:41:19 +01:00
tiku-odoo c608df663b [IMP] Microsoft Azure Email Phrasing update
closes odoo/documentation#7455

X-original-commit: d902bbbc19
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-01-19 21:38:49 +00:00
tiku-odoo f097e22df0 [RMV]VOIP:Scrub Asterisk Docs
closes odoo/documentation#7438

X-original-commit: 055e332ef3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-01-19 15:16:18 +00:00
Martin Trigaux (mat) 786df1f373 [I18N] *: export 16.0 translations
closes odoo/documentation#7446

X-original-commit: 1b1941563d
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2024-01-19 09:13:13 +00:00
Brandon Seltenrich (BRSE) a7af9a59ff [IMP] barcode: update adjustments doc
closes odoo/documentation#7352

X-original-commit: 7d56862e53
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-17 02:24:51 +00:00
Christophe Monniez 38bd71fa13 [FIX] requirements: fix sphinxcontrib versions
It seems that the latest version if sphinx contrib libs needs sphinx 5.0.

closes odoo/documentation#7403

Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2024-01-16 12:59:56 +00:00
Olivier Dony 9c16edbf7b [IMP] conf: special case alt lang links for legal terms
Legal terms live under specific URL as their translations are not
managed in the same manner.

Layout is like this:
  /terms/enterprise.html (EN)
  /terms/i18n/enterprise_fr.html (FR)

This commit adapts the generation of alternative languages links for each
"legal terms page", so that it targets the correct i18n link, or goes
back to the canonical EN one, depending on the target language.

closes odoo/documentation#7382

closes odoo/documentation#7384

closes odoo/documentation#7387

Signed-off-by: Olivier Dony (odo) <odo@odoo.com>
2024-01-15 18:16:01 +00:00
Olivier Dony 73c08327d4 [CHG] legal: make Spanish partnership contract official
Removed the "not legally binding" warning, as Odoo now has official
establishments in countries when Spanish contracts are mandatory and
need to be binding. More careful reviews of the Spanish translations
will be necessary from now on.

Part-of: odoo/documentation#7387
2024-01-15 18:16:00 +00:00
Olivier Dony 4b98180756 [IMP] legal: update spanish Enterprise contract to v10a
Including spellchecking and proper emphasis of some important terms, and
the disambiguation of "Extra Covered Modules" and "Bug"

Removed the "not legally binding" warning, as Odoo now has official
establishments in countries when Spanish contracts are mandatory and
need to be binding. More careful reviews of the Spanish translations
will be necessary from now on.

Part-of: odoo/documentation#7387
2024-01-15 18:16:00 +00:00
Odoo Translation Bot 2e1d337ed0 [I18N] Update translation terms from Transifex 2024-01-14 01:41:12 +01:00
KC (ksc) b01133bfef [IMP] sales: updated amazon order management
closes odoo/documentation#6363

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-13 19:37:45 +00:00
KC (ksc) a61189725a [IMP] sales: amazon connector features doc for 16
closes odoo/documentation#6265

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-13 18:31:11 +00:00
Jonathan Castillo (jcs) cce392c303 [FIX] redirects: redirection loop on install.rst
closes odoo/documentation#7356

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-12 15:21:48 +00:00
Donatienne (dopi) 955ec07a4d [MOV] geo ip installation: move page to install
Page moved from Websites to Install section

taskid-3512515

Part-of: odoo/documentation#7356
2024-01-12 15:21:48 +00:00
Sam Lieber (sali) 505547264e [FIX] l10n_cl: Chile typo corrections
closes odoo/documentation#7339

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-12 15:21:46 +00:00
Tom Aarab (toaa) 2ef7150ebf [REM] accounting: multiple payments
Removing redundant page (see task)

See PR https://github.com/odoo/documentation/pull/6645

taskid-3466400

closes odoo/documentation#7343

X-original-commit: 6a66644abe
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-11 19:08:10 +00:00
Nathan Marotte (nama) 44f4683519 [ADD] Upgrade documentation: How-to-guide for developers
closes odoo/documentation#6757

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-10 17:25:59 +00:00
Tom Aarab (toaa) 53656d7065 [IMP] localization: spain missing reports
Missing tax reports for

15 & 16: 347 & 349
17: 347, 349, & 390

taskid-3673259

closes odoo/documentation#7310

X-original-commit: fecb587e78
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-10 10:03:48 +00:00
masi-odoo 1596413d4b [IMP] payment_provider/mercado pago: content updates
This commit will add important clarifications to use and test the Mercado Pago payment provider and add visual documentation similar to other provider's documentation

closes odoo/documentation#5525

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Co-authored-by: samueljlieber <sali@odoo.com>
2024-01-09 15:04:04 +00:00
Marion (masp) ca160e4e1a [ADD] website: address autocomplete configuration
Task-3618264

closes odoo/documentation#6984

Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-01-09 14:00:02 +00:00
Tom Aarab (toaa) 3c3c559d3b [IMP] accounting: payments doc update
Updated the payments doc page.

Forward to master.

16.3 -> Change reconciliation section

taskid-3610834

closes odoo/documentation#7258

X-original-commit: 36d0a51496
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-09 08:23:08 +00:00
Tom Aarab (toaa) ff0f90f3b3 [IMP] accounting: checks
Cleared up some confusion about path menu and feature

Forward to master

taskid-3644544

closes odoo/documentation#7285

X-original-commit: c438e5a3aa
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-08 09:46:51 +00:00
Tom Aarab (toaa) e2029ce5f7 [IMP] accounting: bank sync
Changed a note that was confusing to end users. Forward to 16.3

16.3 & 16.4 --> Fetch Account/Reconnect

17.0 --> Reconnect

taskid-3619168

closes odoo/documentation#7228

X-original-commit: 50e9083274
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-08 09:46:50 +00:00
Odoo Translation Bot 69a9a03e1a [I18N] Update translation terms from Transifex 2024-01-07 01:40:57 +01:00
Donatienne (dopi) 4bc2742413 [ADD] blogs: documentation
task-3492925

closes odoo/documentation#5801

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-01-05 15:15:38 +00:00
Julien Castiaux 4073e9dfb1 [FIX] developer/reference/cli: log on stderr
Odoo is actually logging on sys.stderr and not sys.stdout[^1][^2][^3].

Remove passage about the workflows, the workflows were an OpenERP
feature removed almost a decade ago in odoo/odoo@98cb4719db.

Fixes: #7210

[^1]: https://github.com/odoo/odoo/blob/b3b9b2b49ef90d30bcce1e27a4ba0b24f888170c/odoo/netsvc.py#L156
[^2]: https://github.com/odoo/odoo/blob/b3b9b2b49ef90d30bcce1e27a4ba0b24f888170c/odoo/netsvc.py#L198
[^3]: https://docs.python.org/3/library/logging.handlers.html#logging.StreamHandler

closes odoo/documentation#7259

X-original-commit: c55e8f251a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2024-01-05 09:05:13 +00:00
Tom Aarab (toaa) 2a32362e28 [IMP] accounting: reporting
Updated the reporting section.

Forward to 16.3

closes odoo/documentation#7257

X-original-commit: d0b0cdfcf5
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-05 08:03:52 +00:00
Tom Aarab (toaa) 0311faee2f [FIX] Project: broken URL
One of the link is broken

taskid-3658558

closes odoo/documentation#7193

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-04 09:32:35 +00:00
Lara Martini (larm) 7a5d891206 [ADD] fleet: add a new vehicle
closes odoo/documentation#7205

X-original-commit: e3d4c2f843
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: jero-odoo <104637850+jero-odoo@users.noreply.github.com>
2024-01-02 18:49:57 +00:00
Brandon Seltenrich (BRSE) 81d201efc4 [IMP] inventory: update differences doc
closes odoo/documentation#7147

X-original-commit: 3908516bfb
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-02 17:47:54 +00:00
Odoo Translation Bot d311926f37 [I18N] Update translation terms from Transifex 2023-12-31 01:40:57 +01:00
Lara Martini (larm) faa88b6a3f [ADD] Fleet: new services doc
closes odoo/documentation#7177

X-original-commit: abb6130914
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-27 23:58:27 +00:00
Brandon Seltenrich (BRSE) 3defec8a1d [IMP] mrp: update variants doc
closes odoo/documentation#7169

X-original-commit: f3a2865dea
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-12-27 13:57:59 +00:00
Lara Martini (larm) 04401626e5 [IMP] Inventory: making targeted edits for 16
closes odoo/documentation#4381

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-26 20:47:47 +00:00
Lara Martini (larm) 4f03fc59d4 [ADD] Referrals: new doc explaining all of referrals
closes odoo/documentation#7155

X-original-commit: f2b550ab78
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-12-26 19:39:58 +00:00
Brandon Seltenrich (BRSE) 30fd7112af [IMP] barcode: update barcode operations doc
closes odoo/documentation#7135

X-original-commit: 170eda0d18
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-12-26 18:04:11 +00:00
Brandon Seltenrich (BRSE) df58ae965c [IMP] barcode: update transfers scratch doc
closes odoo/documentation#7137

X-original-commit: 13807f75ae
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-12-26 17:05:07 +00:00
Odoo Translation Bot 110146cb2d [I18N] Update translation terms from Transifex 2023-12-24 01:41:05 +01:00
Lara Martini (larm) 6d5f38fa88 [ADD] fleet: new configurations doc
closes odoo/documentation#7085

X-original-commit: 52a2a795a1
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2023-12-22 19:15:16 +00:00
Lara Martini (larm) 2f2d3d2267 [IMP] Recruitment: adding new hiring flow doc
closes odoo/documentation#7086

X-original-commit: 6704ff51de
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 02:47:47 +00:00
tiku-odoo 911cb2c26e [IMP] Market Connectors: eBay Marketplace edits
closes odoo/documentation#7076

X-original-commit: 2048c588c4
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 02:47:45 +00:00
Jess Rogers (jero) 5cfe3dbf3f [IMP] crm: update convert leads
closes odoo/documentation#7062

X-original-commit: 88a0b155e5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2023-12-22 02:47:45 +00:00
Lara Martini (larm) 55600e428d [IMP] Recruitmet: updating images and text for 16 version
closes odoo/documentation#6213

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 02:47:43 +00:00
Lara Martini (larm) ec18f20bf5 [IMP] payroll: made targeted edits for 16
closes odoo/documentation#5449

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 02:47:42 +00:00
Lara Martini (larm) 5413bd1c5d [IMP] employees: larm made targeted edits for 16 and updated pics
closes odoo/documentation#5040

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 02:47:41 +00:00
KC (ksc) 8167182ae9 [IMP] sales: updated product_images doc about Google API
closes odoo/documentation#6251

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 21:25:38 +00:00
KC (ksc) ca1554271b [IMP] sales: updated import products doc for 16
closes odoo/documentation#5861

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 21:25:37 +00:00
tiku-odoo 5e7b7e6098 [IMP] Misc: Portal User Change Login Initial Commit
closes odoo/documentation#7053

X-original-commit: d423038270
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 06:50:47 +00:00
tiku-odoo 648f20a832 [IMP] Productivity: Discuss Getting Started
closes odoo/documentation#7043

X-original-commit: cdd5dbead5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 06:50:47 +00:00
KC (ksc) 70050340fe [IMP] marketing automation: update understanding_metrics for 16
closes odoo/documentation#5161

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-20 23:58:47 +00:00
KC (ksc) 76fc90dde7 [IMP] marketing automation: updated testing_running campaign doc for Odoo 16
closes odoo/documentation#5157

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-20 23:58:46 +00:00
KC (ksc) 6968e362da [IMP] marketing automation: updated workflow activities for 16
closes odoo/documentation#5130

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-20 22:47:47 +00:00
KC (ksc) c2c835c2d6 [IMP] sales: updated variants doc for v16
closes odoo/documentation#5942

Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-12-20 19:58:40 +00:00
KC (ksc) bddbe0fd45 [IMP] social marketing: updated essentials for Odoo 16
closes odoo/documentation#5218

Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-12-20 19:58:39 +00:00
KC (ksc) a728ac22dd made all of BRSE's edits
closes odoo/documentation#5093

Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-12-20 18:53:44 +00:00
Lara Martini (larm) 1c00f06816 [IMP] Inventory: updated for v16
closes odoo/documentation#4379

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-20 03:58:02 +00:00
Lara Martini (larm) fabe484b75 [ADD] Payroll: adding new reporting doc
closes odoo/documentation#6988

X-original-commit: fcba53839f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-20 00:29:41 +00:00
Felicious 229e65a5aa [FIX] barcode: typo in example
closes odoo/documentation#6971

X-original-commit: 72f93a84ea
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-19 20:25:15 +00:00
Martin Trigaux b9a9da8808 [I18N] *: export 16.0 translations
closes odoo/documentation#6981

X-original-commit: 0101876db6
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-12-19 11:14:43 +00:00
Odoo Translation Bot 2edce38648 [I18N] Update translation terms from Transifex 2023-12-17 01:40:29 +01:00
KC (ksc) d615bc0f6d [IMP] sales: updated entire invoicing based on milestones doc
closes odoo/documentation#5574

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-16 21:54:49 +00:00
Brandon Seltenrich (BRSE) 18aad6d5f2 [FIX] barcode: fix default delay number
closes odoo/documentation#6951

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-15 22:19:40 +00:00
Julien Castiaux f3f44fe5f2 [FIX] deploy: set Content-Security-Policy on static
The Content-Security-Policy[^1] http header was only set on the response
generated by controllers but it was missing from the `/<module>/static/`
route.

It is not strictly necessary to set that header on the responses comming
from that routes as it is not possible to add new static files or edit
existing ones via the interface (not even as admin). Only the developers
and system administrator can access those files.

It is also worth mentionning that using the Odoo internal web server to
deliver static files is suboptimal. Outside of a dev environment, those
files will typically be delivered via a web server[^2] and sysadmins
should configure their web server to set the CSP header on static images.

[^1]: https://developer.mozilla.org/en-US/docs/Web/HTTP/CSP
[^2]: https://www.odoo.com/documentation/master/administration/install/deploy.html#serving-static-files-and-attachments

closes odoo/documentation#5485

Related: odoo/odoo#131700
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-15 10:26:41 +00:00
Julien Castiaux 09c42c5896 [FIX] deploy: nginx forwarded-host with tcp port
Install nginx using the nginx configuration found in the documentation
and changes the `listen` port to 8080. Start Odoo in `--proxy-mode`.

    listen 8080;
    server_name mycompany.odoo.com;
    proxy_set_header X-Forwarded-Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    location / {
            proxy_pass http://127.0.0.1:8069;
    }

Inside your browser, access "http://mycompany.odoo.com:8080" you are
wrongly redirected to "http://mycompany.odoo.com:80".

Odoo uses the `X-Forwarded-Host` http header value to generate new URls,
in this configuration `$host` only contains the domain (=hostname using
the urllib terminology) instead of the domain+port (=netloc). The
variable that contains both the domain and the port is actually
`$http_host`.

closes odoo/documentation#6932

Closes: odoo/odoo#64643
X-original-commit: 8d1642984f
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-15 09:23:31 +00:00
KC (ksc) 6cf4d56153 [IMP] sales: updated Amazon Connector setup doc for 16
closes odoo/documentation#6288

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: dalaOdoo <dala@odoo.com>
Co-authored-by: Demesmaeker <edm@odoo.com>
Co-authored-by: meng-odoo <meng@odoo.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
2023-12-15 01:10:17 +00:00
Tom Aarab (toaa) a7c3f818da [IMP] accounting: updated chart of accounts page
Updated the chart of accounts page. Forward to master.

16.3 -> Change "ellipsis" menu button
17 -> Change "Setup" to "View"

taskid-3609365

closes odoo/documentation#6910

X-original-commit: b617b47ab2
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-12-14 12:28:07 +00:00
Lara Martini (larm) cb87e208bf [ADD] Payroll: adding detailed payslips doc
closes odoo/documentation#6924

X-original-commit: 9486fe5b62
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: meng-odoo <101904966+meng-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <ksc@odoo.com>
Co-authored-by: samueljlieber <sali@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
2023-12-14 02:06:39 +00:00
Maximilien (malb) 053fb768e6 [FIX] accounting: cheat sheet reconcile
Before this commit, when doing the reconciliation of the table present in the
cheat sheet, the second reconciliation was wrong because the "Invoice 1" should
be reconciled with the twos partials payment. This Pr correct that by changing
the find parameter to target the partials also.

closes odoo/documentation#6896

Task: 3633468
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-12-12 12:46:16 +00:00
Sam Lieber (sali) a28339b44b [IMP] accounting/l10n_mx: additional context
closes odoo/documentation#6888

X-original-commit: 1cca645f17
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: feav-odoo <feav@odoo.com>
Co-authored-by: toaa-odoo <toaa@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
2023-12-11 16:06:05 +00:00
Odoo Translation Bot ba95cb33d5 [I18N] Update translation terms from Transifex 2023-12-10 01:40:26 +01:00
John Holton (hojo) 59791c252b [REF] Inventory: Restructure Inventory scope
closes odoo/documentation#5700

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 20:11:38 +00:00
KC (ksc) 4e85ef01e8 [IMP] sales: updated returns doc for v16
closes odoo/documentation#6258

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:46 +00:00
KC (ksc) bbbb00e752 [IMP] sales: updated pro-forma invoice doc for 16
closes odoo/documentation#5553

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:45 +00:00
KC (ksc) 9fc9c2f52d [IMP] sales: updated down payment doc for 16
closes odoo/documentation#5523

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:44 +00:00
KC (ksc) e6a6b9b453 [IMP] sales: online signature confirmation doc
closes odoo/documentation#5437

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:43 +00:00
KC (ksc) e1bed7ee7c [IMP] sales: update get signature to validate for 16
closes odoo/documentation#5434

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:42 +00:00
KC (ksc) 22d41dc2f3 [IMP] sales: updated optional_products for 16
closes odoo/documentation#5409

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:41 +00:00
KC (ksc) 1e2a29338e [IMP] sales: updated time_materials for v16
closes odoo/documentation#5083

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:40 +00:00
KC (ksc) 039dba0780 [IMP] sales: fully updated currencies doc
closes odoo/documentation#4534

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 04:05:39 +00:00
KC (ksc) a4a9335dd1 [IMP] sales: reinvoice expenses to customers
closes odoo/documentation#5590

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 02:55:47 +00:00
KC (ksc) ff2cabf621 [IMP] subscriptions: products fix misleading info
closes odoo/documentation#5560

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 01:49:11 +00:00
KC (ksc) af7c7afa34 [IMP] sales: update orders and variants for 16
closes odoo/documentation#5456

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 00:38:45 +00:00
Julien Castiaux e5d77ee285 [FIX] administration/install: wkhtmltopdf 0.12.6
Official packages for wkhtmltopdf 0.12.5 are no more released since the
release of wkhtmltopdf 0.12.6 in 2020. Debian 10 "Buster" and Ubuntu
20.04 "Focal" were the last system for which 0.12.5 was built[^1].
Installing 0.12.5 on a Ubuntu 22.04 "Jammy" (using the Focal package)
fails for outdated dependencies.

Official packages for wkhtmltopdf 0.12.6 are published on another
repository[^2] than 0.12.5 used to, it includes packages for 0.12.6 for
both Debian 11 "Bullseye" and Ubuntu 22.04 "Jammy". Version 0.12.6.1-r3
is compatible out-of-the-box with Odoo and has been used by runbot to
test all 16.x, 17.x and master branches for the past month.

This work makes it official that [wkhtmltopdf 0.12.6.1-r3] must be used
for Odoo 16.0 and onward.

[^1]: https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5
[^2]: https://github.com/wkhtmltopdf/packaging/releases
[wkhtmltopdf 0.12.6.1-r3]: https://github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3

closes odoo/documentation#6751

Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-06 12:25:24 +00:00
“Chiara 27a307cb0c [IMP] accounting: followup screenshot
taskid-3614885

closes odoo/documentation#6697

Signed-off-by: Chiara Prattico (chpr) <chpr@odoo.com>
2023-12-06 10:12:45 +00:00
Zachary Straub (ZST) f9013a6309 [IMP] sales: update quote_template for 16
closes odoo/documentation#5873

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-06 01:49:52 +00:00
Jess Rogers (jero) ade6af5b30 [IMP] crm: update plan activities
closes odoo/documentation#6769

X-original-commit: e4aee350b8
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: Timothy Kukulka <91896312+tiku-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-12-05 17:58:18 +00:00
william-andre df8114e591 [FIX] install: do not create superuser for postgres
The preferred/safe way of running Odoo is with a standard user, with
only the right to create a database.
See https://github.com/odoo/odoo/commit/b6b73551dbbb3079f043920f21554b945fa4870e

closes odoo/documentation#6728

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-12-05 15:20:02 +00:00
Donatienne (dopi) 88f546f2a9 [IMP] Website: Unsplash documentation updated
task-3498880

closes odoo/documentation#5823

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-12-05 15:19:57 +00:00
Julien Castiaux a2f895f644 [IMP] developer/reference/cli: --proxy-mode
Many customers struggle with their web server configuration, notably
regarding the `--proxy-mode` option and the way `X-Forwarded-*` HTTP
request headers are interpreted within Odoo.

The `--proxy-mode` section has been updated to cover the most common
misunderstandings and to give guidances on how to setup a web server.

Odoo always only takes the last entry of the `X-Forwarded-*` request
header because there are situations where it is not possible to
determine which last n-th entry to use. Employees might access their
odoo database via the internal network: connecting directly to nginx,
while customers might access the database via an additional proxy such
as cloudflare. The real IP of employees would be the last inside the
`X-Forwarded-For` chain, while the real IP of customers would be the
*second* last entry inside the chain. It would be incorrect to always
take the same nth last entry inside the chain. The cloudflare's own IP
address must be discarded from the chain. Web servers usually feature
a way to ignore trusted IP from the chain, a way so that the real IP
of the user is always the last entry inside the chain. Odoo relies on
such feature to be active and configured.

Prior discussions about `X-Forwarded-For`:
* odoo/odoo#104947
* odoo/odoo#118629
* odoo/odoo#139536

All `X-Forwarded-*` headers are ignored in case the `X-Forwarded-Host`
header is missing (even with `--proxy-mode`). System admin might be
tempted to not set this header and to set `Host` instead, this is
broken as this a user-agent would be able to spoof `X-Forwarded-Host`
and Odoo would use that instead of the correct `Host`.

Prior discussions about `X-Forwarded-Host`:
* odoo/odoo#63277
* odoo/odoo#70117

closes odoo/documentation#6738

X-original-commit: 3d91c57b57
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-03 08:27:52 +00:00
Odoo Translation Bot 80f195831e [I18N] Update translation terms from Transifex 2023-12-03 01:40:34 +01:00
2039 changed files with 1427259 additions and 746744 deletions
+10
View File
@@ -11,6 +11,11 @@ file_filter = locale/<lang>/LC_MESSAGES/applications.po
source_file = locale/sources/applications.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:essentials]
file_filter = locale/<lang>/LC_MESSAGES/essentials.po
source_file = locale/sources/essentials.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:finance]
file_filter = locale/<lang>/LC_MESSAGES/finance.po
source_file = locale/sources/finance.pot
@@ -63,6 +68,11 @@ file_filter = locale/<lang>/LC_MESSAGES/settings.po
source_file = locale/sources/settings.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:studio]
file_filter = locale/<lang>/LC_MESSAGES/studio.po
source_file = locale/sources/studio.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:websites]
file_filter = locale/<lang>/LC_MESSAGES/websites.po
source_file = locale/sources/websites.pot
+20 -1
View File
@@ -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-17.1': "Odoo Online",
'17.0': "Odoo 17",
'saas-16.4': "Odoo Online",
'saas-16.3': "Odoo Online",
@@ -232,9 +233,11 @@ languages_names = {
'es': 'ES',
'fr': 'FR',
'it': 'IT',
'ko': 'KO',
'nl': 'NL',
'pt_BR': 'PT',
'ro': 'RO',
'sv': 'SV',
'uk': 'UA',
'zh_CN': 'ZH (CN)',
'zh_TW': 'ZH (TW)'
@@ -445,7 +448,7 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
"""
_current_lang = app.config.language or 'en'
# Replace the context value by its upper-cased value ("FR" instead of "fr")
context['language'] = languages_names.get(_current_lang)
context['language'] = languages_names.get(_current_lang, _current_lang.upper())
context['language_code'] = _current_lang
# If the list of languages is not set, assume that the project has no alternate language
@@ -479,8 +482,24 @@ def _generate_alternate_urls(app, pagename, templatename, context, doctree):
_version = _version or app.config.version
_lang = _lang or app.config.language or 'en'
_canonical_page = f'{pagename}.html'
# legal translations have different URLs schemes as they are not managed on transifex
# e.g. FR translation of /terms/enterprise => /fr/terms/enterprise_fr
if pagename.startswith('legal/terms/'):
if _lang in legal_translations and not pagename.endswith(f"_{_lang}"):
# remove language code for current translation, set target one
_page = re.sub("_[a-z]{2}$", "", pagename)
if 'terms/i18n' not in _page:
_page = _page.replace("/terms/", "/terms/i18n/")
_canonical_page = f'{_page}_{_lang}.html'
elif _lang == 'en' and pagename.endswith(tuple(f"_{l}" for l in legal_translations)):
# remove language code for current translation, link to original EN one
_page = re.sub("_[a-z]{2}$", "", pagename)
_canonical_page = f'{_page.replace("/i18n/", "/")}.html'
if app.config.is_remote_build:
_canonical_page = _canonical_page.replace('index.html', '')
return f'{_root}' \
f'{f"/{_version}" if app.config.versions else ""}' \
f'{f"/{_lang}" if _lang != "en" else ""}' \
+49 -7
View File
@@ -3,20 +3,62 @@
:hide-page-toc:
:show-toc:
====================
Install and Maintain
====================
===================
Database management
===================
These guides provide instructions on how to install, maintain and upgrade Odoo databases.
.. seealso::
:doc:`History of Versions <administration/maintain/supported_versions>`
:doc:`History of Versions <administration/supported_versions>`
Installation
============
Depending on the intended use case, there are multiple ways to install Odoo - or not install it at
all.
- :doc:`Online <administration/odoo_online>` is the easiest way to use Odoo in production or to try it.
- :doc:`Packaged installers <administration/on_premise/packages>` are suitable for testing Odoo and
developing modules. They can be used for long-term production with additional deployment and
maintenance work.
- :doc:`Source install <administration/on_premise/source>` provides greater flexibility, as it
allows, for example, running multiple Odoo versions on the same system. It is adequate to develop
modules and can be used as a base for production deployment.
- A `Docker <https://hub.docker.com/_/odoo/>`_ base image is available for development or
deployment.
.. _install/editions:
Editions
========
There are two different editions.
**Odoo Community** is the free and open-source version of the software, licensed under the `GNU
LGPLv3 <https://github.com/odoo/odoo/blob/master/LICENSE>`_. It is the core upon which Odoo
Enterprise is built.
**Odoo Enterprise** is the shared source version of the software, giving access to more
functionalities, including functional support, upgrades, and hosting. `Pricing
<https://www.odoo.com/pricing-plan>`_ starts from one app free.
.. tip::
:doc:`Switch from Community to Enterprise <administration/on_premise/community_to_enterprise>` at
any time (except for the source install).
.. toctree::
:titlesonly:
administration/install
administration/maintain
administration/upgrade
administration/hosting
administration/odoo_online
administration/odoo_sh
administration/on_premise
administration/upgrade
administration/neutralized_database
administration/supported_versions
administration/odoo_accounts
@@ -1,4 +1,9 @@
=======================
=======
Hosting
=======
.. _hosting/change-solution:
Change hosting solution
=======================
@@ -15,7 +20,7 @@ To Odoo Online
- Odoo Online is *not* compatible with **non-standard apps**.
- The database's current version must be :doc:`supported <supported_versions>`.
#. Create a :ref:`duplicate <duplicate_premise>` of the database.
#. Create a :ref:`duplicate of the database <on-premise/duplicate>`.
#. In this duplicate, uninstall all **non-standard apps**.
#. Use the database manager to grab a *dump with filestore*.
#. `Submit a support ticket <https://www.odoo.com/help>`_ including the following:
@@ -54,6 +59,11 @@ Transferring an Odoo Online database
Click the gear icon (:guilabel:`⚙`) next to the database name on the `Odoo Online database
manager <https://www.odoo.com/my/databases/>`_ to display its version number.
.. warning::
If there is an active Odoo subscription linked to the database being migrated, reach out to
the Customer Service Manager or `submit a support ticket <https://www.odoo.com/help>`_ to
complete the subscription transfer.
To on-premise
-------------
-49
View File
@@ -1,49 +0,0 @@
:show-content:
=======
Install
=======
Depending on the intended use case, there are multiple ways to install Odoo - or not install it at
all.
- :doc:`Online <install/online>` is the easiest way to use Odoo in production or to try it.
- :doc:`Packaged installers <install/packages>` are suitable for testing Odoo and developing
modules. They can be used for long-term production with additional deployment and maintenance
work.
- :doc:`Source install <install/source>` provides greater flexibility, as it allows, for example,
running multiple Odoo versions on the same system. It is adequate to develop modules and can be
used as a base for production deployment.
- A `Docker <https://hub.docker.com/_/odoo/>`_ base image is available for development or
deployment.
.. _install/editions:
Editions
========
There are two different editions.
**Odoo Community** is the free and open-source version of the software, licensed under the `GNU
LGPLv3 <https://github.com/odoo/odoo/blob/master/LICENSE>`_. It is the core upon which Odoo
Enterprise is built.
**Odoo Enterprise** is the shared source version of the software, giving access to more
functionalities, including functional support, upgrades, and hosting. `Pricing
<https://www.odoo.com/pricing-plan>`_ starts from one app free.
.. tip::
:doc:`Switch from Community to Enterprise <maintain/enterprise>` at any time (except for the
source install).
.. toctree::
install/online
install/packages
install/source
install/deploy
install/cdn
install/email_gateway
-21
View File
@@ -1,21 +0,0 @@
======
Online
======
Online instances are accessed using any web browser and do not require a local installation.
Demo
----
To quickly try out Odoo, shared `demo <https://demo.odoo.com>`_ instances are available. No
registration is required, but each instance only lives for a few hours.
Odoo Online
-----------
`Odoo Online <https://www.odoo.com/trial>`_ provides private instances which are fully managed and
hosted by Odoo. It can be used for long-term production or to test Odoo thoroughly, including
customizations that don't require code.
.. note::
Odoo Online is incompatible with custom modules or the Odoo App Store.
-18
View File
@@ -1,18 +0,0 @@
:nosearch:
========
Maintain
========
.. toctree::
maintain/domain_names
maintain/azure_oauth
maintain/google_oauth
maintain/mailjet_api
maintain/update
maintain/enterprise
maintain/hosting_changes
maintain/odoo_online
maintain/on_premise
maintain/supported_versions
@@ -1,366 +0,0 @@
============
Domain names
============
A **domain name** works as an address for your website. It makes the Internet much more accessible
as it allows users to type a meaningful web address, such as ``www.odoo.com``, rather than its
server's IP address with a series of numbers.
You can use a custom domain name to access your Odoo database and websites:
- By :ref:`registering a free domain name with Odoo <domain-name/odoo-register>` (for Odoo Online
databases)
- By :ref:`configuring a custom domain that you already own <domain-name/existing>`.
.. note::
Odoo Online and Odoo.sh databases, including their websites, use by default a subdomain of
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
.. important::
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
databases for one year. Visitors can then access your website with an address such as
``www.example.com`` rather than the default ``example.odoo.com``.
.. seealso::
- `Odoo Tutorials: Register a Free Domain Name
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
- `Odoo Quick Tips: Get a free domain name! <https://www.youtube.com/watch?v=eAfgeNOHLP4>`_
.. _domain-name/about:
About domain names
==================
Having a **good domain name** is as important to your branding as the name of your business or
organization as it is the first thing your visitors will notice. We recommend you keep them *simple,
short, easy to remember and spell*.
A **subdomain** is a domain that is a part of another domain. It often refers to the additional part
that comes before the main domain name. Traditionally, most websites use the ``www.`` subdomain,
but any string of letters can be used as well. You can use subdomains to direct your visitors to
other websites than your main website or to specific pages (e.g., ``experience.odoo.com`` points to
a specific page.)
All domain names are referenced in the **Domain Name System**, or **DNS**, which works as a giant
directory for the Internet. There are many DNS servers, so any modification to the DNS can take up
to 72 hours to propagate worldwide on all servers.
.. _domain-name/indexing:
Indexing of domain names by search engines
------------------------------------------
Search engines, such as Google and Bing, rely on web crawlers (:dfn:`robots that explore and analyze
the web`) to index all websites and their related domain names. These crawlers discover new URLs
thanks to links on known web pages. As a result, search engines should index domain names
automatically after a while, as long as their URLs are mentioned elsewhere on the Internet.
Improving the appearance and positioning of web pages on search engines is a practice named "Search
Engine Optimization" (SEO).
.. tip::
Adding relevant content, optimizing metadata, and building high-quality backlinks can all help
improve a website's search engine visibility.
Some search engines provide tools for web admins, such as
`Google Search Console <https://search.google.com/search-console>`_ and
`Bing Webmaster Tools <https://www.bing.com/webmasters>`_, to help you analyze and improve your
page ranking. To use these services, you must prove that you are the owner of your domain name. One
way to verify the ownership of your domain name is by adding a DNS record. You can do this for
:ref:`domain names registered with Odoo <domain-name/odoo-manage>` and for domain names managed by
other providers.
.. seealso::
- :doc:`/applications/websites/website/pages/seo`
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
.. _domain-name/odoo-register:
Register a free domain name with Odoo
=====================================
You can register a domain name for your Odoo Online database directly from Odoo Website or your
database manager.
.. important::
- Your domain name is **free for one year** if you register it with Odoo!
- The domain name is registered with `Gandi <https://www.gandi.net/>`_, the domain name
registrar.
- You are the owner of the domain name and can use it for other purposes.
- Odoo manages payment and technical support for you.
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
database, then on :guilabel:`Domain names`.
.. image:: domain_names/register-menu.png
:align: center
:alt: Clicking on Domain Names from an Odoo website
Search for the domain name of your choice to check its availability, then select the one you want to
register for your website.
.. image:: domain_names/register-search.png
:align: center
:alt: The search of the domain name example.com shows which associated domains are available.
Next, fill in the form with your information to become the domain name owner.
Your domain name is directly linked to your database, but you still have to :ref:`map your domain
name with your website <domain-name/website-map>`.
.. note::
- Free domain names are also available for free Odoo Online databases (if you installed one app
only, for example). In this case, Odoo reviews your request and your website to avoid abuse.
This process can take several days due to the success of the offer.
- This is not available for Odoo.sh databases yet.
.. _domain-name/odoo-manage:
Manage your domain name registered with Odoo
--------------------------------------------
To manage the DNS records of your domain name registered with Odoo or to visualize the contacts
associated with it, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
:guilabel:`Contacts` or :guilabel:`DNS`.
.. image:: domain_names/manage.png
:align: center
:alt: Management of the domain names linked to an Odoo database
.. note::
Please `submit a support ticket <https://www.odoo.com/help>`_ if you need further assistance to
manage your domain name.
.. _domain-name/existing:
Configure your existing domain name
===================================
If you already own a domain name, you can use it to point to your website.
To avoid any issue with the :ref:`SSL certificate validation <domain-name/ssl>`, we highly recommend
that you proceed with the following actions in this order:
#. :ref:`Add a CNAME record <domain-name/cname>` on your domain name's DNS zone.
#. :ref:`Map your domain name with your Odoo database <domain-name/db-map>`.
#. :ref:`Map your domain name with your Odoo website <domain-name/website-map>`.
.. _domain-name/cname:
Add a CNAME record
------------------
A **CNAME record** is a type of DNS record that points to the domain of another website rather than
directly to an IP address.
You need a CNAME record that points to your Odoo database. The requirements are detailed in your
database manager.
.. tabs::
.. group-tab:: Odoo Online
The target address is the current address of your database, as defined at its creation (e.g.,
``example.odoo.com``)
.. group-tab:: Odoo.sh
Your project's main address is defined in :menuselection:`Settings --> Project Name`.
If you want to target a specific branch (production, staging or development), go to
:menuselection:`Branches --> select your branch --> Settings --> Custom domains`, and click on
:guilabel:`How to set up my domain?`. A message indicates which address your CNAME record
should target.
#. Open your domain name's manager dashboard.
#. Open the **DNS zone** management page for the domain name you want to configure.
#. Create a **CNAME record** pointing to the address of your database.
While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``), you
can of course use any domain name of your choice, with any subdomain (e.g.,
``anything.example.com``).
.. example::
You own the domain name ``example.com``, and you have an Odoo Online database at the address
``example.odoo.com``. You want to access your Odoo database primarily with the domain
``www.example.com`` but also with the :ref:`naked domain <domain-name/naked-domain>`
``example.com``.
To do so, you create a CNAME record for the ``www`` subdomain, with ``example.odoo.com`` as the
target. The DNS zone manager generates the following rule and adds it to your DNS zone: ``www IN
CNAME example.odoo.com.``
You also create a redirection from ``example.com`` to ``wwww.example.com``.
Your new DNS records are propagated to all DNS servers.
.. note::
Here are some specific guidelines to create a CNAME record:
- `GoDaddy <https://www.godaddy.com/help/add-a-cname-record-19236>`_
- `Namecheap <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain>`_
- `OVH <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/#add-a-new-dns-record>`_
- `CloudFlare <https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
.. _domain-name/naked-domain:
Naked domain
~~~~~~~~~~~~
A **naked domain** is a domain name that doesn't have any subdomain at the beginning of the address
(e.g., ``odoo.com`` instead of ``www.odoo.com``).
You may want your naked domain to redirect to your website as some visitors may not type the full
domain name to access your website.
#. Open your domain name's manager dashboard.
#. Create a **redirection** from the naked domain (``example.com``) to your main domain name
(``www.example.com``).
.. note::
Depending on your domain name registrar, this redirection may be already pre-configured.
.. _domain-name/db-map:
Map your domain name with your Odoo database
--------------------------------------------
.. tabs::
.. group-tab:: Odoo Online
Open your `database manager <https://www.odoo.com/my/databases>`_, click on the
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
:guilabel:`Use my own domain` at the bottom of the right column.
Type the domain name you want to add to this database, then click on :guilabel:`Verify` to
check if the CNAME record is correctly configured. Once done, click on :guilabel:`I confirm,
it's done`.
.. image:: domain_names/online-map.png
:align: center
:alt: Verification of the CNAME records of a domain name before mapping it with a database
.. group-tab:: Odoo.sh
Go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, type
the domain name you want to add to this database, then click on :guilabel:`Add domain`.
.. image:: domain_names/odoo-sh-map.png
:align: center
:alt: Mapping a domain name with an Odoo.sh branch
.. seealso::
- :ref:`Odoo.sh branches: settings tab <odoosh-gettingstarted-branches-tabs-settings>`
.. warning::
Make sure to :ref:`add a CNAME record <domain-name/cname>` to your domain name's DNS **before**
mapping your domain name with your Odoo database.
Failing to do so may impede the validation of the :ref:`SSL certificate <domain-name/ssl>` and
would result in a *certificate name mismatch* error. This is often displayed by web browsers as a
warning such as *"Your connection is not private"*.
If this is the case and you have added the domain name to your database's settings less than five
days ago, wait 24 hours as the validation may still happen. Otherwise, please `submit a support
ticket <https://www.odoo.com/help>`_ including screenshots of your CNAME records.
.. _domain-name/ssl:
SSL encryption (HTTPS protocol)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**SSL encryption** is an encryption-based Internet security protocol. It allows your visitors to
navigate your website through a secure connection, which appears as an ``https://`` protocol at the
beginning of your web address, rather than a non-secure ``http://`` protocol.
Odoo generates a separate SSL certificate for each domain :ref:`mapped in the database manager
<domain-name/db-map>`, using integration with `Let's Encrypt Certificate Authority and ACME protocol
<https://letsencrypt.org/how-it-works/>`_.
.. note::
- The certificate generation may take up to 24h.
- Several attempts to validate your certificate are made during the five days following the
moment you add your domain name in your database's settings.
- If you already use another service, you can keep using it or simply change for Odoo.
.. _domain-name/web-base-url:
Web base URL of a database
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
If you have Odoo Website, you can disregard this part and directly :ref:`map your domain name
with your website <domain-name/website-map>`.
The **web base URL** of a database, or **root URL** affects your main website address and all the
links sent to your customers (e.g., quotations, portal links, etc.).
To configure it, access your Odoo database with your custom address, then log in as an administrator
of your database (any user in the *Settings* group) from the login screen.
.. warning::
Connecting to your database with the original Odoo subdomain address (e.g., ``example.odoo.com``
also updates the web base URL of your database. See below to prevent these automatic updates.
Alternatively, you can do it manually. To do so, activate the :ref:`developer mode
<developer-mode>`, then go to :menuselection:`Settings --> Technical --> System Parameters`.
Find the key called ``web.base.url`` (or create it if it does not exist) and enter the full address
of your website as value, such as ``https://www.example.com``.
.. note::
The URL must include the protocol ``https://`` (or ``http://``) and must not end with a slash
(``/``).
To prevent the automatic update of the web base URL when an administrator logs in the database, you
can create the following System Parameter:
- key: ``web.base.url.freeze``
- value: ``True``
.. _domain-name/website-map:
Map your domain name with your website
======================================
Mapping your domain name to your website isn't the same as mapping it with your database:
- It defines your domain name as the main one for your website, helping search engines to index your
website properly.
- It defines your domain name as the base URL for your database, including the portal links sent by
email to your customers.
- If you have multiple websites, it maps your domain name with the appropriate website.
Go to :menuselection:`Website --> Configuration --> Settings --> Website Info`. If you have multiple
websites, select the one you want to configure.
In the :guilabel:`Domain` field, fill in the web address of your website (e.g.,
``https://www.example.com``) and click on :guilabel:`Save`.
.. image:: domain_names/website-settings.png
:align: center
:alt: Configuring https://www.example.com as the Domain of the website
.. warning::
Mapping your domain name with your Odoo website prevents Google from indexing both your custom
domain name ``www.example.com`` and your original odoo database address ``example.odoo.com``.
If both addresses are already indexed, it may take some time before Google removes the indexation
of the second address. You may also try using the `Google Search Console
<https://search.google.com/search-console>`_ to fix this.
.. note::
If you have multiple websites and companies on your database, make sure that you select the
right :guilabel:`Company` in the website settings, next to the :guilabel:`Domain` settings. Doing
so indicates Odoo which URL to use as the :ref:`base URL <domain-name/web-base-url>` according to
the company in use.
.. seealso::
- :doc:`/applications/general/email_communication/email_servers`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

@@ -1,168 +0,0 @@
==============================
On-premise database management
==============================
Register a database
===================
To register your database, you just need to enter your Subscription Code in the
banner in the App Switcher. Make sure you do not add extra spaces before or after
your subscription code. If the registration is successful, it will turn green and
will provide you with the Expiration Date of your freshly-registered database. You
can check this Expiration Date in the About menu (Odoo 9) or in the Settings Dashboard
(Odoo 10).
Registration Error Message
--------------------------
If you are unable to register your database, you will likely encounter this
message:
.. image:: on_premise/error_message_sub_code.png
:align: center
:alt: Something went wrong while registering your database, you can try again or contact Odoo
Help
Solutions
~~~~~~~~~
* Do you have a valid Enterprise subscription?
* Check if your subscription details get the tag "In Progress" on
your `Odoo Account
<https://accounts.odoo.com/my/subscription>`__ or with your Account Manager
* Have you already linked a database with your subscription reference?
* You can link only one database per subscription.
(Need a test or a development database? `Find a partner
<https://www.odoo.com/partners>`__)
* You can unlink the old database yourself on your `Odoo Contract
<https://accounts.odoo.com/my/subscription>`__ with the button "Unlink database"
.. image:: on_premise/unlink_single_db.png
:align: center
A confirmation message will appear; make sure this is the correct database as
it will be deactivated shortly:
.. image:: on_premise/unlink_confirm_enterprise_edition.png
:align: center
* Do you have the updated version of Odoo 9?
* From July 2016 onward, Odoo 9 now automatically change the uuid of a
duplicated database; a manual operation is no longer required.
* If it's not the case, you may have multiple databases sharing the same
UUID. Please check on your `Odoo Contract
<https://accounts.odoo.com/my/subscription>`__, a short message will appear
specifying which database is problematic:
.. image:: on_premise/unlink_db_name_collision.png
:align: center
In this case, you need to change the UUID on your test databases to solve this
issue. You will find more information about this in :ref:`this section <duplicate_premise>`.
For your information, we identify database with UUID. Therefore, each database
should have a distinct UUID to ensure that registration and invoicing proceed
effortlessly for your and for us.
* Check your network and firewall settings
* The Update notification must be able to reach Odoo's subscription
validation servers. In other words, make sure that the Odoo server is able
to open outgoing connections towards:
* services.odoo.com on port 443 (or 80)
* services.openerp.com on port 443 (or 80) for older deployments
* Once you activated your database, you must keep these ports open, as the
Update notification runs once a week.
Error message due to too many users
-----------------------------------
If you have more users in your local database than provisionned in your
Odoo Enterprise subscription, you may encounter this message:
.. image:: on_premise/add_more_users.png
:align: center
:alt: This database will expire in X days, you have more users than your subscription allows
When the message appears you have 30 days before the expiration.
The countdown is updated everyday.
Solutions
~~~~~~~~~
- **Add more users** on your subscription: follow the link and Validate
the upsell quotation and pay for the extra users.
- **Deactivate users** as explained in this `documentation <documentation.html#deactivating-users>`_
and **Reject** the upsell quotation.
Once your database has the correct number of users, the expiration message
will disappear automatically after a few days, when the next verification occurs.
We understand that it can be a bit frightening to see the countdown,
so you can :ref:`force an Update Notification <force_ping>` to make the message disappear
right away.
Database expired error message
------------------------------
If your database reaches its expiration date before your renew your subscription,
you will encounter this message:
.. image:: on_premise/database_expired.png
:align: center
:alt: This database has expired.
This **blocking** message appears after a non-blocking message that lasts 30 days.
If you fail to take action before the end of the countdown, the database is expired.
Solutions
~~~~~~~~~
* Renew your subscription: follow the link and renew your subscription - note that
if you wish to pay by Wire Transfer, your subscription will effectively be renewed
only when the payment arrives, which can take a few days. Credit card payments are
processed immediately.
* Contact our `Support <https://www.odoo.com/help>`__
None of those solutions worked for you? Please contact our
`Support <https://www.odoo.com/help>`__
.. _force_ping:
.. _duplicate_premise:
Duplicate a database
====================
You can duplicate your database by accessing the database manager on your
server (<odoo-server>/web/database/manager). In this page, you can easily
duplicate your database (among other things).
.. image:: on_premise/db_manager.gif
:align: center
When you duplicate a local database, it is **strongly** advised to change
the duplicated database's uuid (Unniversally Unique Identifier), since this
uuid is how your database identifies itself with our servers. Having two
databases with the same uuid could result in invoicing problems or registration
problems down the line.
.. note::
From July 2016 onward, Odoo 9 now automatically change the uuid of a duplicated database; a
manual operation is no longer required.
The database uuid is currently accessible from the menu :menuselection:`Settings --> Technical -->
System Parameters`, we advise you to use a `uuid generator <https://www.uuidtools.com>`_ or to
use the unix command ``uuidgen`` to generate a new uuid. You can then simply replace it like any
other record by clicking on it and using the edit button.
.. image:: on_premise/db_uuid.png
:align: center
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 89 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,35 @@
====================
Neutralized database
====================
A neutralized database is a non-production database on which several parameters are deactivated.
This enables one to carry out tests without the risk of launching specific automated processes that
could impact production data (e.g., sending emails to customers). Live access is removed and
turned into a testing environment.
.. note::
**Any testing database created is a neutralized database:**
- testing backup databases
- duplicate databases
- for Odoo.sh: staging and development databases
.. important::
A database can also be neutralized when upgrading, as it is vital to do some tests before
switching to a new version.
Deactivated features
====================
Here is a non-exhaustive list of the deactivated parameters:
- all planned actions (e.g., automatic invoicing of subscriptions, mass mailing, etc.)
- outgoing emails
- bank synchronization
- payment providers
- delivery methods
- :abbr:`IAP (In-App Purchase)` tokens
.. note::
**A red banner at the top of the screen is displayed on the neutralized database so that it can
be seen immediately.**

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

+78
View File
@@ -0,0 +1,78 @@
=================
Odoo.com accounts
=================
This documentation is dedicated to edits made to an Odoo.com account. The following processes
describe how to delete an Odoo.com account, and how to change the password on an Odoo.com account.
Delete Odoo.com account
=======================
To delete an Odoo.com account, start by clicking the profile icon in the upper-right corner
(represented by the username and icon) to reveal a drop-down menu. From the drop-down menu, select
:guilabel:`My Odoo.com account`, which reveals the user portal.
From the user portal, 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 <https://www.odoo.com/my/home>`_.
.. danger::
Deleting an Odoo account is irreversible. Be careful performing this action, as the Odoo.com
account is **not** retrievable once deleted.
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
confirmation for the account deletion.
.. image:: odoo_account/delete-account.png
:align: center
:alt: Clicking on the Delete Account button will populate a window verifying the change.
To confirm the deletion, enter the :guilabel:`Password` and the :guilabel:`Login` for the account
being deleted. Then, click the :guilabel:`Delete Account` button to confirm the deletion.
Odoo.com account password change
================================
To change an Odoo.com account password, first login into the Odoo.com user account from the Odoo.com
login page. After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼
(down arrow)` icon next to the profile icon. Then, select :guilabel:`My Account`, and a portal
dashboard appears.
To change the Odoo.com password, click on the :guilabel:`Edit Security Settings` link, below the
:menuselection:`Account Security` section. Next, make the necessary changes by typing in the current
:guilabel:`Password`, :guilabel:`New Password`, and verify the new password. Lastly, click on
:guilabel:`Change Password` to complete the password change.
.. note::
If a customer would like to change the login, contact Odoo support `here
<https://www.odoo.com/help>`_.
.. note::
Passwords for Odoo.com users and portal users remain separate, even if the same email address is
used.
Add two-factor authentication
=============================
To add two-factor authentication, login into the Odoo.com user account from the Odoo.com login page.
After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼ (down
arrow)` icon next to the :guilabel:`profile icon`. Then, select :guilabel:`My Account`, and a portal
dashboard appears.
If the user would like to turn on two-factor authentication (2FA) for Odoo.com access, click on the
:guilabel:`Edit Security Settings` link below the :menuselection:`Account Security` section.
Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor
authentication)`. Then, confirm the current password in the :guilabel:`Password` field. Next, click
on :guilabel:`Confirm Password`. Following that, activate :abbr:`2FA (two-factor authentication)` in
a :abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the
:guilabel:`QR code` or entering a :guilabel:`Verification Code`.
Finally, click on :guilabel:`Enable two-factor authentication` to complete the setup.
.. note::
Under :guilabel:`My Account` Odoo.com users can also access the following:
- :guilabel:`My Partner dashboard`
- :guilabel:`My In-App Services`
- :guilabel:`My Apps Dashboard`
@@ -1,6 +1,21 @@
===============================
Odoo Online database management
===============================
===========
Odoo Online
===========
`Odoo Online <https://www.odoo.com/trial>`_ provides private databases which are fully managed and
hosted by Odoo. It can be used for long-term production or to test Odoo thoroughly, including
customizations that don't require code.
.. note::
Odoo Online is incompatible with custom modules or the Odoo App Store.
Odoo Online databases are accessed using any web browser and do not require a local installation.
To quickly try out Odoo, shared `demo <https://demo.odoo.com>`_ instances are available. No
registration is required, but each instance only lives for a few hours.
Database management
===================
To manage a database, go to the `database manager <https://www.odoo.com/my/databases>`_ and sign in
as the database administrator.
@@ -69,10 +84,11 @@ Download a ZIP file containing a backup of the database.
Domain names
============
Use a custom :doc:`domain name <domain_names>` to access the database via another URL.
Use a custom :doc:`domain name </applications/websites/website/configuration/domain_names>` to
access the database via another URL.
.. tip::
You can :ref:`register a domain name for free <domain-name/odoo-register>`.
You can :ref:`register a domain name for free <domain-name/register>`.
.. _odoo_online/tags:
@@ -129,6 +145,5 @@ users, click :guilabel:`Add more users`.
To remove users, select them and click :guilabel:`Remove`.
.. seealso::
- :doc:`../../applications/general/users/manage_users`
- :doc:`../../applications/general/users/delete_account`
- :doc:`/applications/general/users`
- :doc:`odoo_accounts`

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 6.0 KiB

After

Width:  |  Height:  |  Size: 6.0 KiB

@@ -91,7 +91,7 @@ Import your database
====================
You can import your database in your Odoo.sh project as long as it is in a :doc:`supported version
</administration/maintain/supported_versions>` of Odoo.
</administration/supported_versions>` of Odoo.
Push your modules in production
-------------------------------
@@ -202,4 +202,4 @@ therefore removed, as you can only have one database linked per subscription.
If you plan to make it your production, unlink your former database from the subscription, and
register the newly imported database. Read the :doc:`database registration documentation
<../../maintain/on_premise>` for instructions.
<../../on_premise>` for instructions.
@@ -85,7 +85,7 @@ From the Odoo.sh editor, in a terminal:
$ odoo-bin scaffold my_module ~/src/user/
Or, from your computer, if you have an :doc:`installation of Odoo <../../install/source>`:
Or, from your computer, if you have an :doc:`installation of Odoo <../../on_premise/source>`:
.. code-block:: bash
+123
View File
@@ -0,0 +1,123 @@
:show-content:
==========
On-premise
==========
Register a database
===================
To register your database, enter your subscription code in the banner in the app dashboard. If the
registration is successful, the banner will turn green and display the database expiration date.
.. tip::
The expiration date is also displayed at the bottom of the Settings page.
.. _on-premise/duplicate:
Duplicate a database
====================
Duplicate a database by accessing the database manager on your server
(`<odoo-server>/web/database/manager`). Typically, you want to duplicate your production database
into a neutralized testing database. It can be done by checking the neutralize box when prompted,
which executes all :file:`neutralize.sql` scripts for every installed module.
Common error messages and solutions
===================================
Registration error
------------------
In case of a registration error, the following message should be displayed.
.. image:: on_premise/error-message-sub-code.png
:alt: Database registration error message
To resolve the issue:
- Check the **validity of your Odoo Enterprise subscription** by verifying if your subscription
details have the tag :guilabel:`In Progress` on your `Odoo Account
<https://accounts.odoo.com/my/subscription>`_ or contact your Account Manager.
- Ensure that **no other database is linked** to the subscription code, as only one database can be
linked per subscription.
.. tip::
If a test or a development database is needed, you can :ref:`duplicate a database
<on-premise/duplicate>`.
- Verify that **no databases share the same UUID** (Universally Unique Identifier) by opening your
`Odoo Contract <https://accounts.odoo.com/my/subscription>`_. If two or more databases share the
same UUID, their name will be displayed.
.. image:: on_premise/unlink-db-name-collision.png
:alt: Database UUID error message
If that is the case, manually change the database(s) UUID or `send a support ticket
<https://www.odoo.com/help>`_.
- As the update notification must be able to reach Odoo's subscription validation servers, ensure
your **network and firewall settings** allow the Odoo server to open outgoing connections
towards:
- `services.odoo.com` on port `443` (or `80`)
- for older deployments, `services.openerp.com` on port `443` (or `80`)
These ports must be kept open even after registering a database, as the update notification runs
once a week.
Too many users error
--------------------
If you have more users in a local database than provisioned in your Odoo Enterprise subscription,
the following message should be displayed.
.. image:: on_premise/add-more-users.png
:alt: Too many users on a database error message
When the message appears, you have 30 days to act before the database expires. The countdown is
updated every day.
To resolve the issue, either:
- **Add more users** to your subscription by clicking the :guilabel:`Upgrade your subscription` link
displayed in the message to validate the upsell quotation and pay for the extra users.
- :ref:`Deactivate users <users/deactivate>` and **reject** the upsell quotation.
.. important::
If you are on a monthly subscription plan, the database will automatically update to reflect the
added user(s). If you are on a yearly or multi-year plan, an expiration banner will appear in the
database. You can create the upsell quotation by clicking the banner to update the subscription
or `send a support ticket <https://www.odoo.com/help>`_ to resolve the issue.
Once your database has the correct number of users, the expiration message disappears automatically
after a few days, when the next verification occurs.
Database expired error
----------------------
If your database expires before you renew your subscription, the following message should be
displayed.
.. image:: on_premise/database-expired.png
:alt: Database expired error message
This message appears if you fail to act before the end of the 30-day countdown.
To resolve the issue, either:
- Click the :guilabel:`Renew your subscription` link displayed in the message and complete the
process. If you pay by wire transfer, your subscription will be renewed when the payment arrives
which can take a few days. Credit card payments are processed immediately.
- `Send a support ticket <https://www.odoo.com/help>`_.
.. toctree::
on_premise/packages
on_premise/source
on_premise/update
on_premise/deploy
on_premise/email_gateway
on_premise/geo_ip
on_premise/community_to_enterprise
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.3 KiB

@@ -11,8 +11,8 @@ In any case the basic guidelines are:
* Backup your community database
.. image:: enterprise/db_manager.png
:class: img-fluid
.. image:: community_to_enterprise/db_manager.png
:class: img-fluid
* Shutdown your server
@@ -22,8 +22,8 @@ In any case the basic guidelines are:
* Enter your Odoo Enterprise Subscription code
.. image:: enterprise/enterprise_code.png
:class: img-fluid
.. image:: community_to_enterprise/enterprise_code.png
:class: img-fluid
On Linux, using an installer
============================
@@ -61,7 +61,7 @@ have your own favourite. You may need to adapt sections to your usual workflow.
* Shutdown your server
* Backup your community database
* Update the ``--addons-path`` parameter of your launch command (see :doc:`../install/source`)
* Update the ``--addons-path`` parameter of your launch command (see :doc:`../on_premise/source`)
* Install the web_enterprise module by using
.. code-block:: console
@@ -82,7 +82,7 @@ On Windows
* Uninstall Odoo Community (using the Uninstall executable in the installation folder) -
PostgreSQL will remain installed
.. image:: enterprise/windows_uninstall.png
.. image:: community_to_enterprise/windows_uninstall.png
:class: img-fluid
* Launch the Odoo Enterprise Installer and follow the steps normally. When choosing
@@ -90,8 +90,8 @@ On Windows
(this folder still contains the PostgreSQL installation).
Uncheck ``Start Odoo`` at the end of the installation
.. image:: enterprise/windows_setup.png
:class: img-fluid
.. image:: community_to_enterprise/windows_setup.png
:class: img-fluid
* Using a command window, update your Odoo Database using this command (from the Odoo
installation path, in the server subfolder)

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Before

Width:  |  Height:  |  Size: 25 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB

@@ -3,7 +3,7 @@ System configuration
====================
This document describes basic steps to set up Odoo in production or on an
internet-facing server. It follows :doc:`installation <../install>`, and is
internet-facing server. It follows :doc:`installation <../on_premise>`, and is
not generally necessary for a development systems that is not exposed on the
internet.
@@ -330,26 +330,27 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
proxy_pass http://odoochat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
proxy_cookie_flags session_id samesite=lax secure; # requires nginx 1.19.8
}
# Redirect requests to odoo backend server
location / {
# Add Headers for odoo proxy mode
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://odoo;
# Enable HSTS
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
# requires nginx 1.19.8
proxy_cookie_flags session_id samesite=lax secure;
proxy_cookie_flags session_id samesite=lax secure; # requires nginx 1.19.8
}
# common gzip
@@ -439,51 +440,71 @@ Odoo static files are located in each module's :file:`static/` folder, so static
by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module
(and file) in the various addons paths.
.. example::
Say Odoo has been installed via the **debian packages** for Community and Enterprise and the
:option:`--addons-path <odoo-bin --addons-path>` is ``'/usr/lib/python3/dist-packages/odoo/addons'``.
It is recommended to set the ``Content-Security-Policy: default-src 'none'`` header on all images
delivered by the web server. It is not strictly necessary as users cannot modify/inject content
inside of modules' :file:`static/` folder and existing images are final (they do not fetch new
resources by themselves). However, it is good practice.
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
Using the above NGINX (https) configuration, the following ``map`` and ``location`` blocks should be
added to serve static files via NGINX.
.. code-block:: nginx
.. code-block:: nginx
location @odoo {
# copy-paste the content of the / location block
}
map $sent_http_content_type $content_type_csp {
default "";
~image/ "default-src 'none'";
}
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
root /usr/lib/python3/dist-packages/odoo/addons;
try_files $uri @odoo;
expires 24h;
}
server {
# the rest of the configuration
location @odoo {
# copy-paste the content of the / location block
}
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
# root and try_files both depend on your addons paths
root ...;
try_files ... @odoo;
expires 24h;
add_header Content-Security-Policy $content_type_csp;
}
}
The actual ``root`` and ``try_files`` directives are dependant on your installation, specifically on
your :option:`--addons-path <odoo-bin --addons-path>`.
.. example::
Say Odoo has been installed via the **source**. The two git repositories for Community and
Enterprise have been cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise`
respectively and the :option:`--addons-path <odoo-bin --addons-path>` is
``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``.
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
.. tabs::
.. code-block:: nginx
.. group-tab:: Debian package
location @odoo {
# copy-paste the content of the / location block
}
Say Odoo has been installed via the **debian packages** for Community and Enterprise, and
that the :option:`--addons-path <odoo-bin --addons-path>` is
``'/usr/lib/python3/dist-packages/odoo/addons'``.
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
root /opt/odoo;
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
expires 24h;
}
The ``root`` and ``try_files`` should be:
.. warning::
The actual NGINX configuration you need is highly dependent on your own installation. The two
above snippets only highlight two possible configurations and may not be used as-is.
.. code-block:: nginx
root /usr/lib/python3/dist-packages/odoo/addons;
try_files $uri @odoo;
.. group-tab:: Git sources
Say Odoo has been installed via the **sources**, that both the Community and Enterprise git
repositories were cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise`
respectively, and that the :option:`--addons-path <odoo-bin --addons-path>` is
``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``.
The ``root`` and ``try_files`` should be:
.. code-block:: nginx
root /opt/odoo;
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
Serving attachments
-------------------

Before

Width:  |  Height:  |  Size: 6.9 KiB

After

Width:  |  Height:  |  Size: 6.9 KiB

@@ -1,6 +1,9 @@
==========================================
Geo IP Installation (On-Premises Database)
==========================================
======
Geo IP
======
.. note::
This documentation only applies to On-premise databases.
Installation
============
@@ -40,7 +43,7 @@ Installation
1. See `GeoLite Legacy databases are now discontinued
<https://support.maxmind.com/geolite-legacy-discontinuation-notice/>`_
How To Test GeoIP Geolocation In Your Odoo Website
How to test GeoIP geolocation in your Odoo website
==================================================
1. Go to your website. Open the web page that you want to test ``GeoIP``.
@@ -53,7 +56,7 @@ How To Test GeoIP Geolocation In Your Odoo Website
You should end up with a dictionary indicating the location of the IP address.
.. image:: on-premise_geo-ip-installation/on-premise_geo-ip-installation01.png
.. image:: geo_ip/on-premise_geo-ip-installation01.png
:align: center
.. note::
@@ -16,8 +16,8 @@ Official **Community** and **Enterprise** packages can be downloaded from the `O
<https://www.odoo.com/page/download>`_.
.. note::
It is required to be logged in as a paying customer or partner to download the Enterprise
packages.
It is required to be logged in as a paying on-premise customer or partner to download the
Enterprise packages.
.. _install/packages/linux:
@@ -54,10 +54,10 @@ Odoo needs a `PostgreSQL <https://www.postgresql.org/>`_ server to run properly.
$ sudo systemctl start postgresql
.. warning::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.5
<https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5>`_ for it to support headers and
footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for
more details on the various versions.
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.6
<https://github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3>`_ for it to support headers
and footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_
for more details on the various versions.
Repository
----------
@@ -1,6 +1,6 @@
======
Source
======
==============
Source install
==============
The source 'installation' is not about installing Odoo but running it directly from the source
instead.
@@ -225,7 +225,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -s $USER
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
.. note::
@@ -250,7 +250,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -s $USER
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
.. note::
@@ -409,10 +409,10 @@ Dependencies
$ sudo npm install -g rtlcss
.. warning::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.5
<https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5>`_ for it to support headers and
footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for
more details on the various versions.
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.6
<https://github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3>`_ for it to support headers
and footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_
for more details on the various versions.
.. _install/source/running_odoo:
@@ -475,7 +475,7 @@ http://localhost:8069 in a web browser and log into the Odoo database with the b
account: use `admin` as the email and, again, `admin` as the password.
.. tip::
- From there, create and manage new :doc:`users <../../applications/general/users/manage_users>`.
- From there, create and manage new :doc:`users <../../applications/general/users>`.
- The user account used to log into Odoo's web interface differs from the :option:`--db_user
<odoo-bin -r>` CLI argument.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

@@ -46,7 +46,7 @@ Updating Odoo is accomplished by simply reinstalling the latest version of your
Edition on top of your current installation. This will preserve your data without any alteration,
as long as you do not uninstall PostgreSQL (the database engine that comes with Odoo).
The main reference for updating is logically our :doc:`installation guide <../install>`,
The main reference for updating is logically our :doc:`installation guide <../on_premise>`,
which explains the common installation methods.
Updating is also most appropriately accomplished by the person who deployed Odoo initially,
@@ -13,7 +13,7 @@ Odoo provides support and bug fixing **for the 3 last major versions** of Odoo.
<odoo_online>` hosting every two months. Odoo Online users can then benefit from the latest
features of Odoo.
- Admins of Odoo Online databases are invited to :doc:`upgrade <../upgrade>` them regularly.
- Admins of Odoo Online databases are invited to :doc:`upgrade <upgrade>` them regularly.
- Online versions are *not* released for Odoo.sh and On-Premise installations.
- Online versions are listed below as *SaaS*.
@@ -31,12 +31,18 @@ This matrix shows the support status of every version.
- On-Premise
- Release date
- End of support
* - Odoo saas~17.1
- |green|
- N/A
- N/A
- January 2024
-
* - **Odoo 17.0**
- |green|
- |green|
- |green|
- November 2023
- November 2026 (planned)
- October 2026 (planned)
* - Odoo saas~16.4
- |green|
- N/A
+29 -32
View File
@@ -5,8 +5,8 @@ Upgrade
.. _administration/upgrade:
An upgrade is the process of moving your database from an older version to a newer :doc:`supported
version <maintain/supported_versions>` (e.g., Odoo 14.0 to Odoo 16.0). Frequently upgrading is
essential as each version comes with new and improved features, bug fixes, and security patches.
version <supported_versions>` (e.g., Odoo 14.0 to Odoo 16.0). Frequently upgrading is essential as
each version comes with new and improved features, bug fixes, and security patches.
.. _upgrade_faq/rolling_release:
@@ -33,16 +33,17 @@ essential as each version comes with new and improved features, bug fixes, and s
An upgrade does not cover:
- Downgrading to a previous version of Odoo
- :doc:`Switching editions <maintain/enterprise>` (e.g., from Community to Enterprise)
- :doc:`Changing hosting type </administration/maintain/hosting_changes>` (e.g., from on-premise
to Odoo Online)
- :doc:`Switching editions <on_premise/community_to_enterprise>` (e.g., from Community to
Enterprise)
- :ref:`Changing hosting type <hosting/change-solution>` (e.g., from on-premise to Odoo Online)
- Migrating from another ERP to Odoo
.. warning::
If your database contains a **custom module**, you must first upgrade its source code to be
compatible with the new version of Odoo **before upgrading**.
.. TODOUPG : once the page for developers is published, uncomment and link
.. :doc:`first upgrade its source code </developer/reference/upgrade>`
If your database contains custom modules, it cannot be upgraded until a version of your custom
modules is available for the target version of Odoo. For customers maintaining their own custom
modules, we recommend to parallelize the process by :ref:`requesting an upgraded database
<upgrade/request-test-database>` while also :doc:`upgrading the source code of your custom
modules </developer/howtos/upgrade_custom_db>`.
Upgrading in a nutshell
@@ -51,15 +52,15 @@ Upgrading in a nutshell
#. Request an upgraded test database (see :ref:`obtaining an upgraded test database
<upgrade/request-test-database>`).
#. If applicable, upgrade the source code of your custom module to be compatible with the new
version of Odoo (see :doc:`/developer/howtos/upgrade_custom_db`).
#. Thoroughly test the upgraded database (see :ref:`testing the new version of the database
<upgrade/test_your_db>`).
#. Report any issue encountered during the testing to Odoo via the `support page
<https://odoo.com/help?stage=migration>`__.
#. (If applicable) : upgrade the source code of your custom module to be compatible with the new
version of Odoo.
#. Once all issues are resolved and you are confident that the upgraded database can be used as
your main database without any issues, plan the upgrade of your production database.
@@ -69,9 +70,6 @@ Upgrading in a nutshell
#. Report any issue encountered during the upgrade to Odoo via the `support page
<https://odoo.com/help?stage=post_upgrade>`__.
.. TODOUPG: Once the page for developers is published, put this at 4)
.. (see :ref:`upgrading customizations <upgrade/upgrading_customizations>`).
.. _upgrade/request-test-database:
Obtaining an upgraded test database
@@ -136,18 +134,13 @@ project <https://odoo.sh/project>`_.
file of the upgrade process can be found in your newly upgraded staging build by going to
:file:`~/logs/upgrade.log`.
.. note::
In databases where custom modules are installed, their source code
must be up-to-date with the target version of Odoo before the upgrade
can be performed. If there are none, the "update on commit" mode is
skipped, the upgraded database is built as soon as it is transferred from the upgrade
platform, and the upgrade mode is exited.
.. important::
In databases where custom modules are installed, their source code must be up-to-date with
the target version of Odoo before the upgrade can be performed. If there are none, the
"update on commit" mode is skipped, the upgraded database is built as soon as it is
transferred from the upgrade platform, and the upgrade mode is exited.
.. TODOUPG : once the page for developers is published, uncomment
.. Check out the :doc:`upgrade for developers'
.. documentation </developer/reference/upgrade>` for more information. In
.. addition, if a module is not needed after an upgrade, :ref:`you can
.. remove customizations <upgrade/remove_customizations>`.
Check out the :doc:`/developer/howtos/upgrade_custom_db` page for more information.
.. group-tab:: On-premise
@@ -167,6 +160,11 @@ project <https://odoo.sh/project>`_.
An upgraded test database can also be requested via the `Upgrade page
<https://upgrade.odoo.com/>`_.
.. important::
In databases where custom modules are installed, their source code must be up-to-date with
the target version of Odoo before the upgrade can be performed. Check out the
:doc:`/developer/howtos/upgrade_custom_db` page for more information.
.. note::
- For security reasons, only the person who submitted the upgrade request can download it.
- For storage reasons, the database's copy is submitted without a filestore to the upgrade
@@ -291,8 +289,8 @@ the upgrade at a time when the use of the database is minimal.
As the standard upgrade scripts and your database are constantly evolving, it is also recommended
to frequently request another upgraded test database to ensure that the upgrade process is
still successful, especially if it takes a long time to finish. Fully rehearsing the upgrade
process the day before upgrading the production database is also recommended.
still successful, especially if it takes a long time to finish. **Fully rehearsing the upgrade
process the day before upgrading the production database is also recommended.**
.. important::
- Going into production without first testing may lead to:
@@ -337,9 +335,8 @@ exceptions.
The update of your custom modules must be successful to complete the entire upgrade process.
Make sure the status of your staging upgrade is :guilabel:`successful` before trying it in
production.
.. TODOUPG : once the page for developers is published, uncomment
.. More information on how to upgrade your custom modules can be found in the :ref:`upgrading customizations documentation <upgrade/upgrading_customizations>`.
production. More information on how to upgrade your custom modules can be found on
:doc:`/developer/howtos/upgrade_custom_db`.
.. group-tab:: On-premise
@@ -407,4 +404,4 @@ The following upgrade-related services are **not** included:
.. seealso::
- :doc:`Odoo.sh documentation <odoo_sh>`
- :doc:`Supported Odoo versions <maintain/supported_versions>`
- :doc:`Supported Odoo versions <supported_versions>`
+2
View File
@@ -14,6 +14,7 @@ Discover our user guides and configuration tutorials per application.
.. toctree::
:maxdepth: 2
applications/essentials
applications/finance
applications/sales
applications/websites
@@ -22,4 +23,5 @@ Discover our user guides and configuration tutorials per application.
applications/marketing
applications/services
applications/productivity
applications/studio
applications/general
+11
View File
@@ -0,0 +1,11 @@
===============
Odoo essentials
===============
.. toctree::
essentials/activities
essentials/reporting
essentials/search
essentials/export_import_data
essentials/in_app_purchase
@@ -0,0 +1,239 @@
==========
Activities
==========
*Activities* are follow-up tasks tied to a record in an Odoo database. Activities can be scheduled
on any page of the database that contains a chatter thread, kanban view, list view, or activities
view of an application.
Schedule activities
===================
One way that activities are created is by clicking the :guilabel:`Schedule Activity` button, located
at the top of the *chatter* on any record. On the pop-up window that appears, select an
:guilabel:`Activity Type` from the drop-down menu.
.. tip::
Individual applications have a list of *Activity Types* dedicated to that application. For
example, to view and edit the activities available for the *CRM* application, go to
:menuselection:`CRM app --> Configuration --> Activity Types`.
Enter a title for the activity in the :guilabel:`Summary` field, located in the :guilabel:`Schedule
Activity` pop-up window.
To assign the activity to a different user, select a name from the :guilabel:`Assigned to` drop-down
menu. Otherwise, the user creating the activity is automatically assigned.
Lastly, feel free to add any additional information in the optional :guilabel:`Log a note...` field.
.. note::
The :guilabel:`Due Date` field on the :guilabel:`Schedule Activity` pop-up window auto-populates
based on the configuration settings for the selected :guilabel:`Activity Type`. However, this
date can be changed by selecting a day on the calendar in the :guilabel:`Due Date` field.
Lastly, click one of the following buttons:
- :guilabel:`Schedule`: adds the activity to the chatter under :guilabel:`Planned activities`.
- :guilabel:`Mark as Done`: adds the details of the activity to the chatter under :guilabel:`Today`.
The activity is not scheduled, it is automatically marked as completed.
- :guilabel:`Done \& Schedule Next`: adds the task under :guilabel:`Today` marked as done, and
opens a new activity window.
- :guilabel:`Discard`: discards any changes made on the pop-up window.
.. image:: activities/schedule-pop-up.png
:alt: View of CRM leads and the option to schedule an activity.
.. note::
Depending on the activity type, the :guilabel:`Schedule` button may be replaced by a
:guilabel:`Save` button, or an :guilabel:`Open Calendar` button.
Scheduled activities are added to the chatter for the record under :guilabel:`Planned activities`.
.. image:: activities/chatter-activities.png
:alt: View of CRM leads and the option to schedule an activity.
Activities can also be scheduled from the kanban, list, or activities view of an application.
.. tabs::
.. tab:: Kanban view
Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon,
then :guilabel:`Schedule An Activity`, and proceed to fill out the pop-up form.
.. image:: activities/schedule-kanban-activity.png
:alt: Kanban view of the CRM pipeline and the option to schedule an activity.
.. tab:: List view
Select a record on which to schedule an activity. Click on the :guilabel:`🕘 (clock)` icon,
then :guilabel:`Schedule An Activity`. If the record already has an activity scheduled, the
clock icon may be replaced by a :guilabel:`📞 (phone)` or an :guilabel:`✉️ (envelope)` icon.
.. image:: activities/schedule-list-activity.png
:alt: List view of the CRM pipeline and the option to schedule an activity.
.. tab:: Activity view
To open the activity view for an application, select the :guilabel:`🕘 (clock)` icon from the
menu bar anywhere in the database. Select any application from the drop-down menu, and click
the :guilabel:`🕘 (clock)` icon for the desired app.
.. image:: activities/schedule-activity-view-menu.png
:alt: Activity menu drop down with focus on where to open activity view for CRM.
Select a record on which to schedule an activity. Move across the row to find the desired
activity type, then click the :guilabel:` (plus sign)`.
.. image:: activities/schedule-activity-view.png
:alt: Activity view of the CRM pipeline and the option to schedule an activity.
.. note::
Activity colors, and their relation to an activity's due date, is consistent throughout Odoo,
regardless of the activity type, or the view.
- Activities that appear in **green** indicate a due date sometime in the future.
- **Yellow** indicates that the activity's due date is today.
- **Red** indicates that the activity is overdue and the due date has passed.
For example, if an activity is created for a phone call, and the due date passes, the activity
appears with a red phone in list view, and a red clock on the kanban view.
View scheduled activities
=========================
To view scheduled activities, open either the :menuselection:`Sales app` or :menuselection:`CRM app`
and click the :guilabel:`🕘 (clock)` icon, located to the far-right side of the other view options.
Doing so opens the activities menu, showcasing all the scheduled activities for the user, by
default. To show all activities for every user, remove the :guilabel:`My Pipeline` filter from the
:guilabel:`Search...` bar.
To view a consolidated list of activities separated by the application where they were created, and
by deadline, click the :guilabel:`🕘 (clock)` icon on the header menu to see the activities for that
specific application in a drop-down menu.
The possibility to :guilabel:`Add new note` and :guilabel:`Request a Document` appear at the bottom
of this drop-down menu, when the :guilabel:`🕘 (clock)` icon on the header menu is clicked.
.. image:: activities/activities-menu.png
:alt: View of CRM leads page emphasizing the activities menu.
Configure activity types
========================
To configure the types of activities in the database, go to :menuselection:`Settings app --> Discuss
--> Activities --> Activity Types`.
.. image:: activities/settings-activities-types.png
:alt: View of the settings page emphasizing the menu activity types.
Doing so reveals the :guilabel:`Activity Types` page, where the existing activity types are found.
To edit an existing activity type, select it from the list, then click :guilabel:`Edit`. To create a
new activity type, click :guilabel:`Create`.
At the top of a blank activity type form, start by choosing a :guilabel:`Name` for the new activity
type.
.. image:: activities/new-activity-type.png
:alt: New activity type form.
Activity settings
-----------------
Action
~~~~~~
The *Action* field specifies the intent of the activity. Some actions trigger specific behaviors
after an activity is scheduled.
- If :guilabel:`Upload Document` is selected, a link to upload a document is added directly to the
planned activity in the chatter.
- If either :guilabel:`Phonecall` or :guilabel:`Meeting` are selected, users have the option to open
their calendar to schedule a time for this activity.
- If :guilabel:`Request Signature` is selected, a link is added to the planned activity in the
chatter that opens a signature request pop-up window.
.. note::
The actions available to select on an activity type vary, depending on the applications currently
installed in the database.
Default user
~~~~~~~~~~~~
To automatically assign this activity to a specific user when this activity type is scheduled,
choose a name from the :guilabel:`Default User` drop-down menu. If this field is left blank, the
activity is assigned to the user who creates the activity.
Default summary
~~~~~~~~~~~~~~~
To include notes whenever this activity type is created, enter them into the :guilabel:`Default
Summary` field.
.. note::
The information in the :guilabel:`Default User` and :guilabel:`Default Summary` fields are
included when an activity is created. However, they can be altered before the activity is
scheduled or saved.
Next activity
-------------
To automatically suggest, or trigger, a new activity after an activity has been marked complete, the
:guilabel:`Chaining Type` must be set.
Suggest next activity
~~~~~~~~~~~~~~~~~~~~~
In the :guilabel:`Chaining Type` field, select :guilabel:`Suggest Next Activity`. Upon doing so, the
field underneath changes to: :guilabel:`Suggest`. Click the :guilabel:`Suggest` field drop-down menu
to select any activities to recommend as follow-up tasks to this activity type.
In the :guilabel:`Schedule` field, choose a default deadline for these activities. To do so,
configure a desired number of :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months`. Then,
decide if it should occur :guilabel:`after completion date` or :guilabel:`after previous activity
deadline`.
This :guilabel:`Schedule` field information can be altered before the activity is scheduled.
When all configurations are complete, click :guilabel:`Save`.
.. image:: activities/schedule-recommended-activity.png
:alt: Schedule activity popup with emphasis on recommended activities.
.. note::
If an activity has the :guilabel:`Chaining Type` set to :guilabel:`Suggest Next Activity`, and
has activities listed in the :guilabel:`Suggest` field, users are presented with recommendations
for activities as next steps.
Trigger next activity
~~~~~~~~~~~~~~~~~~~~~
Setting the :guilabel:`Chaining Type` to :guilabel:`Trigger Next Activity` immediately launches the
next activity once the previous one is completed.
If :guilabel:`Trigger Next Activity` is selected in the :guilabel:`Chaining Type` field, the field
beneath changes to: :guilabel:`Trigger`. From the :guilabel:`Trigger` field drop-down menu, select
the activity that should be launched once this activity is completed.
In the :guilabel:`Schedule` field, choose a default deadline for these activities. To do so,
configure a desired number of :guilabel:`Days`, :guilabel:`Weeks`, or :guilabel:`Months`. Then,
decide if it should occur :guilabel:`after completion date` or :guilabel:`after previous activity
deadline`.
This :guilabel:`Schedule` field information can be altered before the activity is scheduled.
When all configurations are complete, click :guilabel:`Save`.
.. image:: activities/triggered-activities.png
:alt: Schedule new activity popup with emphasis on Done and launch next button.
.. note::
When an activity has the :guilabel:`Chaining Type` set to :guilabel:`Trigger Next Activity`,
marking the activity as `Done` immediately launches the next activity listed in the
:guilabel:`Trigger` field.
.. seealso::
- :doc:`/applications/productivity/discuss`
- :doc:`/applications/productivity/discuss/team_communication`
Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,477 @@
======================
Export and import data
======================
In Odoo, it is sometimes necessary to export or import data for running reports, or for data
modification. This document covers the export and import of data into and out of Odoo.
.. important::
Sometimes, users run into a 'time out' error, or a record does not process, due to its size. This
can occur with large exports, or in cases where the import file is too large. To circumvent this
limitation surrounding the size of the records, process exports or imports in smaller batches.
.. _export-data:
Export data from Odoo
=====================
When working with a database, it is sometimes necessary to export data in a distinct file. Doing so
can aid in reporting on activities, although, Odoo provides a precise and easy reporting tool with
each available application.
With Odoo, the values can be exported from any field in any record. To do so, activate the list view
(:guilabel:`☰ (three horizontal lines)` icon), on the items that need to be exported, and then
select the records that should be exported. To select a record, tick the checkbox next to the
corresponding record. Finally, click on :guilabel:`⚙️ Action`, and then :guilabel:`Export`.
.. image:: export_import_data/list-view-export.png
:align: center
:alt: View of the different things to enable/click to export data.
When clicking on :guilabel:`Export`, an :guilabel:`Export Data` pop-over window appears, with
several options for the data to export:
.. image:: export_import_data/export-data-overview.png
:align: center
:alt: Overview of options to consider when exporting data in Odoo..
#. With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system
only shows the fields that can be imported. This is helpful in the case where the existing
records need to be updated. This works like a filter. Leaving the box unticked, gives many more
field options because it shows all the fields, not just the ones that can be imported.
#. When exporting, there is the option to export in two formats: `.csv` and `.xls`. With `.csv`,
items are separated by a comma, while `.xls` holds information about all the worksheets in a
file, including both content and formatting.
#. These are the items that can be exported. Use the :guilabel:`> (right arrow)` icon to display
more sub-field options. Use the :guilabel:`Search` bar to find specific fields. To use the
:guilabel:`Search` option more efficiently, click on all the :guilabel:`> (right arrows)` to
display all fields.
#. The :guilabel:`+ (plus sign)` icon button is present to add fields to the :guilabel:`Fields to
export` list.
#. The :guilabel:`↕️ (up-down arrow)` to the left of the selected fields can be used to move the
fields up and down, to change the order in which they are displayed in the exported file.
Drag-and-drop using the :guilabel:`↕️ (up-down arrow)` icon.
#. The :guilabel:`🗑️ (trash can)` icon is used to remove fields. Click on the :guilabel:`🗑️ (trash
can)` icon to remove the field.
#. For recurring reports, it is helpful to save export presets. Select all the needed fields, and
click on the template drop-down menu. Once there, click on :guilabel:`New template`, and give a
unique name to the export just created. The next time the same list needs to be exported, select
the related template that was previously saved from the drop-down menu.
.. tip::
It is helpful to know the field's external identifier. For example, :guilabel:`Related Company`
in the export user interface is equal to *parent_id* (external identifier). This is helpful
because then, the only data exported is what should be modified and re-imported.
.. _import-data:
Import data into Odoo
=====================
Importing data into Odoo is extremely helpful during implementation, or in times where data needs to
be updated in bulk. The following documentation covers how to import data into an Odoo database.
.. warning::
Imports are permanent and **cannot** be undone. However, it is possible to use filters (`created
on` or `last modified`) to identify records changed or created by the import.
.. tip::
Activating :ref:`developer mode <developer-mode>` changes the visible import settings in the left
menu. Doing so reveals an :menuselection:`Advanced` menu. Included in this advanced menu are two
options: :guilabel:`Track history during import` and :guilabel:`Allow matching with subfields`.
.. image:: export_import_data/advanced-import.png
:align: center
:alt: Advanced import options when developer mode is activated.
If the model uses openchatter, the :guilabel:`Track history during import` option sets up
subscriptions and sends notifications during the import, but leads to a slower import.
Should the :guilabel:`Allow matching with subfields` option be selected, then all subfields
within a field are used to match under the :guilabel:`Odoo Field` while importing.
Get started
-----------
Data can be imported on any Odoo business object using either Excel (`.xlsx`) or :abbr:`CSV
(Comma-separated Values)` (`.csv`) formats. This includes: contacts, products, bank statements,
journal entries, and orders.
Open the view of the object to which the data should be imported/populated, and click on
:menuselection:`⭐ Favorites --> Import records`.
.. image:: export_import_data/import-button.png
:align: center
:alt: Favorites menu revealed with the import records option highlighted.
After clicking :guilabel:`Import records`, Odoo reveals a separate page with templates that can be
downloaded and populated with the company's own data. Such templates can be imported in one click,
since the data mapping is already done. To download a template click :guilabel:`Import Template for
Customers` at the center of the page.
.. important::
When importing a :abbr:`CSV (Comma-separated Values)` file, Odoo provides :guilabel:`Formatting`
options. These options do **not** appear when importing the proprietary Excel file type (`.xls`,
`.xlsx`).
.. image:: export_import_data/formatting.png
:align: center
:alt: Formatting options presented when a CVS file is imported in Odoo.
Make necessary adjustments to the *Formatting* options, and ensure all columns in the
:guilabel:`Odoo field` and :guilabel:`File Column` are free of errors. Finally, click
:guilabel:`Import` to import the data.
Adapt a template
----------------
Import templates are provided in the import tool of the most common data to import (contacts,
products, bank statements, etc.). Open them with any spreadsheet software (*Microsoft Office*,
*OpenOffice*, *Google Drive*, etc.).
Once the template is downloaded, proceed to follow these steps:
- Add, remove, and sort columns to best fit the data structure.
- It is strongly advised to **not** remove the :guilabel:`External ID` (ID) column (see why in the
next section).
- Set a unique ID to every record by dragging down the ID sequencing in the :guilabel:`External ID`
(ID) column.
.. image:: export_import_data/dragdown.gif
:align: center
:alt: An animation of the mouse dragging down the ID column, so each record has a unique ID.
.. note::
When a new column is added, Odoo may not be able to map it automatically, if its label does not
fit any field within Odoo. However, new columns can be mapped manually when the import is tested.
Search the drop-down menu for the corresponding field.
.. image:: export_import_data/field_list.png
:align: center
:alt: Drop-down menu expanded in the initial import screen on Odoo.
Then, use this field's label in the import file to ensure future imports are successful.
.. tip::
Another useful way to find out the proper column names to import is to export a sample file
using the fields that should be imported. This way, if there is not a sample import template,
the names are accurate.
Import from another application
-------------------------------
The :guilabel:`External ID` (ID) is a unique identifier for the line item. Feel free to use one
from previous software to facilitate the transition to Odoo.
Setting an ID is not mandatory when importing, but it helps in many cases:
- Update imports: import the same file several times without creating duplicates.
- :ref:`Import relation fields <export_import_data/relation-fields>`.
To recreate relationships between different records, the unique identifier from the original
application should be used to map it to the :guilabel:`External ID` (ID) column in Odoo.
When another record is imported that links to the first one, use **XXX/ID** (XXX/External ID) for
the original unique identifier. This record can also be found using its name.
.. warning::
It should be noted that there will be a conflict if two or more records have the same name.
The :guilabel:`External ID` (ID) can also be used to update the original import, if modified data
needs to be re-imported later, therefore, it is a good practice to specify it whenever possible.
Field missing to map column
---------------------------
Odoo heuristically tries to find the type of field for each column inside the imported file, based
on the first ten lines of the files.
For example, if there is a column only containing numbers, only the fields with the *integer* type
are presented as options.
While this behavior might be beneficial in most cases, it is also possible that it could fail, or
the column may be mapped to a field that is not proposed by default.
If this happens, check the :guilabel:`Show fields of relation fields (advanced) option`, then a
complete list of fields becomes available for each column.
.. image:: export_import_data/field_list.png
:align: center
:alt: Searching for the field to match the tax column.
Change data import format
-------------------------
.. note::
Odoo can automatically detect if a column is a date, and tries to guess the date format from a
set of most commonly used date formats. While this process can work for many date formats, some
date formats are not recognizable. This can cause confusion, due to day-month inversions; it is
difficult to guess which part of a date format is the day, and which part is the month, in a
date, such as `01-03-2016`.
When importing a :abbr:`CSV (Comma-separated Values)` file, Odoo provides :guilabel:`Formatting`
options.
To view which date format Odoo has found from the file, check the :guilabel:`Date Format` that is
shown when clicking on options under the file selector. If this format is incorrect, change it to
the preferred format using *ISO 8601* to define the format.
.. important::
*ISO 8601* is an international standard, covering the worldwide exchange, along with the
communication of date and time-related data. For example, the date format should be `YYYY-MM-DD`.
So, in the case of July 24th 1981, it should be written as `1981-07-24`.
.. tip::
When importing Excel files (`.xls`, `.xlsx`), consider using *date cells* to store dates. This
maintains locale date formats for display, regardless of how the date is formatted in Odoo. When
importing a :abbr:`CSV (Comma-separated Values)` file, use Odoo's :guilabel:`Formatting` section
to select the date format columns to import.
Import numbers with currency signs
----------------------------------
Odoo fully supports numbers with parenthesis to represent negative signs, as well as numbers with
currency signs attached to them. Odoo also automatically detects which thousand/decimal separator is
used. If a currency symbol unknown to Odoo is used, it might not be recognized as a number, and the
import crashes.
.. note::
When importing a :abbr:`CSV (Comma-separated Values)` file, the :guilabel:`Formatting` menu
appears on the left-hand column. Under these options, the :guilabel:`Thousands Separator` can be
changed.
Examples of supported numbers (using 'thirty-two thousand' as the figure):
- 32.000,00
- 32000,00
- 32,000.00
- -32000.00
- (32000.00)
- $ 32.000,00
- (32000.00 €)
Example that will not work:
- ABC 32.000,00
- $ (32.000,00)
.. important::
A :guilabel:`() (parenthesis)` around the number indicates that the number is a negative value.
The currency symbol **must** be placed within the parenthesis for Odoo to recognize it as a
negative currency value.
Import preview table not displayed correctly
--------------------------------------------
By default, the import preview is set on commas as field separators, and quotation marks as text
delimiters. If the :abbr:`CSV (Comma-separated Values)` file does not have these settings, modify
the :guilabel:`Formatting` options (displayed under the :guilabel:`Import` :abbr:`CSV
(Comma-separated Values)` file bar after selecting the :abbr:`CSV (Comma-separated Values)` file).
.. important::
If the :abbr:`CSV (Comma-separated Values)` file has a tabulation as a separator, Odoo does
**not** detect the separations. The file format options need to be modified in the spreadsheet
application. See the following :ref:`Change CSV file format <export_import_data/change-csv>`
section.
.. _export_import_data/change-csv:
Change CSV file format in spreadsheet application
-------------------------------------------------
When editing and saving :abbr:`CSV (Comma-separated Values)` files in spreadsheet applications, the
computer's regional settings are applied for the separator and delimiter. Odoo suggests using
*OpenOffice* or *LibreOffice*, as both applications allow modifications of all three options (from
*LibreOffice* application, go to :menuselection:`'Save As' dialog box --> Check the box 'Edit filter
settings' --> Save`).
Microsoft Excel can modify the encoding when saving (:menuselection:`'Save As' dialog box -->
'Tools' drop-down menu --> Encoding tab`).
Difference between Database ID and External ID
----------------------------------------------
Some fields define a relationship with another object. For example, the country of a contact is a
link to a record of the 'Country' object. When such fields are imported, Odoo has to recreate links
between the different records. To help import such fields, Odoo provides three mechanisms.
.. important::
**Only one** mechanism should be used per field that is imported.
For example, to reference the country of a contact, Odoo proposes three different fields to import:
- :guilabel:`Country`: the name or code of the country
- :guilabel:`Country/Database ID`: the unique Odoo ID for a record, defined by the ID PostgreSQL
column
- :guilabel:`Country/External ID`: the ID of this record referenced in another application (or the
`.XML` file that imported it)
For the country of Belgium, for example, use one of these three ways to import:
- :guilabel:`Country`: `Belgium`
- :guilabel:`Country/Database ID`: `21`
- :guilabel:`Country/External ID`: `base.be`
According to the company's need, use one of these three ways to reference records in relations. Here
is an example when one or the other should be used, according to the need:
- Use :guilabel:`Country`: this is the easiest way when data comes from :abbr:`CSV (Comma-separated
Values)` files that have been created manually.
- Use :guilabel:`Country/Database ID`: this should rarely be used. It is mostly used by developers
as the main advantage is to never have conflicts (there may be several records with the same name,
but they always have a unique Database ID)
- Use :guilabel:`Country/External ID`: use *External ID* when importing data from a third-party
application.
When *External IDs* are used, import :abbr:`CSV (Comma-separated Values)` files with the
:guilabel:`External ID` (ID) column defining the *External ID* of each record that is imported.
Then, a reference can be made to that record with columns, like `Field/External ID`. The following
two :abbr:`CSV (Comma-separated Values)` files provide an example for products and their categories.
- :download:`CSV file for categories
<export_import_data/External_id_3rd_party_application_product_categories.csv>`
- :download:`CSV file for Products
<export_import_data/External_id_3rd_party_application_products.csv>`
.. _export_import_data/relation-fields:
Import relation fields
----------------------
An Odoo object is always related to many other objects (e.g. a product is linked to product
categories, attributes, vendors, etc.). To import those relations, the records of the related object
need to be imported first, from their own list menu.
This can be achieved by using either the name of the related record, or its ID, depending on the
circumstances. The ID is expected when two records have the same name. In such a case add `/ ID`
at the end of the column title (e.g. for product attributes: `Product Attributes / Attribute / ID`).
Options for multiple matches on fields
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If, for example, there are two product categories with the child name `Sellable` (e.g. `Misc.
Products/Sellable` & `Other Products/Sellable`), the validation is halted, but the data may still be
imported. However, Odoo recommends that the data is not imported because it will all be linked to
the first `Sellable` category found in the *Product Category* list (`Misc. Products/Sellable`).
Odoo, instead, recommends modifying one of the duplicate's values, or the product category
hierarchy.
However, if the company does not wish to change the configuration of product categories, Odoo
recommends making use of the *External ID* for this field, 'Category'.
Import many2many relationship fields
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The tags should be separated by a comma, without any spacing. For example, if a customer needs to be
linked to both tags: `Manufacturer` and `Retailer` then 'Manufacturer,Retailer' needs to be encoded
in the same column of the :abbr:`CSV (Comma-separated Values)` file.
- :download:`CSV file for Manufacturer, Retailer <export_import_data/m2m_customers_tags.csv>`
Import one2many relationships
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If a company wants to import a sales order with several order lines, a specific row **must** be
reserved in the :abbr:`CSV (Comma-separated Values)` file for each order line. The first order line
is imported on the same row as the information relative to order. Any additional lines need an
additional row that does not have any information in the fields relative to the order.
As an example, here is a :abbr:`CSV (Comma-separated Values)` file of some quotations that can be
imported, based on demo data:
- :download:`File for some Quotations
<export_import_data/purchase.order_functional_error_line_cant_adpat.csv>`
The following :abbr:`CSV (Comma-separated Values)` file shows how to import purchase orders with
their respective purchase order lines:
- :download:`Purchase orders with their respective purchase order lines
<export_import_data/o2m_purchase_order_lines.csv>`
The following :abbr:`CSV (Comma-separated Values)` file shows how to import customers and their
respective contacts:
- :download:`Customers and their respective contacts
<export_import_data/o2m_customers_contacts.csv>`
Import records several times
----------------------------
If an imported file contains one of the columns: :guilabel:`External ID` or :guilabel:`Database ID`,
records that have already been imported are modified, instead of being created. This is extremely
useful as it allows users to import the same :abbr:`CSV (Comma-separated Values)` file several
times, while having made some changes in between two imports.
Odoo takes care of creating or modifying each record, depending if it is new or not.
This feature allows a company to use the *Import/Export tool* in Odoo to modify a batch of records
in a spreadsheet application.
Value not provided for a specific field
---------------------------------------
If all fields are not set in the CSV file, Odoo assigns the default value for every non-defined
field. But, if fields are set with empty values in the :abbr:`CSV (Comma-separated Values)` file,
Odoo sets the empty value in the field, instead of assigning the default value.
Export/import different tables from an SQL application to Odoo
--------------------------------------------------------------
If data needs to be imported from different tables, relations need to be recreated between records
belonging to different tables. For instance, if companies and people are imported, the link between
each person and the company they work for needs to be recreated.
To manage relations between tables, use the `External ID` facilities of Odoo. The `External ID` of a
record is the unique identifier of this record in another application. The `External ID` must be
unique across all records of all objects. It is a good practice to prefix this `External ID` with
the name of the application or table. (like, 'company_1', 'person_1' - instead of '1')
As an example, suppose there is an SQL database with two tables that are to be imported: companies
and people. Each person belongs to one company, so the link between a person and the company they
work for must be recreated.
Test this example, with a :download:`sample of a PostgreSQL database
<export_import_data/database_import_test.sql>`.
First, export all companies and their *External ID*. In PSQL, write the following command:
.. code-block:: sh
> copy (select 'company_'||id as "External ID",company_name as "Name",'True' as "Is a Company" from companies) TO '/tmp/company.csv' with CSV HEADER;
This SQL command creates the following :abbr:`CSV (Comma-separated Values)` file:
.. code-block:: text
External ID,Name,Is a Company
company_1,Bigees,True
company_2,Organi,True
company_3,Boum,True
To create the :abbr:`CSV (Comma-separated Values)` file for people linked to companies, use the
following SQL command in PSQL:
.. code-block:: sh
> copy (select 'person_'||id as "External ID",person_name as "Name",'False' as "Is a Company",'company_'||company_id as "Related Company/External ID" from persons) TO '/tmp/person.csv' with CSV
It produces the following :abbr:`CSV (Comma-separated Values)` file:
.. code-block:: text
External ID,Name,Is a Company,Related Company/External ID
person_1,Fabien,False,company_1
person_2,Laurence,False,company_1
person_3,Eric,False,company_2
person_4,Ramsy,False,company_3
In this file, Fabien and Laurence are working for the Bigees company (`company_1`), and Eric is
working for the Organi company. The relation between people and companies is done using the
*External ID* of the companies. The *External ID* is prefixed by the name of the table to avoid a
conflict of ID between people and companies (`person_1` and `company_1`, who shared the same ID 1 in
the original database).
The two files produced are ready to be imported in Odoo without any modifications. After having
imported these two :abbr:`CSV (Comma-separated Values)` files, there are four contacts and three
companies (the first two contacts are linked to the first company). Keep in mind to first import
the companies, and then the people.
Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

Before

Width:  |  Height:  |  Size: 1.6 MiB

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 36 KiB

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

Before

Width:  |  Height:  |  Size: 37 KiB

After

Width:  |  Height:  |  Size: 37 KiB

Before

Width:  |  Height:  |  Size: 50 KiB

After

Width:  |  Height:  |  Size: 50 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 9.3 KiB

After

Width:  |  Height:  |  Size: 9.3 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 8.0 KiB

After

Width:  |  Height:  |  Size: 8.0 KiB

Before

Width:  |  Height:  |  Size: 46 KiB

After

Width:  |  Height:  |  Size: 46 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.8 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

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