Compare commits

...

117 Commits

Author SHA1 Message Date
Odoo Translation Bot 0287a4b629 [I18N] *: fetch 16.0 translations 2025-02-22 10:12:43 +00:00
samueljlieber d4ed263fa2 [IMP] contributing: documentation macOS make install
closes odoo/documentation#12136

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-02-21 16:59:46 +00:00
Odoo Translation Bot 8114d07bff [I18N] *: fetch 16.0 translations 2025-02-20 18:11:19 +00:00
Tiffany Chang (tic) 86e8741509 [I18N] *: re-export pot files
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#12119

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2025-02-20 10:17:33 +00:00
Odoo Translation Bot e69e853f44 [I18N] Update translation terms from Transifex 2025-02-16 01:43:22 +01:00
samueljlieber 3bb92d5472 [FIX] resource folder match
closes odoo/documentation#12010

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-02-13 08:44:14 +00:00
samueljlieber 97f9ae1b95 [FIX] clean unused resource files
Part-of: odoo/documentation#12010
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-02-13 08:44:14 +00:00
samueljlieber 7f0153afff [IMP] tests: check resource file referenced
Part-of: odoo/documentation#12010
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-02-13 08:44:14 +00:00
xpl-odoo a00b6cf990 [IMP] website: remove slash in redirect rule expression
task-4113085

closes odoo/documentation#11971

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2025-02-12 11:17:12 +00:00
LoredanaLrpz 71fbef5e5f [IMP] pos: change payment screenshot for 16.0
task-4208635

closes odoo/documentation#12008

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2025-02-10 09:08:28 +00:00
Odoo Translation Bot 7f747f05dd [I18N] Update translation terms from Transifex 2025-02-09 01:43:32 +01:00
Paolo Gatti 3c58f305b5 [IMP] fiscal_localizations: Documentation for l10n_it_riba
Since the feature was released, lots of partners ask for
information/documentation about the RIBA feature.  Add a concise
documentation explaining what users should know.

Ref: odoo/enterprise#74097

task-4497749

closes odoo/documentation#11847

Related: odoo/enterprise#77991
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2025-02-07 18:03:55 +00:00
Harsh Modi c7a6b67a87 [FIX] coding_guidelines: fix the alphabetic orders for the import
In odoo, as we suggest everyone to follow an alphebetic order.

The translator(`_`), ASCII is 95 and `a` ASCII value is 97
which '_' < 'a', the translator should be defined first in the
import before the `api` not at the end of the import

This commits adds an example to import static class `Command`
with a Capital alphabet with a ASCII value of `C` as 67
which will be before than the `_`
'C' < '_' < 'a'

This order of import should be followed while the import

closes odoo/documentation#11983

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-02-07 10:51:04 +00:00
mcsi-odoo 7d45830ac8 [IMP] studio: adding link about accessing studio
Task-3761784

closes odoo/documentation#11977

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2025-02-06 15:39:02 +00:00
Felicious 91165a7012 [IMP] inventory: CRL - replenishment & visibility days
closes odoo/documentation#11444

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Liz Bender <92882399+benderliz@users.noreply.github.com>
2025-02-05 02:44:07 +00:00
Odoo Translation Bot 498280b932 [I18N] Update translation terms from Transifex 2025-02-02 01:42:58 +01:00
benderliz 38640aeb0e [IMP] Inventory: Consignment typo in 16.0
closes odoo/documentation#11836

Signed-off-by: Liz Bender (beli) <beli@odoo.com>
2025-01-27 22:50:24 +00:00
Tiffany Chang (tic) 65f8645bed [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#11888

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2025-01-27 16:31:27 +00:00
mcsi-odoo 058e379a40 [IMP] accounting: ocr free iap test credits for enterprise users
task-4328876

closes odoo/documentation#11857

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2025-01-27 08:54:09 +00:00
Odoo Translation Bot 372a9b09f9 [I18N] Update translation terms from Transifex 2025-01-26 01:42:22 +01:00
Loredana Perazzo 6458e07f44 [IMP] POS: move configuration in toctree
task-4512527

closes odoo/documentation#11845

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2025-01-24 10:08:19 +00:00
William Braeckman de2241eb7c [IMP] developer/reference/cli: --limit-time-cron-conn
Document the newly created config option.

closes odoo/documentation#11779

See: https://github.com/odoo/odoo/pull/194141
Related: odoo/odoo#194141
Signed-off-by: William Braeckman (wbr) <wbr@odoo.com>
2025-01-22 12:21:44 +00:00
Antoine Vandevenne (anv) 9b7d3d559b [IMP] supported_versions: release saas-18.1
closes odoo/documentation#11796

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2025-01-21 14:46:14 +00:00
Odoo Translation Bot daa25ce5d9 [I18N] Update translation terms from Transifex 2025-01-19 01:42:22 +01:00
xpl-odoo 36d407830e [IMP] database: update status of supported versions
task-4485068

closes odoo/documentation#11776

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2025-01-17 15:09:02 +00:00
lase@odoo.com 3f87216e36 [IMP] marketing: match the Display Timezone description with tooltips
Issue:

The current descriptions and naming of the `Date` fields (`date_begin`,
`date_end`) and the `Timezone` field (`date_tz`) can be confusing in the
form view of the event model. Specifically:

The timezone used for converting the form dates to the database is
determined by the context and not by the `Timezone` field present on the
form. However, this `Timezone` field determines the timezone used
for displaying the event's date/time on the website. This change
clarifies the situation according to the update done in the community PR

opw-4323142

closes odoo/documentation#11596

Related: odoo/odoo#190867
Signed-off-by: Lancelot Semal (lase) <lase@odoo.com>
2025-01-14 13:49:50 +00:00
Odoo Translation Bot 0b6c2466a8 [I18N] Update translation terms from Transifex 2025-01-12 01:43:30 +01:00
Odoo Translation Bot 5a19d0c718 [I18N] Update translation terms from Transifex 2025-01-05 01:44:20 +01:00
“Dallas” 8aae97b838 [FIX] accounting/tax-return: fix tax return menu path
Fix the menu navigation path of the tax return

task-4424499

closes odoo/documentation#11676

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2025-01-02 15:56:49 +00:00
Felicious e38438c0ae [IMP] inventory: add bpost link
closes odoo/documentation#11654

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2025-01-02 14:53:48 +00:00
Sylvain Francis beeeff9068 [FIX] Egypt fiscal localizations: Update proxy install instructions
Since Odoo 16, to install the local proxy, users need to select the
"Odoo IoT" option install of the "Local Proxy Mode" to install the local
proxy.

This commit updates both the text and accompanying screenshot

closes odoo/documentation#11620

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-12-31 15:46:26 +00:00
Tiffany Chang (tic) daebf2e579 [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#11651

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-12-30 15:17:09 +00:00
Odoo Translation Bot 9f18e77815 [I18N] Update translation terms from Transifex 2024-12-29 01:43:51 +01:00
Felicious 1ac6e5e975 [ADD] inventory: compare packs and uom
closes odoo/documentation#11424

Signed-off-by: Felicia Kuan (feku) <feku@odoo.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>
2024-12-26 21:47:45 +00:00
Paolo Gatti dd94839b20 [FIX] fiscal_localizations: Italy, San Marino's destination code fix
Code is 2R4GTO8, not 2R4GT08.

task-4398355

closes odoo/documentation#11621

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-12-23 11:07:28 +00:00
Odoo Translation Bot a04b9e1f2f [I18N] Update translation terms from Transifex 2024-12-22 01:43:57 +01:00
emmi-odoo 6cc9c9a75e [FIX] website/domain: add sub domain
task-4220363

closes odoo/documentation#11606

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-12-19 11:00:05 +00:00
benderliz f552c117a8 [FIX] payment_providers/authorize: update Excel import template
closes odoo/documentation#11583

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-12-16 09:24:11 +00:00
Odoo Translation Bot 108f731916 [I18N] Update translation terms from Transifex 2024-12-15 01:44:40 +01:00
xpl-odoo d1779bf4e5 [IMP] website: replace cloudflare's page rule by redirect rule
closes odoo/documentation#11571

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-12-12 11:44:00 +00:00
Donatienne (dopi) 2e3e7ad35c [IMP] website: URL translation note to be updated
taskid-4377816

closes odoo/documentation#11545

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-12-12 08:26:33 +00:00
Nathan Marotte (nama) 08c43b3deb [FIX] Upgrade: Correct URL and text for post-upgrade issues
As stated on the sentence above, in case of an issue with the **production**
database, we should open a ticket with the label (production) and not
testing an upgrade.

This commits adapt the test to match the label currently present on
odoo.com/help and the URL to pre-select the correct stage as well

closes odoo/documentation#11520

Signed-off-by: Nathan Marotte (nama) <nama@odoo.com>
2024-12-11 13:59:21 +00:00
xpl-odoo a6f1cd2cf9 [IMP] general: remove mailjet notifications setup
closes odoo/documentation#11543

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-12-09 13:07:23 +00:00
LoredanaLrpz 50daadf7d1 [IMP] l10n: pos 18.0 and on-premise certification
task-4391068

closes odoo/documentation#11538

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-12-09 09:36:56 +00:00
Odoo Translation Bot 2b04033868 [I18N] Update translation terms from Transifex 2024-12-08 01:42:58 +01:00
xpl-odoo f8cb28ce14 [IMP] website: cloudflare configuration
task-4113085

closes odoo/documentation#11497

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-12-02 15:50:11 +00:00
LoredanaLrpz 208c1b8e81 [IMP] POS: returns and credit note
task-4016275

closes odoo/documentation#11458

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-12-02 12:42:26 +00:00
Tiffany Chang (tic) 7dfc3fe2c9 [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#11493

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-12-02 10:29:39 +00:00
Odoo Translation Bot 06a3323dcb [I18N] Update translation terms from Transifex 2024-12-01 01:42:20 +01:00
samueljlieber c22f90137b [IMP] sales: update settings navigation for multi address
closes odoo/documentation#11442

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-11-27 18:17:57 +00:00
jero-odoo 92a90f60e8 [IMP] Email: update mailjet parameter note
closes odoo/documentation#11437

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-11-25 14:35:09 +00:00
Odoo Translation Bot 5769e8f617 [I18N] Update translation terms from Transifex 2024-11-24 01:44:27 +01:00
xpl-odoo b923389182 [IMP] on-premise: remove too many users upsell alert block
task-4343506

closes odoo/documentation#11426

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-21 12:27:32 +00:00
xpl-odoo e953d8f838 [IMP] upgrade: harmonize release interval
task-4346126

closes odoo/documentation#11425

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-21 11:20:33 +00:00
Merel Geens (mege) 4d079db7f8 [FIX] administration/on-premise: Incorrect ports
In Odoo 18 and lower versions, update notifications are sent over HTTP,
not HTTPS:

Odoo 18: https://github.com/odoo/odoo/blob/bbcafb7bb15eb324a8ce9bc41e3a6762469134fe/odoo/tools/config.py#L78
Odoo 17: https://github.com/odoo/odoo/blob/a7ccd81fb2a67dfeb544efce2ff1ce892b938954/odoo/tools/config.py#L78
Odoo 16: https://github.com/odoo/odoo/blob/6b5a839428b06e09d90631e9824a9b594ff8f4f5/odoo/tools/config.py#L78

The documentation has listed 443 as the main port since 2019:
https://github.com/odoo/documentation/pull/324 , but what it mentions
about the most recent version of Odoo using services.odoo.com wasn't
true until Odoo 18: https://github.com/odoo/odoo/pull/163202 . That PR
kept the HTTP usage and not HTTPS as was originally intended:
https://github.com/odoo/odoo/pull/30272 .

closes odoo/documentation#11402

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-18 15:10:08 +00:00
Odoo Translation Bot cbcf64e750 [I18N] Update translation terms from Transifex 2024-11-17 01:44:43 +01:00
Loredana Perazzo 738703df14 [IMP] pos: remove warning "july 22" in six
task-4337378

closes odoo/documentation#11396

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-11-15 10:19:11 +00:00
Joris Makauskis 8c93ff790e [IMP] extract_api: Add bank statement documentation
- Updated documentation to include details on the new bank statement
extraction via OCR.
- Removed mention of unsupported discount, product, and unit features
from invoice_lines feature.

Task-3895452

closes odoo/documentation#11127

Signed-off-by: Joris Makauskis (jmak) <jmak@odoo.com>
2024-11-14 11:31:09 +00:00
Zachary Straub (ZST) 724f7000d7 [FIX] accounting: fix broken OCR tutorial link
closes odoo/documentation#11352

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-11-13 00:53:03 +00:00
xpl-odoo 470af9bf21 [IMP] upgrade: sla clarifications
closes odoo/documentation#11337

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-11-12 19:26:10 +00:00
jero-odoo e0b025fce0 [IMP] Calendar sync: changing title of google doc
closes odoo/documentation#11346

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-11-11 14:50:51 +00:00
Odoo Translation Bot 4e92457ed8 [I18N] Update translation terms from Transifex 2024-11-10 01:42:58 +01:00
afma-odoo 20bd9b1780 [IMP] accounting: adding info about group payments
task-3518648

closes odoo/documentation#11206

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-11-07 14:33:42 +00:00
Tiffany Chang (tic) bfd78d2f9b [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#11318

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-11-04 09:40:06 +00:00
Odoo Translation Bot db38d06045 [I18N] Update translation terms from Transifex 2024-11-03 01:43:31 +01:00
Aurelien van Delft (avd) ac8f3d2aa4 [IMP] contributing/git: add [PERF] to the valid commit tags
The [PERF] commit tag passes the runbot minimal check and has been
used in lots of patches. E.g.
 - odoo/odoo@f02bcfadcb
 - odoo/odoo@b30b059898
 - odoo/odoo@780a2bb601

However this tag was not listed in the documentation yet. This led
to confusion for reviewers not accustomed with it. This commit
fixes that.

closes odoo/documentation#11290

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-10-29 07:53:45 +00:00
Odoo Translation Bot e0b26c78b6 [I18N] Update translation terms from Transifex 2024-10-27 01:42:33 +02:00
Loredana Perazzo f83f35955e [IMP] POS: add a configuration step to enable ePos printers
task-4055549

closes odoo/documentation#11284

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-10-25 09:41:10 +00:00
“Dallas” 33ef1f8918 [FIX] l10n_de: Fix second broken GoBD link
There were two broken links originally, one of which was fixed by PR#10074. This commit will remove the first link entirely and fix the second link, as suggested by TSB.

task-4088554

closes odoo/documentation#11263

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-24 08:31:43 +00:00
benderliz 15bc972085 [IMP] ar_l10n: remove extra comma
closes odoo/documentation#11250

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-10-21 22:35:35 +00:00
xpl-odoo 74437b0e74 [ADD] sign: legality of electronic signatures in germany
closes odoo/documentation#11240

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-21 15:39:54 +00:00
Louis Wicket (wil) e662ebe70c [I18N] add LATAM Spanish to the documentation
closes odoo/documentation#11233

Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2024-10-21 08:12:58 +00:00
Odoo Translation Bot 77e4f66a5a [I18N] Update translation terms from Transifex 2024-10-20 01:43:00 +02:00
Loredana Perazzo 04a8e4657f [IMP] POS: move replicated title into one page
task-3973404

Must come back in 16.0 & 17.0

closes odoo/documentation#11019

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-10-18 08:59:10 +00:00
Odoo Translation Bot 392fb6ae15 [I18N] Update translation terms from Transifex 2024-10-13 01:41:53 +02:00
Odoo's Mergebot cc259daa66 [ADD] odoo.sh: new ci token usage
closes odoo/documentation#11172

Signed-off-by: Fabien Meghazi (fme) <fme@odoo.com>
Co-authored-by: Fabien Meghazi <fme@odoo.com>
Co-authored-by: Stanislas Sobieski <sts@odoo.com>
2024-10-11 07:31:06 +00:00
Felicious e2fdcb019e [IMP] inventory: fix typos in shipping table
closes odoo/documentation#11170

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-10-10 05:46:21 +00:00
KC (ksc) 0afd7c1f78 [ADD] events: added booth doc to 16
closes odoo/documentation#10330

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-10-09 16:06:12 +00:00
KC (ksc) 154b223e6b [ADD] sales: creating quotations for 16
closes odoo/documentation#10391

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-10-09 16:06:11 +00:00
xpl-odoo 544e2c18d0 [IMP] administration: on-premise publisher warranty URL
task-4226945

closes odoo/documentation#11145

Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-07 14:21:37 +00:00
Odoo Translation Bot 412d7aed02 [I18N] Update translation terms from Transifex 2024-10-06 01:41:58 +02:00
Antoine Vandevenne (anv) 1957ca8424 [IMP] supported_versions: release 18.0
closes odoo/documentation#11121

X-original-commit: a0472c95e5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-10-01 12:13:47 +00:00
Odoo Translation Bot bd4e39d52f [I18N] Update translation terms from Transifex 2024-09-29 01:45:32 +02:00
Tiffany Chang (tic) b870ae43bc [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#11079

X-original-commit: e75d2dd
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-09-24 09:13:05 +00:00
Odoo Translation Bot 4feccc3996 [I18N] Update translation terms from Transifex 2024-09-22 01:41:58 +02:00
masp-odoo 85cef1bc5b [FIX] website: recaptcha threshold number
task-4145451

closes odoo/documentation#11066

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-20 14:33:26 +00:00
Loredana Perazzo f516c71c37 [IMP] POS: add information about POS categories
task-3984698

Still have to come back in 16 (restrict and start categories) and
saas-17.4 (point of sale tab in product form)

closes odoo/documentation#11007

X-original-commit: c6af8e28fd
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-20 14:33:25 +00:00
Julian Roussieau 58e4468997 [ADD] odoo.sh: a new role tester is added.
Before odoo.sh had two types of role, `user` and `admin`. A third role, `tester`,
was added between the two, and the user role was renamed `developer`.

closes odoo/documentation#11057

X-original-commit: f53cdc64cb
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-09-20 10:31:59 +00:00
Loredana Perazzo 1377ac0903 [IMP] l10n: add 17.0 blackbox certif in table
task-4131387

closes odoo/documentation#11014

X-original-commit: 7b841f6eee
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-20 07:27:43 +00:00
afma-odoo 4a29ac6fee [IMP] accounting: cash register page in POS
task-3721929
task-3890538

closes odoo/documentation#11038

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-18 10:24:22 +00:00
afma-odoo e95f4d715c [IMP] accounting: update reporting page and screenshots
task-3605633
task-3562956

closes odoo/documentation#10990

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-17 08:50:18 +00:00
Odoo Translation Bot 36b8f5187c [I18N] Update translation terms from Transifex 2024-09-15 01:42:22 +02:00
Audrey (auva) 92dce1d630 [IMP] contributing/documentation: update documentation guidelines
task-3709518

closes odoo/documentation#11004

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-13 15:17:46 +00:00
Audrey (auva) d8b827cda4 [IMP] payment_providers: PCI DSS compliance, payment methods on portal
task-4042449
task-2949379

closes odoo/documentation#10945

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-10 09:40:39 +00:00
Odoo Translation Bot e13f9de4df [I18N] Update translation terms from Transifex 2024-09-08 01:51:35 +02:00
Loredana Perazzo 582c44f05e [IMP] POS: stripe connection correction
task-4160316

closes odoo/documentation#10951

Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-06 13:10:40 +00:00
Carsten Wolff (cawo) c7b36d6a68 [IMP] upgrade: add a note about on-prem script requirements
We often get questions from customers about errors they see running the
upgrade-script, which are caused by restrictions of their environment. Add a
note that mentions the most important requirements to maybe avoid some of these
questions.

closes odoo/documentation#10940

X-original-commit: 2a5e686783
Signed-off-by: Carsten Wolff (cawo) <cawo@odoo.com>
2024-09-05 12:52:43 +00:00
afma-odoo fc8449c974 [IMP] accounting: change Financial budget title
task-4147298

closes odoo/documentation#10904

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-04 08:43:38 +00:00
afma-odoo 60ce9c91a6 [IMP] accounting: add info on partial payment for vendor bills
task-4043877

closes odoo/documentation#10674

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-03 12:59:37 +00:00
xpl-odoo efe4e4a4bc [IMP] upgrade: better introduce the upgrade process
closes odoo/documentation#10899

X-original-commit: fcf0b645d1
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-09-02 13:57:39 +00:00
Odoo Translation Bot a2dd83efd9 [I18N] Update translation terms from Transifex 2024-09-01 01:41:56 +02:00
Felicious 5ea7cefa23 [REF] inventory: valuation section
closes odoo/documentation#10776

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-26 23:05:23 +00:00
Odoo Translation Bot 70905915c4 [I18N] Update translation terms from Transifex 2024-08-25 01:42:40 +02:00
Felicious cdd4a16bda [FIX] inventory: DHL service
closes odoo/documentation#10844

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-08-24 13:45:13 +00:00
Tiffany Chang (tic) e82d329a53 [I18N] *: export latest terms
As per usual, leave off developer.pot and contributing.pot since we
don't translate them (not useful, can't really contribute to/dev in
Odoo without knowing English)

closes odoo/documentation#10816

Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-08-21 09:17:26 +00:00
Stanislas Sobieski ebbb05f300 [IMP] odoo.sh: ip changes
closes odoo/documentation#10799

X-original-commit: ca18df8f27
Signed-off-by: Stanislas Sobieski (sts) <sts@odoo.com>
2024-08-19 22:34:38 +00:00
Antoine Vandevenne (anv) 1d40ce68e1 [IMP] supported_versions: release saas-17.4
closes odoo/documentation#10792

X-original-commit: 0e3c58de53
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-08-19 15:13:55 +00:00
Louis Wicket (wil) 317197adb0 [FIX] change the display name of Korean to KR in the switcher
According to feedback from our Korean translator,the abbreviation for
Korean is usually KR instead of KO.

This commit updates the name of the language as displayed in the
language switcher.

closes odoo/documentation#10790

X-original-commit: 1725552c89
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2024-08-19 10:59:27 +00:00
Odoo Translation Bot 690ffd82dd [I18N] Update translation terms from Transifex 2024-08-18 01:43:45 +02:00
Felicious d7fb94d5bb [REF] inventory: advanced shipping methods
closes odoo/documentation#10772

Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-16 16:23:37 +00:00
Parish Bracha 1894e98869 [IMP] CRM: Lead scoring equation update
closes odoo/documentation#10664

Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-08-15 22:16:09 +00:00
Felicious f6833d70d5 [IMP] inventory: costing chart
closes odoo/documentation#10723

X-original-commit: c6e16b3666
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: kekiss <karaekiss@yahoo.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>
2024-08-13 19:23:47 +00:00
Felicious abf2e868b8 [IMP] inventory: sendcloud EU destinations
closes odoo/documentation#10710

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-08-12 19:53:47 +00:00
Antoine Vandevenne (anv) e41e618116 [FIX] developer/reference/data: fix typo in data file example
The attribute of `record` data operations should be `id` and not `name`.

closes odoo/documentation#10602

X-original-commit: 2be7fa1c98
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-08-12 16:12:43 +00:00
Odoo Translation Bot b2f20be2fe [I18N] Update translation terms from Transifex 2024-08-11 01:41:03 +02:00
Parish Bracha b9b8c79dd6 [ADD] Email Marketing: Analyze metrics backport
closes odoo/documentation#10636

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-08-09 17:21:38 +00:00
jero-odoo a878b4d6c4 [IMP] Livechat: Commands channel update
closes odoo/documentation#10656

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-08-09 15:57:46 +00:00
610 changed files with 660294 additions and 265200 deletions
+5 -8
View File
@@ -231,17 +231,13 @@ 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-18.1': "Odoo Online",
'18.0': "Odoo 18",
'saas-17.4': "Odoo Online",
'saas-17.2': "Odoo Online",
'saas-17.1': "Odoo Online",
'17.0': "Odoo 17",
'saas-16.4': "Odoo Online",
'saas-16.3': "Odoo Online",
'saas-16.2': "Odoo Online",
'saas-16.1': "Odoo Online",
'16.0': "Odoo 16",
'saas-15.2': "Odoo Online",
'15.0': "Odoo 15",
'14.0': "Odoo 14",
}
# The language names that should be shown in the language switcher, if the config option `languages`
@@ -250,9 +246,10 @@ languages_names = {
'de': 'DE',
'en': 'EN',
'es': 'ES',
'es_419': 'ES (LATAM)',
'fr': 'FR',
'it': 'IT',
'ko': 'KO',
'ko': 'KR',
'nl': 'NL',
'pt_BR': 'PT',
'ro': 'RO',
+1 -1
View File
@@ -23,7 +23,7 @@ Edit Security Settings --> Delete Account`. It can also be accessed by going to
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
confirmation for the account deletion.
.. image:: odoo_account/delete-account.png
.. image:: odoo_accounts/delete-account.png
:align: center
:alt: Clicking on the Delete Account button will populate a window verifying the change.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

+1 -1
View File
@@ -46,7 +46,7 @@ Trigger a database upgrade.
.. seealso::
For more information about the upgrade process, check out the :ref:`Odoo Online upgrade
documentation <upgrade/request-test-database>`.
documentation <upgrade-request-test>`.
.. _odoo_online/duplicate:
@@ -29,3 +29,32 @@ We advise that:
- Your scheduled actions should be
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
cause side-effects if they are started more often than expected.
.. _ip-address-change:
How can I automate tasks when an IP address change occurs?
----------------------------------------------------------
**Odoo.sh notifies project administrators of IP address changes.**
Additionally, when the IP address of a production instance changes, an HTTP `GET` request is made
to the path `/_odoo.sh/ip-change` with the new IP address included as a query string parameter
(`new`), along with the previous IP address as an additional parameter (`old`).
This mechanism allows custom actions to be applied in response to the IP address change
(e.g., sending an email, contacting a firewall API, configuring database objects, etc.)
For security reasons, the `/_odoo.sh/ip-change` route is accessible only internally by the platform
itself and returns a `403` response if accessed through any other means.
Here is a pseudo-implementation example:
.. code-block:: python
class IPChangeController(http.Controller):
@http.route('/_odoo.sh/ip-change', auth='public')
def ip_change(self, old=None, new=None):
_logger.info("IP address changed from %s to %s", old, new)
# Then perform whatever action required for your use case, e.g., update an
# ir.config_parameter, send an email, contact an external firewall service's API, ...
return 'ok'
@@ -33,17 +33,17 @@ Manage the Github users who can access your project.
.. image:: settings/interface-settings-collaborators.png
:align: center
There are two levels of users:
There are three levels of users:
* Admin: has access to all features of Odoo.sh.
* User: does not have access to the project settings nor to the production and staging databases.
- :guilabel:`Admin`: has access to all features of an Odoo.sh project.
The user group is meant for developers who can make modifications in your code but are not allowed
to access the production data. Users of this group cannot connect to the production and staging
databases using the *1-click connect* feature, but they can of course use their regular account on
these databases if they have one, using their regular credentials.
- :guilabel:`Tester`: has access to the *Staging* and *Development* databases and their tooling.
This role is for users conducting User Acceptance Tests. Testers can work with copies of
production data but cannot access the production database through the Odoo.sh tooling.
In addition, they cannot use the webshell nor have access to the server logs.
- :guilabel:`Developer`: has access only to the *Development* databases and their tooling. This
role is for developers who propose code modifications but are not allowed to access production
and staging databases through the Odoo.sh tooling.
.. list-table::
:header-rows: 1
@@ -51,83 +51,145 @@ In addition, they cannot use the webshell nor have access to the server logs.
* -
-
- User
- Developer
- Tester
- Admin
* - Development
- History
- |green|
- |green|
- |green|
* -
- 1-click connect
- |green|
- |green|
- |green|
* -
- Logs
- |green|
- |green|
- |green|
* -
- Shell/SSH
- |green|
- |green|
- |green|
* -
- Mails
- |green|
- |green|
* -
- Upgrade
- |green|
- |green|
* -
- Settings
- |green|
- |green|
* - Production & Staging
- |green|
* - Staging
- History
- |green|
- |green|
- |green|
* -
- 1-click connect
-
- |green|
- |green|
* -
- Logs
-
- |green|
- |green|
* -
- Shell/SSH
-
- |green|
- |green|
* -
- Mails
-
- |green|
- |green|
* -
- Monitoring
-
- |green|
- |green|
* -
- Backups
-
-
- |green|
* -
- Upgrade
-
- |green|
- |green|
* -
- Settings
- |green|\*
-
- |green|
- |green|
* - Production
- History
- |green|
- |green|
- |green|
* -
- 1-click connect
-
-
- |green|
* -
- Logs
-
-
- |green|
* -
- Shell/SSH
-
-
- |green|
* -
- Mails
-
-
- |green|
* -
- Monitoring
-
-
- |green|
* -
- Backups
-
-
- |green|
* -
- Upgrade
-
-
- |green|
* -
- Settings
-
-
- |green|
* - Status
-
- |green|
- |green|
- |green|
* - Settings
-
-
-
- |green|
.. note::
\* Only in staging branches
.. warning::
Those roles only apply to the usage of Odoo.sh. It is important to reflect the user roles
attribution within the repository on GitHub. Please refer to the GitHub documentation section on
`Managing a branch protection rule <https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule>`_
for detailed guidance.
.. |green| raw:: html
@@ -149,15 +211,32 @@ Allow public access to your development builds.
.. image:: settings/interface-settings-public.png
:align: center
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your
development builds.
In addition, visitors have access to the logs, shell and mails of your development builds.
If activated, this option exposes the Builds page publicly, allowing visitors to view logs of development builds.
Production and staging builds are excluded, visitors can only see their status.
.. _odoosh-gettingstarted-settings-modules-installation:
GitHub commit statuses
======================
This option enables Odoo.sh to push commit statuses to your GitHub repository when a build is
created or updated. It requires a GitHub token with permissions to push commit statuses to the
repository. Refer to `GitHub's documentation on personal access tokens <https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens>`_
for instructions to create yours.
.. note::
GitHub's **fine-grained personal tokens** have an expiration date and will be disabled if they
fail to update the commit status. You can replace the token at any time on Odoo.sh.
The commit statuses pushed to GitHub can have the following contexts:
- :guilabel:`ci/odoo.sh (dev)`: status of a development build
- :guilabel:`ci/odoo.sh (staging)`: status of a staging build
- :guilabel:`ci/odoo.sh (production)`: status of a production build
- :guilabel:`ci/odoo.sh (test_ci)`: testing the token from the Settings page will push a test
status on the last commit of your repository
Custom domains
==============
+2 -8
View File
@@ -61,8 +61,8 @@ To resolve the issue:
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`)
- Odoo 18.0 and above: `services.odoo.com` on port `80`
- Odoo 17.0 and below: `services.openerp.com` on port `80`
These ports must be kept open even after registering a database, as the update notification runs
once a week.
@@ -85,12 +85,6 @@ To resolve the issue, either:
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.
+27 -57
View File
@@ -31,90 +31,60 @@ This matrix shows the support status of every version.
- On-Premise
- Release date
- End of support
* - Odoo saas~17.2
* - Odoo SaaS 18.1
- |green|
- N/A
- N/A
- January 2025
-
* - **Odoo 18.0**
- |green|
- |green|
- |green|
- October 2024
- October 2027 (planned)
* - Odoo SaaS 17.4
- |red|
- N/A
- N/A
- July 2024
- October 2024
* - Odoo SaaS 17.2
- |red|
- N/A
- N/A
- April 2024
-
* - Odoo saas~17.1
- |green|
- N/A
- N/A
- January 2024
-
- October 2024
* - **Odoo 17.0**
- |green|
- |green|
- |green|
- November 2023
- October 2026 (planned)
* - Odoo saas~16.4
- |red|
- N/A
- N/A
- August 2023
-
* - Odoo saas~16.3
- |red|
- N/A
- N/A
- June 2023
-
* - Odoo saas~16.2
- |red|
- N/A
- N/A
- March 2023
-
* - Odoo saas~16.1
- |red|
- N/A
- N/A
- February 2023
-
* - **Odoo 16.0**
- |green|
- |green|
- |green|
- October 2022
- November 2025 (planned)
* - Odoo saas~15.2
- |red|
- N/A
- N/A
- March 2022
- January 2023
* - Odoo saas~15.1
- |red|
- N/A
- N/A
- February 2022
- July 2022
- October 2025 (planned)
* - **Odoo 15.0**
- |green|
- |green|
- |green|
- |red|
- |red|
- |red|
- October 2021
- November 2024 (planned)
- October 2024
* - **Odoo 14.0**
- |red|
- |red|
- |red|
- October 2020
- November 2023
* - **Odoo 13.0**
- |red|
- |red|
- |red|
- October 2019
- October 2022
* - Older versions
- |red|
- |red|
- |red|
- Before 2019
- Before 2022
- Before 2020
- Before 2023
.. admonition:: Legend
+107 -63
View File
@@ -2,31 +2,55 @@
Upgrade
=======
An upgrade is the process of moving your database from an older version to a newer :doc:`supported
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.
An upgrade involves moving a database from an older version to a newer supported version (e.g., from
Odoo 16.0 to Odoo 18.0). Regular upgrades are crucial as each version offers new features, bug
fixes, and security patches. Using a :doc:`supported version <supported_versions>` is strongly
recommended. Each major version is supported for three years.
.. _upgrade_faq/rolling_release:
Depending on the hosting type and Odoo version used, a database upgrade can be **mandatory**.
.. tabs::
.. group-tab:: Odoo Online
- If a database is on a **major version** (e.g., 16.0, 17.0, 18.0), an upgrade is mandatory
every two years.
- If a database is on a **minor version** (e.g., 17.1, 17.2, 17.4), an upgrade is mandatory
a few weeks after the next version is released. Minor versions are usually released every
two months.
.. group-tab:: Odoo.sh
After the initial three years of support, you will have another two years to complete the
upgrade. You will be notified when an upgrade is required.
.. image:: upgrade/odoo-sh-message.png
:alt: The "unsupported version" popup on Odoo.sh.
.. group-tab:: On-premise
You can stay on the same version indefinitely, even if it is not recommended. Note that the
smaller the version gap, the easier the upgrade should be.
.. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process
The Rolling Release process allows Odoo Online customers to upgrade their database directly from
a message prompt sent to the database administrator as soon as a new version is released. The
invitation to upgrade is only sent if no issues are detected during the automatic tests.
You will receive a notification in your database a few weeks before a mandatory upgrade will be
automatically carried out. You are in control of the process as long as the deadline is not
reached.
.. image:: upgrade/rr-upgrade-message.png
:alt: The upgrade message prompt on the top right of the database
It is strongly recommended to manually :ref:`test the upgrade first <upgrade/test_your_db>`.
Clicking :guilabel:`I want to test first` redirects to `the database manager
<https://www.odoo.com/my/databases/>`_, where it is possible to request an upgraded test database
and check it for any discrepancies.
Concretely, Odoos Upgrade Team performs a silent test upgrade of every database that should be
upgraded. If the test is successful and lasts less than 20 minutes, you can directly trigger the
upgrade from the database. If the test fails, you can test an upgrade using the `database manager
<https://www.odoo.com/my/databases>`_.
It is **not** recommended to click :guilabel:`Upgrade Now` without testing first, as it
immediately triggers the live production database upgrade.
When you are invited to upgrade, it is strongly recommended to :ref:`request an upgraded test
database <upgrade-request-test>` first and spend time :ref:`testing <upgrade-testing>` it.
If the Rolling Release process detects an issue with the upgrade, it will be deactivated until
the issue is resolved.
An automatic upgrade to the next version will be triggered if no action is taken before the
specified due date.
An upgrade does not cover:
@@ -40,36 +64,40 @@ An upgrade does not cover:
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
<upgrade-request-test>` while also :doc:`upgrading the source code of your custom
modules </developer/howtos/upgrade_custom_db>`.
.. _upgrade-nutshell:
Upgrading in a nutshell
-----------------------
=======================
#. Request an upgraded test database (see :ref:`obtaining an upgraded test database
<upgrade/request-test-database>`).
<upgrade-request-test>`).
#. 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 by `submitting a ticket for an issue
related to my future upgrade (I am testing an upgrade) <https://odoo.com/help?stage=migration>`_.
<upgrade-testing>`).
#. Report any issue encountered during the testing to Odoo by going to the `Support page and
selecting "An issue related to my future upgrade (I am testing an upgrade)"
<https://www.odoo.com/help?stage=migration>`_.
#. 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.
#. Request the upgrade for the production database, rendering it unavailable for the time it takes
to complete the process (see :ref:`upgrading the production database <upgrade/upgrade-prod>`).
#. Report any issue encountered during the upgrade to Odoo by `submitting a ticket for an issue
related to my upgrade (production) <https://odoo.com/help?stage=post_upgrade>`_.
to complete the process (see :ref:`upgrading the production database <upgrade-production>`).
#. Report any issue encountered during the upgrade to Odoo by going to the `Support page and
selecting "An issue related to my upgrade (production)"
<https://www.odoo.com/help?stage=post_upgrade>`_.
.. _upgrade/request-test-database:
.. _upgrade-request-test:
Obtaining an upgraded test database
-----------------------------------
===================================
The `Upgrade page <https://upgrade.odoo.com/>`_ is the main platform for requesting an upgraded
The `Upgrade page <https://upgrade.odoo.com>`_ is the main platform for requesting an upgraded
database. However, depending on the hosting type, you can upgrade from the command line
(on-premise), the `Odoo Online database manager <https://odoo.com/my/databases>`_, or your `Odoo.sh
project <https://odoo.sh/project>`_.
(on-premise), the Odoo Online `database manager <https://www.odoo.com/my/databases>`_, or your
`Odoo.sh project <https://www.odoo.sh/project>`_.
.. note::
The Upgrade platform follows the same `Privacy Policy <https://www.odoo.com/privacy>`_ as the
@@ -81,7 +109,7 @@ project <https://odoo.sh/project>`_.
.. group-tab:: Odoo Online
Odoo Online databases can be manually upgraded via the `database manager
<https://odoo.com/my/databases>`_.
<https://www.odoo.com/my/databases>`_.
The database manager displays all databases associated with the user's account. Databases
not on the most recent version of Odoo display an arrow in a circle icon next to their name,
@@ -115,8 +143,7 @@ project <https://odoo.sh/project>`_.
.. image:: upgrade/odoo-sh-staging.png
:alt: Odoo.sh project and tabs
The **latest production daily automatic backup** is then sent to the `upgrade platform
<https://upgrade.odoo.com>`_.
The **latest production daily automatic backup** is then sent to the Upgrade platform.
Once the upgrade platform is done upgrading the backup and uploading it on the branch, it is
put in a **special mode**: each time a **commit is pushed** on the branch, a **restore
@@ -142,6 +169,21 @@ project <https://odoo.sh/project>`_.
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
.. note::
This command has some requirements on the environment it runs in:
- Some external commands that must be provided by the operating system, normally found in
any Linux distribution (including WSL). An error will be displayed if one or several of
them are missing.
- The system user that executes the command needs to be configured with access to the
database. Please refer to the PostgreSQL documentation of the `client environment
<https://www.postgresql.org/docs/current/libpq-envars.html>`_ or the `client password
file <https://www.postgresql.org/docs/current/libpq-pgpass.html>`_ for this requirement.
- The script needs to be able to reach one or multiple servers of the upgrade platform
both on TCP port 443 and to any random TCP port in the range between 32768 and 60999.
This can be in conflict with your restrictive firewall and may need an exception added
to the firewall configuration.
The following command can be used to display the general help and the main commands:
.. code-block:: console
@@ -149,7 +191,7 @@ project <https://odoo.sh/project>`_.
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
An upgraded test database can also be requested via the `Upgrade page
<https://upgrade.odoo.com/>`_.
<https://upgrade.odoo.com>`_.
.. important::
In databases where custom modules are installed, their source code must be up-to-date with
@@ -175,22 +217,20 @@ project <https://odoo.sh/project>`_.
.. note::
You can request multiple test databases if you wish to test an upgrade more than once.
.. _upgrade/upgrade_report:
.. note::
When an upgrade request is completed, an upgrade report is attached to the successful upgrade
email, and it becomes available in the Discuss app for users who are part of the "Administration
/ Settings" group. This report provides important information about the changes introduced by
the new version.
.. _upgrade/test_your_db:
.. _upgrade-testing:
Testing the new version of the database
---------------------------------------
=======================================
It is essential to spend some time testing the upgraded test database to ensure that you are not
stuck in your day-to-day activities by a change in views, behavior, or an error message once the
upgrade goes live.
It is essential to test the upgraded test database to ensure that you are not stuck in your
day-to-day activities by a change in views, behavior, or an error message once the upgrade goes
live.
.. note::
Test databases are neutralized, and some features are disabled to prevent them from impacting the
@@ -245,9 +285,10 @@ working correctly and to get more familiar with the new version.
This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo.
If you face an issue while testing your upgraded test database, you can request the assistance of
Odoo by `submitting a ticket for an issue related to my future upgrade (I am testing an upgrade)
<https://odoo.com/help?stage=migration>`_. In any case, it is essential to report any problem
encountered during the testing to fix it before upgrading your production database.
Odoo by going to the `Support page and selecting "An issue related to my future upgrade (I am
testing an upgrade)" <https://www.odoo.com/help?stage=migration>`_. In any case, it is essential to
report any problem encountered during the testing to fix it before upgrading your production
database.
You might encounter significant differences with standard views, features, fields, and models during
testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced
@@ -265,12 +306,12 @@ module to make it compatible with the new version of Odoo.
- Server actions in the action menu on form views, as well as by selecting multiple records on
list views
.. _upgrade/upgrade-prod:
.. _upgrade-production:
Upgrading the production database
---------------------------------
=================================
Once the :ref:`tests <upgrade/test_your_db>` are completed and you are confident that the upgraded
Once the :ref:`tests <upgrade-testing>` are completed and you are confident that the upgraded
database can be used as your main database without any issues, it is time to plan the go-live day.
Your production database will be unavailable during its upgrade. Therefore, we recommend planning
@@ -288,15 +329,15 @@ day before upgrading the production database is also recommended.**
- Business interruptions (e.g., no longer having the possibility to validate an action)
- Poor customer experience (e.g., an eCommerce website that does not work correctly)
The process of upgrading a production database is similar to upgrading a test database with a few
exceptions.
The process of upgrading a production database is similar to upgrading a test database, but with a
few exceptions.
.. tabs::
.. group-tab:: Odoo Online
The process is similar to :ref:`obtaining an upgraded test database
<upgrade/request-test-database>`, except for the purpose option, which must be set to
<upgrade-request-test>`, except for the purpose option, which must be set to
:guilabel:`Production` instead of :guilabel:`Test`.
.. warning::
@@ -306,8 +347,8 @@ exceptions.
.. group-tab:: Odoo.sh
The process is similar to :ref:`obtaining an upgraded test database
<upgrade/request-test-database>` on the :guilabel:`Production` branch.
The process is similar to :ref:`obtaining an upgraded test database <upgrade-request-test>` on
the :guilabel:`Production` branch.
.. image:: upgrade/odoo-sh-prod.png
:alt: View from the upgrade tab
@@ -337,7 +378,8 @@ exceptions.
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
An upgraded production database can also be requested via the `Upgrade page
<https://upgrade.odoo.com/>`_.
<https://upgrade.odoo.com>`_.
Once the database is uploaded, any modification to your production database will **not** be
present on your upgraded database. This is why we recommend not using it during the upgrade
process.
@@ -347,14 +389,14 @@ exceptions.
a filestore. Therefore, the upgraded database filestore must be merged with the production
filestore before deploying the new version.
In case of an issue with your production database, you can request the assistance of Odoo by
`submitting a ticket for an issue related to my upgrade (production)
<https://odoo.com/help?stage=post_upgrade>`_.
In case of an issue with your production database, you can request the assistance of Odoo by going
to the `Support page and selecting "An issue related to my upgrade (production)"
<https://www.odoo.com/help?stage=post_upgrade>`_.
.. _upgrade/sla:
.. _upgrade-sla:
Service-level agreement (SLA)
-----------------------------
=============================
With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including
any support required to rectify potential discrepancies in the upgraded database.
@@ -363,8 +405,10 @@ Information about the upgrade services included in the Enterprise Licence is ava
:ref:`Odoo Enterprise Subscription Agreement <upgrade>`. However, this section clarifies what
upgrade services you can expect.
.. _upgrade-sla-covered:
Upgrade services covered by the SLA
===================================
-----------------------------------
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
benefit from upgrade services at all times for:
@@ -378,16 +422,16 @@ benefit from upgrade services at all times for:
Upgrade services are limited to the technical conversion and adaptation of a database (standard
modules and data) to make it compatible with the version targeted by the upgrade.
.. _upgrade-sla-not-covered:
Upgrade services not covered by the SLA
=======================================
---------------------------------------
The following upgrade-related services are **not** included:
- the **cleaning** of pre-existing data and configurations while upgrading;
- the upgrade of **custom modules created in-house or by third parties**, including Odoo partners;
- lines of **code added to standard modules**, i.e., customizations created outside the Studio app,
code entered manually, and :ref:`automated actions using Python code
<studio/automated-actions/action>`; and
- the upgrade of **additional modules not covered by a maintenance contract** that are created
in-house or by third parties, including Odoo partners; and
- **training** on using the upgraded version's features and workflows.
.. seealso::
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

After

Width:  |  Height:  |  Size: 14 KiB

+1 -1
View File
@@ -203,7 +203,7 @@ available methods are standard price, average price, :abbr:`LIFO (Last-In, First
:abbr:`FIFO (First-In, First-Out).`
.. seealso::
:doc:`../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config`
:doc:`../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config`
Retained earnings
=================
@@ -193,4 +193,3 @@ Payments` tab. To display the outstanding accounts column, click on the toggle b
bank/reconciliation
bank/reconciliation_models
bank/foreign_currency
bank/cash_register
@@ -1,56 +0,0 @@
=============
Cash register
=============
The cash register is a journal to register receivings and payments transactions.
It calculates the total money in and out, computing the total balance.
Configuration
=============
.. image:: cash_register/journal.png
:align: center
1. Configure the Cash journal in :menuselection:`Accounting --> Configuration -->
Journals`.
2. In the tab Journal Entries, the Default Debit and Credit Account can be
configured as well as the currency of the journal
Usage
=====
How to register cash payments?
------------------------------
To register a cash payment specific to another customer, you should follow
these steps:
1. Go to :menuselection:`Accounting --> Dashboard --> Cash --> Register
Transactions`
2. Fill in the start and ending balance
3. Register the transactions, specifying the customers linked to the transaction
Put money in
------------
Put money in is used to placed your cash manually before starting your
transactions. From the Register Transactions window, go to :menuselection:`More
--> Put money in`
.. image:: cash_register/put-money-in.png
:align: center
Take money out
--------------
Take money out is used to collect/get yor your cash manually after
ending all your transactions. From the Register Transaction windows, go to :menuselection:`More
--> Take money out`
.. image:: cash_register/put-money-out.png
:align: center
The transactions will be added to the current cash payment registration.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

@@ -26,12 +26,12 @@ valuation <inventory/avg_price/leaving_inventory>`.
.. note::
This document addresses a specific use case for theoretical purposes. For instructions on how to
set up and use |AVCO|, refer to the :doc:`inventory valuation configuration
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config>`
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`
doc.
.. seealso::
- :doc:`Using inventory valuation
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation>`
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation>`
- :ref:`Other inventory valuation methods <inventory/inventory_valuation_config/costing_methods>`
Configuration
@@ -44,7 +44,7 @@ product category page, set :guilabel:`Costing Method` to `Average Cost (AVCO)` a
.. seealso::
:doc:`Inventory valuation configuration
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config>`
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`
Using average cost valuation
============================
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

@@ -7,18 +7,20 @@ Payments
In Odoo, payments can either be automatically linked to an invoice or bill or be stand-alone records
for use at a later date:
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due of the
invoice. You can have multiple payments related to the same invoice.
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due on the
invoice. Multiple payments on the same invoice are possible.
- If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
your company, or your company has an outstanding debit with a vendor. You can use those
outstanding amounts to reduce/settle unpaid invoices/bills.
the company, or the company has an outstanding debit with a vendor. Those outstanding amounts
reduce/settle unpaid invoices/bills.
.. seealso::
- :doc:`Internal transfers <payments/internal_transfers>`
- :doc:`bank/reconciliation`
- `Odoo Tutorials: Bank Configuration
<https://www.odoo.com/slides/slide/bank-configuration-1880>`_
<https://www.odoo.com/slides/slide/bank-configuration-6832>`_
.. _accounting/payments/from-invoice-bill:
Registering payment from an invoice or bill
===========================================
@@ -27,11 +29,12 @@ When clicking :guilabel:`Register payment` in a customer invoice or vendor bill,
journal entry and changes the amount due according to the payment amount. The counterpart is
reflected in an :ref:`outstanding <bank/outstanding-accounts>` **receipts** or **payments** account.
At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment`. Then, when
the outstanding account is reconciled with a bank statement line, the invoice or vendor bill changes
to the :guilabel:`Paid` status.
the outstanding account is reconciled with a bank transaction line, the invoice or vendor bill
changes to the :guilabel:`Paid` status.
The information icon near the payment line displays more information about the payment. You can
access additional information, such as the related journal, by clicking :guilabel:`View`.
The :icon:`fa-info-circle` information icon next to the payment line displays more
information about the payment. To access additional information, such as the related journal, click
:guilabel:`View`.
.. image:: payments/information-icon.png
:alt: See detailed information of a payment.
@@ -39,65 +42,89 @@ access additional information, such as the related journal, by clicking :guilabe
.. note::
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
payment.
- If you unreconcile a payment, it still appears in your books but is no longer linked to the
- If a payment is unreconciled, it still appears in the books but is no longer linked to the
invoice.
- If you (un)reconcile a payment in a different currency, a journal entry is automatically
- If a payment is (un)reconciled in a different currency, a journal entry is automatically
created to post the currency exchange gains/losses (reversal) amount.
- If you (un)reconcile a payment and an invoice having cash basis taxes, a journal entry is
automatically created to post the cash basis tax (reversal) amount.
- If a payment is (un)reconciled and an invoice with cash-basis taxes, a journal entry is
automatically created to post the cash-basis tax (reversal) amount.
.. tip::
- If your main bank account is set as an :ref:`outstanding account
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
bank statement), invoices and bills are directly registered as :guilabel:`Paid`.
If the main bank account is set as an :ref:`outstanding account
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
bank transaction), invoices and bills are directly registered as :guilabel:`Paid`.
.. _accounting/payments/not-tied:
Registering payments not tied to an invoice or bill
===================================================
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments` menu, it is
not directly linked to an invoice or bill. Instead, the account receivable or the account payable is
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments`, it is not
directly linked to an invoice or bill. Instead, the account receivable or the account payable is
matched with the **outstanding account** until it is manually matched with its related invoice or
bill.
.. _accounting/payments/matching-invoices-bills:
Matching invoices and bills with payments
-----------------------------------------
A blue banner appears when you validate a new invoice/bill and an **outstanding payment** exists for
this specific customer or vendor. It can easily be matched from the invoice or bill by clicking
:guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists for
this specific customer or vendor. To match it with the invoice or bill, click :guilabel:`ADD`
under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
.. image:: payments/add-option.png
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment.
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its
corresponding bank statement.
corresponding bank transaction.
.. _payments/batch-payments:
.. _accounting/payments/group-payments:
Batch payment
-------------
Group payments
--------------
Batch payments allow you to group different payments to ease :doc:`reconciliation
<bank/reconciliation>`. They are also useful when you deposit :doc:`checks <payments/checks>` to the
bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to :menuselection:`Accounting -->
Customers --> Batch Payments` or :menuselection:`Accounting --> Vendors --> Batch Payments`. In the
list view of payments, you can select and group several payments in a batch by clicking
:menuselection:`Action --> Create Batch Payment`.
Group payments allow combining outgoing and incoming payments from the same contact into a single
payment to simplify the process and improve payment usability. To register a group payment:
#. Go to :menuselection:`Accounting --> Customers --> Invoices/Credit Notes` or
:menuselection:`Accounting --> Vendors --> Bills/Refunds`.
#. Select the relevant invoices/credit notes or bills/refunds linked to a specific contact.
#. Click the :icon:`fa-cog` (:guilabel:`Action menu`) icon and select :guilabel:`Register Payment`.
#. In the :guilabel:`Register Payment` window, select the :guilabel:`Journal`, the
:guilabel:`Payment Method`, and the :guilabel:`Payment Date`.
#. Enable the :guilabel:`Group Payments` option and click :guilabel:`Create payment`.
The invoices or bills are now marked as :guilabel:`In payment` until they are reconciled with the
corresponding bank transactions. The credit notes or refunds are marked as :guilabel:`Paid`.
.. _accounting/payments/batch-payments:
Batch payments
--------------
Batch payments allow grouping payments from multiple contacts to ease
:doc:`reconciliation <bank/reconciliation>`. They are also useful when depositing :doc:`checks
<payments/checks>` to the bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to
:menuselection:`Accounting --> Customers --> Batch Payments` or :menuselection:`Accounting -->
Vendors --> Batch Payments`. In the list view of payments, to group several payments in a
batch, select them and click :menuselection:`Action --> Create Batch Payment`.
.. seealso::
- :doc:`payments/batch`
- :doc:`payments/batch_sdd`
.. _payments/matching:
.. _accounting/payments/matching:
Payments matching
-----------------
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
allows you to process them individually, matching all payments and invoices in one place. You can
reach this tool from the :menuselection:`Accounting Dashboard --> Customer Invoices / Vendor Bills`,
click the drop-down menu button (:guilabel:`⋮`), and select :guilabel:`Payments Matching`, or go to
:menuselection:`Accounting --> Accounting --> Reconciliation`.
allows them to be processed individually, matching all payments and invoices in one place. Go to the
:guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v` (:guilabel:`dropdown menu`)
button from the :guilabel:`Customer Invoices` or :guilabel:`Vendor Bills` journals, and select
:guilabel:`Payments Matching`, or go to :menuselection:`Accounting --> Accounting -->
Reconciliation`.
.. image:: payments/payments-journal.png
:alt: Payments matching menu in the drop-down menu.
@@ -105,39 +132,49 @@ click the drop-down menu button (:guilabel:`⋮`), and select :guilabel:`Payment
.. note::
During the :doc:`reconciliation <bank/reconciliation>`, if the sum of the debits and credits does
not match, there is a remaining balance. This either needs to be reconciled at a later date or
needs to be written off directly.
written off directly.
.. _accounting/payments/batch-payments-matching:
Batch payments matching
-----------------------
You can use the batch reconciliation feature to reconcile several outstanding payments or invoices
Use the batch reconciliation feature to reconcile several outstanding payments or invoices
simultaneously for a specific customer or vendor. Go to :menuselection:`Accounting --> Reporting -->
Aged Receivable / Aged Payable`. You can see all transactions that have not been reconciled yet for
that partner, and when you select a customer or vendor, the :guilabel:`Reconcile` option is
Aged Receivable / Aged Payable`. All transactions that have not yet been reconciled for that
contact are visible, and when a customer or vendor is selected, the :guilabel:`Reconcile` option is
displayed.
.. image:: payments/reconcile-option.png
:alt: See the reconcile option.
.. _accounting/payments/partial-payment:
Registering a partial payment
=============================
To register a **partial payment**, click :guilabel:`Register payment` from the related invoice or
bill, and enter the amount received or paid. Upon entering the amount, a prompt appears to decide
whether to :guilabel:`Keep open` the invoice or bill, or :guilabel:`Mark as fully paid`. Select
:guilabel:`Keep open` and click :guilabel:`Create payment`. The invoice or bill is now marked as
:guilabel:`Partial`. Select :guilabel:`Mark as fully paid` if you wish to settle the invoice or bill
with a difference in the amount.
To register a partial payment, click on :guilabel:`Register Payment` from the related invoice or
bill. In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field displays the
outstanding balance. There are two options:
.. image:: payments/payment-difference.png
:alt: Partial payment of an invoice or bill.
- :guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a :guilabel:`Partial`
banner;
- :guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In` field and
change the :guilabel:`Label` if needed. A journal entry will be created to balance the accounts
payable or receivable with the selected account.
Reconciling payments with bank statements
=========================================
.. image:: payments/partial-payment.png
:alt: register a partial payment
.. _accounting/payments/reconciling-payments:
Reconciling payments with bank transactions
===========================================
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank statement line to
have the transaction finalized and the invoice or bill marked as :guilabel:`Paid`.
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank transaction line to
finalize the payment workflow and mark the invoice or bill as :guilabel:`Paid`.
.. toctree::
:titlesonly:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

@@ -4,30 +4,31 @@
Reporting
=========
Main reports available
======================
Odoo includes **generic** and **dynamic** reports available for all countries, regardless of the
:doc:`localization package <../../finance/fiscal_localizations>` installed:
- **Balance Sheet**
- **Profit and Loss**
- **Executive Summary**
- **General Ledger**
- **Aged Payable**
- **Aged Receivable**
- **Cash Flow Statement**
- **Tax Report**
- :ref:`reporting/balance-sheet`
- :ref:`reporting/profit-and-loss`
- :ref:`reporting/executive-summary`
- :ref:`reporting/general-ledger`
- :ref:`reporting/aged-receivable`
- :ref:`reporting/aged-payable`
- :ref:`reporting/cash-flow-statement`
- :ref:`reporting/tax-report`
Reports can be **annotated, printed, and drilled down** to see details (payments, invoices,
journal items, etc.) by clicking the **down** arrow. Reports can also be exported to **PDF** or
**XLSX** format by clicking :guilabel:`PDF` or :guilabel:`XLSX` at the top of the page.
To expand the lines of a report and view its details, click the :icon:`fa-caret-right`
(:guilabel:`right arrow`) on the left. Then click the :icon:`fa-caret-down` (:guilabel:`down arrow`)
to the right of the account, journal entry, payment, invoice, etc. to :guilabel:`Annotate` and view
the details.
.. image:: reporting/reporting-annotate.png
:alt: Annotate reports.
You can compare values across periods by using the :guilabel:`Comparison` menu and selecting the
periods you want to compare.
To export reports in PDF or XLSX format, click :guilabel:`PDF` or :guilabel:`XLSX` at the top of the
page.
To compare values across periods, click the :guilabel:`Comparison` menu and select the periods you
want to compare.
.. image:: reporting/reporting-comparison.png
:alt: Comparison menu to compare time periods.
@@ -35,119 +36,97 @@ periods you want to compare.
.. _reporting/balance-sheet:
Balance Sheet
-------------
=============
The **Balance Sheet** shows a snapshot of your organization's assets, liabilities, and equity at a
particular date.
.. image:: reporting/reporting-balance-sheet.png
:alt: Balance sheet report of Odoo.
The :guilabel:`Balance Sheet` shows a snapshot of your organization's assets, liabilities, and
equity at a particular date.
.. _reporting/profit-and-loss:
Profit and Loss
---------------
===============
The **Profit and Loss** report (or **Income Statement**) shows your company's net income by
The :guilabel:`Profit and Loss` report (or **Income Statement**) shows your company's net income by
deducting expenses from revenue for the reporting period.
.. image:: reporting/reporting-profit-and-loss.png
:alt: Profit and Loss report of Odoo
.. _reporting/executive-summary:
Executive Summary
-----------------
=================
The **Executive Summary** allows a quick look at all the important figures to run your company.
The :guilabel:`Executive Summary` provides an overview of all the important figures for overseeing
your company's performance.
In basic terms, this is what each item in the following section reports:
It includes the following items:
- **Performance:**
- **Gross profit margin:**
The contribution of all sales made by your business **minus** any direct costs needed to
- :guilabel:`Performance`:
- :guilabel:`Gross profit margin`:
The contribution of all sales your business makes **minus** any direct costs needed to
make those sales (labor, materials, etc.).
- **Net profit margin:**
- :guilabel:`Net profit margin`:
The contribution of all sales made by your business **minus** any direct costs needed to
make those sales *and* fixed overheads your company has (electricity, rent, taxes
to be paid as a result of those sales, etc.).
- **Return on investment (per annum):**
The ratio of net profit made to the amount of assets the company used to make those profits.
- **Position:**
- **Average debtors days:**
- :guilabel:`Return on investment (per annum)`:
The ratio of the net profit to the amount of assets the company used to make those profits.
- :guilabel:`Position`:
- :guilabel:`Average debtors days`:
The average number of days it takes your customers to (fully) pay you across all your
customer invoices.
- **Average creditors days:**
- :guilabel:`Average creditors days`:
The average number of days it takes you to (fully) pay your suppliers across all your bills.
- **Short-term cash forecast:**
- :guilabel:`Short-term cash forecast`:
How much cash is expected in or out of your business in the next month, i.e., the balance of
your **Sales account** for the month **minus** the balance of your **Purchases account** for
the month.
- **Current assets to liabilities:**
Also referred to as **current ratio**, this is the ratio of current assets (:dfn:`assets
- :guilabel:`Current assets to liabilities`:
Also referred to as the **current ratio**, this is the ratio of current assets (:dfn:`assets
that could be turned into cash within a year`) to the current liabilities (:dfn:`liabilities
that will be due in the next year`). It is typically used to measure a company's ability to
service its debt.
.. image:: reporting/reporting-executive-summary.png
:alt: Executive summary report in Odoo.
.. _reporting/general-ledger:
General Ledger
--------------
==============
The **General Ledger Report** shows all transactions from all accounts for a chosen date range. The
initial summary report shows each account's totals; from here, you can view a detailed transaction
report or any exceptions. This report helps check every transaction that occurred during a specific
period.
.. image:: reporting/reporting-general-ledger.png
:alt: General Ledger report in Odoo.
.. _reporting/aged-payable:
Aged Payable
------------
Run the **Aged Payable Details** report to display information on individual bills, credit notes,
and overpayments you owe and how long these have gone unpaid.
.. image:: reporting/reporting-aged-payable.png
:alt: Aged Payable report in Odoo.
The :guilabel:`General Ledger` report shows all transactions from all accounts for a selected date
range. The initial summary report shows the totals for each account. To expand an account and view
its details, click the :icon:`fa-caret-right` (:guilabel:`right arrow`) on the left.
This report is useful for reviewing each transaction that occurred during a specific period.
.. _reporting/aged-receivable:
Aged Receivable
---------------
===============
The **Aged Receivables** report shows the sales invoices awaiting payment during a selected month
and several months prior.
The :guilabel:`Aged Receivable` report shows the sales invoices awaiting payment during a selected
month and several months prior.
.. image:: reporting/reporting-aged-receivable.png
:alt: Aged Receivable report in Odoo.
.. _reporting/aged-payable:
Aged Payable
============
The :guilabel:`Aged Payable` report displays information on individual bills, credit notes, and
overpayments you owe and how long these have gone unpaid.
.. _reporting/cash-flow-statement:
Cash Flow Statement
-------------------
===================
The **Cash Flow Statement** shows how changes in balance sheet accounts and income affect cash and
cash equivalents and breaks the analysis down to operating, investing, and financing activities.
.. image:: reporting/reporting-cash-flow-statement.png
:alt: Cash Flow Statement report in Odoo.
The :guilabel:`Cash Flow Statement` shows how changes in balance sheet accounts and income affect
cash and cash equivalents and breaks the analysis down to operating, investing, and financing
activities.
.. _reporting/tax-report:
Tax Report
----------
==========
This report allows you to see the **net** and **tax amounts** for all the taxes grouped by type
(sale/purchase).
.. image:: reporting/reporting-tax-report.png
:alt: Tax report in Odoo.
The :guilabel:`Tax Report` shows the :guilabel:`NET` and :guilabel:`TAX` amounts for all the
taxes grouped by type (:guilabel:`Sales`/:guilabel:`Purchases`).
.. toctree::
:titlesonly:
@@ -1,5 +1,5 @@
================
Financial budget
Analytic budgets
================
Managing budgets is an essential part of running a business. Budgets help people become more
Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

@@ -101,14 +101,13 @@ Tax Report
----------
Once all the transactions involving taxes have been posted for the period you want to report, open
your :guilabel:`Tax Report` by going to :menuselection:`Accounting --> Reporting -->
Audit Reports: Tax Report`. Make sure to select the right period you want to declare by using the
date filter, this way you can have an overview of your tax report. From this view, you can easily
access different formats of your tax report, such as `PDF` and XLSX. These include all the values to
report to the tax authorities, along with the amount you have to pay or be refunded.
the :guilabel:`Tax Report` by going to :menuselection:`Accounting --> Reporting --> Tax Report`.
Select the period you want to declare using the date filter to have an overview of the tax report.
From the report, click :guilabel:`PDF` or :guilabel:`XLSX` to download the desired format of the tax
report, or click :guilabel:`Save` to save the report to the Documents app. The report includes all
the values to report to the tax authorities, along with the amount to be paid or refunded.
.. image:: tax_returns/tax_return_report.png
:align: center
:alt: download the PDF with your Tax Report in Odoo Accounting
.. note::
@@ -60,10 +60,10 @@ Then, to close the fiscal year:
<reporting/aged-receivable>` and :ref:`aged payables <reporting/aged-payable>` reports.
- Audit all accounts, being sure to fully understand all transactions and their nature, making
sure to include loans and fixed assets.
- Optionally, run :ref:`payments matching <payments/matching>` to validate any open vendor bills
and customer invoices with their payments. While this step is optional, it could assist the
year-end closing process if all outstanding payments and invoices are reconciled, potentially
finding errors or mistakes in the system.
- Optionally, run :ref:`payments matching <accounting/payments/matching>` to validate any open
vendor bills and customer invoices with their payments. While this step is optional, it could
assist the year-end closing process if all outstanding payments and invoices are reconciled,
potentially finding errors or mistakes in the system.
Next, the accountant likely verifies balance sheet items and book entries for:
@@ -37,7 +37,7 @@ appropriately completed:
- :guilabel:`Vendor`: Odoo automatically fills some information based on the vendor's registered
information, previous purchase orders, or bills.
- :guilabel:`Bill Reference`: add the sales order reference provided by the vendor and is used to do
the :ref:`matching <payments/matching>` when you receive the products.
the :ref:`matching <accounting/payments/matching>` when you receive the products.
- :guilabel:`Auto-Complete`: select a past bill/purchase order to automatically complete the
document. The :guilabel:`Vendor` field should be completed prior to completing this field.
- :guilabel:`Bill Date`: is the issuance date of the document.
@@ -50,7 +50,6 @@ appropriately completed:
<get_started/multi_currency>`.
.. image:: vendor_bills/bill-completion.png
:align: center
:alt: filling the vendor bill
.. note::
@@ -72,12 +71,25 @@ Click :guilabel:`Confirm` when the document is completed. The status of your doc
Bill Payment
============
Upon payment of the vendor bill, click on :guilabel:`Register Payment`. A new window pops up.
Upon payment of the vendor bill, click on :guilabel:`Register Payment` to open a new payment window.
Select the :guilabel:`Journal`, the :guilabel:`Payment Method`, the :guilabel:`Amount` you wish to
pay (full or partial payment), and the :guilabel:`Currency`. Odoo fills the :guilabel:`Memo` field
automatically if the :guilabel:`Payment Reference` has been set correctly in the vendor bill. If
the field is empty, we recommend you select the vendor invoice number as a reference.
pay (full or partial payment), and the :guilabel:`Currency`. In the case of a partial payment (when
the :guilabel:`Amount` paid is less than the total remaining amount on the vendor bill), the
:guilabel:`Payment Difference` field displays the outstanding balance.
You have two options:
- :guilabel:`Keep open`: to keep the bill open and mark it with a :guilabel:`Partial` banner;
- :guilabel:`Mark as fully paid`: In this case, select an account in the
:guilabel:`Post Difference In` field and change the :guilabel:`Label` if needed. A journal entry
will be created to balance the account receivable with the selected account.
.. image:: vendor_bills/partial-payment.png
:alt: register a partial payment
The :guilabel:`Memo` field is filled automatically if the :guilabel:`Payment Reference` has been
set correctly in the vendor bill. If the field is empty, select the vendor invoice number as a
reference.
Once confirmed, an :guilabel:`In Payment` banner appears on the bill until it is :doc:`reconciled
<bank/reconciliation>`.
@@ -11,8 +11,8 @@ created and populated based on the scanned invoices.
.. seealso::
- `Test Odoo's invoice digitization <https://www.odoo.com/app/invoice-automation>`_
- `Odoo Tutorials: Invoice Digitization with OCR
<https://www.odoo.com/slides/slide/digitize-bills-with-ocr-1712>`_
- `Odoo Tutorials: Vendor Bill Digitization
<https://www.odoo.com/slides/slide/vendor-bill-digitization-7065>`_
Configuration
=============
@@ -91,9 +91,10 @@ To buy credits, go to :menuselection:`Accounting --> Configuration --> Settings
and click on :guilabel:`Buy credits`, or go to :menuselection:`Settings --> Odoo IAP` and click on
:guilabel:`View My Services`.
.. important::
If you are on Odoo Online and have the Enterprise version, you benefit from free trial credits to
test the feature.
.. note::
Enterprise Odoo users with a valid subscription get free credits to test IAP features before
deciding to purchase more credits for the database. This includes demo/training databases,
educational databases, and one-app-free databases.
.. seealso::
- `Our Privacy Policy <https://iap.odoo.com/privacy#header_6>`_
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -615,9 +615,9 @@ document, an automatic validation can be set in :menuselection:`Accounting --> S
Argentinean Localization --> Validate document in the AFIP`, considering the following levels:
- :guilabel:`Not available:` the verification is not done (this is the default value);
- :guilabel:`Available:` the verification is done. In case the number is not valid it, only displays
- :guilabel:`Available:` the verification is done. In case the number is not valid, it only displays
a warning but still allows the vendor bill to be posted;
- :guilabel:`Required:` the verification is done and it does not allow the user to post the vendor
- :guilabel:`Required:` the verification is done, and it does not allow the user to post the vendor
bill if the document number is not valid.
.. image:: argentina/verify-vendor-bills.png
@@ -333,8 +333,9 @@ This government-certified system entails the use of a :ref:`certified POS system
Certified POS system
--------------------
The Odoo POS system is certified for the major versions of databases hosted on **Odoo Online** and
**Odoo.sh**. Please refer to the following table to ensure that your POS system is certified.
The Odoo POS system is certified for the major versions of databases hosted on **Odoo Online**,
**Odoo.sh**, and **On-Premise**. Please refer to the following table to ensure that your POS system
is certified.
.. list-table::
:header-rows: 1
@@ -344,22 +345,26 @@ The Odoo POS system is certified for the major versions of databases hosted on *
- Odoo Online
- Odoo.sh
- On-Premise
* - Odoo 18.0
- Certified
- Certified
- Certified
* - Odoo 17.0
- Certified
- Certified
- Certified
* - Odoo 16.0
- Certified
- Certified
- Not certified
* - Odoo 15.2
- Not certified
- Not certified
- Not certified
- Certified
* - Odoo 15.0
- Certified
- Certified
- Not certified
- Certified
* - Odoo 14.0
- Certified
- Certified
- Not certified
- Certified
.. seealso::
:doc:`/administration/supported_versions`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 31 KiB

@@ -205,11 +205,11 @@ An Odoo local server works as a bridge between your computer and your Odoo datab
Download the Odoo Community installer from the page https://www.odoo.com/page/download and start the
installation on your computer.
Select :guilabel:`Local Proxy Mode` as the type of install.
Select :guilabel:`Odoo IoT` as the type of install.
.. image:: egypt/install-odoo-local-proxy.png
:align: center
:alt: Selection of "Local Proxy Mode" during the installation of Odoo Community.
:alt: Selection of "Odoo IoT" during the installation of Odoo Community.
.. note::
This installation of Odoo only works as a server and does not install any Odoo apps on your
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 10 KiB

@@ -170,9 +170,8 @@ triggered and is being processed. You have to click on *Refresh State* to check
German Tax Accounting Standards: Odoo's guide to GoBD Compliance
================================================================
**GoBD** stands for `Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern,
Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_.
**GoBD** stands for *Grundsätze zur ordnungsmäßigen Führung und Aufbewahrung von Büchern,
Aufzeichnungen und Unterlagen in elektronischer Form sowie zum Datenzugriff*.
In short, it is a **guideline for the proper management and storage of books, records, and documents
in electronic form, as well as for data access**, that is relevant for the German tax authority, tax
declaration, and balance sheet.
@@ -191,7 +190,7 @@ What do you need to know about GoBD when relying on accounting software?
.. note::
If you can, the best way to understand GoBD is to Read the `Official GoBD text
<https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.pdf>`_.
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_.
It is a bit long but quite readable for non-experts. But in short, here is what to expect:
The **GoBD is binding for companies that have to present accounts, which includes SMEs, freelancers,
@@ -312,7 +311,7 @@ offer our customer any legal certainty.
.. important::
The BMF actually states the following in the `Official GoBD text
<https://www.bundesfinanzministerium.de/Content/DE/Downloads/BMF_Schreiben/Weitere_Steuerthemen/Abgabenordnung/2019-11-28-GoBD.pdf>`_:
<https://ao.bundesfinanzministerium.de/ao/2021/Anhaenge/BMF-Schreiben-und-gleichlautende-Laendererlasse/Anhang-64/anhang-64.html>`_:
- 180. Positive attestations on the correctness of the bookkeeping - and thus on the correctness
of IT-based bookkeeping systems - are not issued either in the context of a tax field audit or
@@ -392,7 +392,7 @@ user is requested by the **State** to:
- Select a tax with the option :guilabel:`Has exoneration of tax (Italy)` ticked, and the
:guilabel:`Exoneration` set to `N3.3`;
- Use the generic :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Codice Destinatario` `2R4GT08`.
- Use the generic :abbr:`SdI (Sistema di Interscambio)` :guilabel:`Codice Destinatario` `2R4GTO8`.
The invoice is then routed by a dedicated office in San Marino to the correct business.
Bills
@@ -457,3 +457,60 @@ recipient office.
government `website <http://www.fatturapa.gov.it/>`_.
- The :abbr:`CUU (Codice Univoco Ufficio)` must be included in the electronic invoice
corresponding to the element **1.1.4** (:guilabel:`CodiceDestinario`).
Ri.Ba. (Ricevuta Bancaria)
==========================
:abbr:`Ri.Ba. (Ricevuta Bancaria)` is a payment method widely used in Italy where vendors request
payments through their bank, which forwards the request to the customer's own bank and takes
responsibility for the collection. This enables payment automation and reduces risks for the vendor.
The vendor generally uploads a fixed-format text file with the list of payments to the bank's web
portal.
.. note::
- Ri.Ba. are exclusively for **domestic payments** in Italy. For recurring international
payments, please use `SEPA Direct Debt (SDD) <../accounting/payments/batch_sdd>`_
Configuration
-------------
#. Check that the `l10n_it_riba` module is :ref:`installed <general/install>`.
#. Go to :menuselection:`Settings --> Users & Companies --> Companies` and select the company that
will use Ri.Ba.
#. Fill out the required :guilabel:`SIA Code`.
.. image:: italy/sia-code.png
:alt: The company's SIA code
.. note::
The :guilabel:`SIA Code` identifies businesses within the Italian banking network and is used
to receive money through specific payment methods. It consists of one letter and four digits
(e.g., T1234) and can usually be found on the bank's portal or obtained by contacting the bank.
#. Ensure the Company's bank account has an Italian IBAN.
.. seealso::
How to configure :doc:`Bank Accounts <../accounting/bank>`
Accept Ri.Ba. for your invoices
-------------------------------
Payments of type :abbr:`Ri.Ba. (Ricevuta Bancaria)` can be registered from the :guilabel:`Invoices`
(:menuselection:`Accounting --> Customers --> Invoices`).
.. important::
Make sure that your invoice involves a Partner that has a bank account with an Italian IBAN.
Then, all Payments must be grouped in a **Batch Payment**.
.. seealso::
- :doc:`Batch Payments <../accounting/payments>`
- :doc:`Create a Batch Payment <../accounting/payments/batch>`
Once you press the :guilabel:`Validate` button for the Batch Payment, the :abbr:`Ri.Ba. (Ricevuta
Bancaria)` file is generated and attached to the Batch Payment, so you can download it and upload it
through your bank's web portal.
.. image:: italy/riba-attachment.png
:alt: The Ri.Ba. file attached
Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

@@ -370,18 +370,18 @@ Payment complements
Payment policy
**************
One addition of the Mexican localization is the :guilabel:`Payment Policy` field. According to
One addition of the Mexican localization is the :guilabel:`Payment Policy` field. According to
the SAT documentation, there are two types of payments:
- `PUE` (Pago en una Sola Exhibición/Payment in a Single Exhibition)
- `PPD` (Pago en Parcialidades o Diferido/Payment in Installements or Deferred)
.. seealso::
:doc:`../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs`
:doc:`../../inventory_and_mrp/inventory/product_management/inventory_valuation/integrating_landed_costs`
The difference lies in the *Due Date* or *Payment Terms* of the invoice.
To configure |PUE| invoices, navigatge to :menuselection:`Accounting --> Customers --> Invoices`,
To configure |PUE| invoices, navigate to :menuselection:`Accounting --> Customers --> Invoices`,
and either select an invoice :guilabel:`Due Date` within the same month, or choose a payment term
that does not imply changing the due month (immediate payment, 15 days, 21 days, all falling within
the current month).
@@ -908,7 +908,7 @@ Configuration
~~~~~~~~~~~~~
In order to track the correct customs number for a specific invoice, Odoo uses :doc:`landed costs
<../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/integrating_landed_costs>`.
<../../inventory_and_mrp/inventory/product_management/inventory_valuation/integrating_landed_costs>`.
Go to :menuselection:`Inventory --> Configuration --> Settings --> Valuation`. Make sure that
:guilabel:`Landed Costs` is activated.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 73 KiB

@@ -179,8 +179,8 @@ Bank payments
.. _payment_providers/add_new:
Enable a payment provider
=========================
Enabling a payment provider
===========================
To add a new payment provider and make its related payment methods available to your customers,
proceed as follows:
@@ -244,10 +244,19 @@ In this case, a **payment token** is created in Odoo to be used as a payment met
payments without the customer having to enter their payment method details again. This is
particularly useful for the eCommerce conversion rate and subscriptions that use recurring payments.
.. note::
You remain fully PCI-compliant when you enable this feature because Odoo does not store the card
details directly. Instead, it creates a payment token that only references the card details
stored on the payment provider's server.
.. tip::
To add or delete their saved payment method details, customers can click :guilabel:`Manage
payment methods` in the :ref:`customer portal <users-portal-payment-methods>`.
.. admonition:: PCI DSS and Attestation of Compliance
Odoo is not `PCI <https://www.pcisecuritystandards.org>`_ DSS-certified because it does not
store cardholder data or process payments. Instead, it outsources tokenization and payment to
:ref:`external payment providers <payment_providers/online_providers>`, which means that as an
Odoo customer, you only need to complete the minimal Self-Assessment Questionnaire (SAQ) with
the provider to obtain the Attestation of Compliance (AoC) and achieve PCI compliance. Odoo
should not be mentioned as a payment processor or a third-party service provider in the
:abbr:`SAQ (Self-Assessment Questionnaire)`.
.. _payment_providers/manual_capture:
@@ -74,16 +74,14 @@ When ready, change the provider's :guilabel:`State` to :guilabel:`Enabled` for a
Import an Authorize.Net statement
=================================
.. _authorize-import-template:
Export from Authorize.Net
-------------------------
.. _authorize-import-template:
.. admonition:: Template
`Download the Excel import template <https://docs.google.com/spreadsheets/d/1CMVtBWLLVIrUpYA92paw-cL7-WdKLbaa/edit?usp=share_link&ouid=105295722917050444558&rtpof=true&sd=true>`_
To export a statement:
:download:`Download the Excel import template. <authorize/authorize-net-magic-sheet.xlsx>`
- Log in to Authorize.Net.
- Go to :menuselection:`Account --> Statements --> eCheck.Net Settlement Statement`.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 117 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

@@ -18,7 +18,6 @@ page. Next, navigate to the :guilabel:`Senders & Domains` section and click on :
SEND API Settings`.
.. image:: mailjet_api/api-settings.png
:align: center
:alt: SMTP and Send API Settings link in the Senders & Domains section of Mailjet.
Then, copy the :abbr:`SMTP (Simple Mail Transfer Protocol)` configuration settings onto a notepad.
@@ -37,7 +36,6 @@ port number. The settings are needed to configure Mailjet in Odoo, which is cove
<email_servers/restriction>`.
.. image:: mailjet_api/smtp-config.png
:align: center
:alt: SMTP configuration from Mailjet.
Next, click on the button labeled :guilabel:`Retrieve your API credentials` to retrieve the Mailjet
@@ -125,7 +123,6 @@ Copy the TXT record information to a notepad and then navigate to the domain's :
Name System)` provider to complete validation.
.. image:: mailjet_api/host-value-dns.png
:align: center
:alt: The TXT record information to input on the domain's DNS.
Setup in the domain's DNS
@@ -163,7 +160,6 @@ Identified Mail) records to input into the :abbr:`DNS (Domain Name System)` prov
360042412734-Authenticating-Domains-with-SPF-DKIM>`_
.. image:: mailjet_api/authenticate.png
:align: center
:alt: Authenticate the domain with SPF/DKIM records in Mailjet.
.. _maintain/mailjet-api/odoo-setup:
@@ -191,27 +187,4 @@ than that of any transactional email server(s). Finally, save the settings and :
Connection`.
.. image:: mailjet_api/server-settings.png
:align: center
:alt: Odoo outgoing email server settings.
.. important::
In order for the notifications feature to work using Mailjet, there are three settings that need
to be set in Odoo.
#. The :guilabel:`From Filter` needs to be set on the server configuration. It is recommended
to set it as a domain and not a full email address. It should match the domain in the two
proceeding steps. More information can be referenced :ref:`here
<email_communication/from_filter>`.
#. The :guilabel:`mail.default.from` system parameter must have the value
`notifications\@yourdomain.com`.
#. The :guilabel:`mail.default.from_filter` system parameter must have the value
`yourdomain.com`. Replace `yourdomain` with the custom domain for the Odoo database. If there
isn't one, then use the :guilabel:`mail.catchall.domain` system parameter.
For more information see :ref:`Using a default email address <email_communication/default>`.
The :guilabel:`System Parameters` can be accessed by activating the :ref:`developer mode
<developer-mode>`.
Once the setup is complete, the Odoo database is ready to use the Mailjet email server for mass
mailing or transactional emails!
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

@@ -156,6 +156,8 @@ on :guilabel:`Confirm Password`. Next, activate :abbr:`2FA (two-factor authentic
Finally, click :guilabel:`Enable two-factor authentication` to complete the setup.
.. _users-portal-payment-methods:
Change payment info
-------------------
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

@@ -9,3 +9,4 @@ Product management
product_management/configure
product_management/product_tracking
product_management/inventory_valuation
@@ -1,9 +1,166 @@
:nosearch:
:show-content:
.. |UoM| replace:: :abbr:`UoM (Unit of Measure)`
.. |UoMs| replace:: :abbr:`UoMs (Units of Measure)`
=================
Configure product
=================
A group of products in Odoo can be further defined using:
- :doc:`Units of measure (UoM) <configure/uom>`: a standard quantity for specifying product amounts
(e.g., meters, yards, kilograms). Enables automatic conversion between measurement systems in
Odoo, such as centimeters to feet.
- *Ex: Purchasing fabric measured in meters but receiving it in yards from a vendor.*
- :doc:`configure/package`: A physical container used to group products together, regardless of
whether they are the same or different.
- *Ex: A box containing assorted items for delivery, or a storage box of two hundred buttons on a
shelf.*
- :doc:`configure/packaging`: groups the *same* products together to receive or sell them in
specified quantities.
- *Ex: Cans of soda sold in packs of six, twelve, or twenty-four.*
Comparison
==========
This table provides a detailed comparison of units of measure, packages, and packaging to help
businesses evaluate which best suits their requirements.
.. list-table::
:header-rows: 1
:stub-columns: 1
* - Feature
- Unit of measure
- Packages
- Packaging
* - Purpose
- Standardized measurement for product units (e.g., cm, lb, L)
- Tracks the specific physical container and its contents
- Groups a fixed number of items together for easier management (e.g., packs of 6, 12 or 24)
* - Product uniformity
- Defined per product; saved as one |UoM| in the database
- Allows mixed products
- Same products only
* - Flexible
- Converts between vendor/customer |UoMs| and database |UoM|
- Items can be added or removed from the container
- Quantities are fixed (e.g., always packs of 6, 12 or 24)
* - Complexity
- Simplest for unit conversions
- More complex due to container-level inventory tracking
- Simpler; suitable for uniform product groupings
* - Inventory tracking
- Tracks product quantities within the warehouse in the specific |UoM| defined in the product
form
- Tracks package location and contents within the warehouse
- Tracks grouped quantities but not individual items' locations
* - Smooth barcode operations
- Not available
- Requires scanning both the package and individual items for reception. (even if there are 30
items in a package). Can enable the :ref:`Move Entire Packages
<inventory/product_management/move-entire-pack>` feature to update the package's contained
items' locations, when moving the package
- Scanning a packaging barcode automatically records all included units. (e.g. 1 pack = 12
units)
* - Product lookup
- Not available
- Scanning a product's barcode identifies its typical storage location in the Odoo database
- Barcode identifies grouped quantity, not storage location
* - Unique barcodes
- Not available
- Unique barcodes for individual packages (e.g. Pallet #12)
- Barcodes set at the packaging type level (e.g. for a pack of 6)
* - Reusability
- Not applicable
- Can be disposable or reusable, configured via the :ref:`Package Use
<inventory/warehouses_storage/cluster-pack>` field
- Disposable only
* - Container weight
- Not applicable
- Weight of the container itself is included in the *Shipping Weight* field of a package
(:menuselection:`Inventory app --> Products --> Packages`)
- Weight of the container is defined in the *Package Type* settings
* - Lot/serial number tracking
- Requires manual adjustments to track |UoMs| via lots (See :ref:`use case
<inventory/product_management/lots-uom>` for details)
- Applies only to contained products
- Applies to both contained products and the container
* - Custom routes
- Cannot be set
- Cannot be set
- Routes can define specific warehouse paths for a particular packaging type
Use cases
=========
After comparing the various features, consider how these businesses, with various inventory
management and logistics workflows, came to their decision.
Pallets of items using packaging
--------------------------------
A warehouse receives shipments of soap organized on physical pallets, each containing 96 bars. These
pallets are used for internal transfers and are also sold as standalone units. For logistical
purposes, the pallet's weight must be included in the total shipping weight for certain deliveries.
Additionally, the pallet requires a barcode to facilitate tracking, and the number of individual
bars of soap must be included in the stock count when the pallet is received.
After evaluating various options, *product packaging* was the most suitable solution. Packaging
enables assigning a barcode to a pallet, identifying it as a "pallet type" containing 96 soap bars.
This barcode streamlines operations by automatically registering the grouped quantity. Key
distinctions include:
- **Warehouse tracking limitations**: Odoo tracks only the total quantity, not the number of
packagings. For instance, if a pallet with 12 and 24 quantities is received, Odoo records 36
quantities, not the pallet details.
- **Packaging barcodes are type-specific, not unique**: Barcodes represent packaging types (e.g.,
"pallet of 96 soap bars") but do not uniquely identify individual pallets, such as Pallet #1 or
Pallet #2.
Capture product information using barcode
-----------------------------------------
An Odoo user expects the **Barcode** app to display the typical storage location of a product by
scanning a barcode for a container.
*Packages* was the most suitable. When the :ref:`appropriate setting is enabled
<inventory/warehouses_storage/enable-package>`, scanning a package barcode displays its contents in
the **Barcode** app.
Packages represent physical containers, enabling detailed tracking of the items they hold.
Scanning a package provides visibility into its contents and facilitates operations, like inventory
moves.
.. _inventory/product_management/lots-uom:
Track different units of measure in storage
-------------------------------------------
A fruit juice distributor tracks multiple |UoMs| for their operations:
- Fruits are purchased in tons.
- Juice is produced and stored in kilograms.
- Small samples are stored in grams for recipe testing.
*Unit of Measure* was most suitable. Odoo automatically converts tons to kilograms during
receipts. However, since Odoo tracks only one |UoM| per product in the database, the company uses
lot numbers to differentiate |UoMs|:
- LOT1: Grams (g)
- LOT2: Kilograms (kg)
Manual inventory adjustments are required to convert between lots, such as subtracting 1 kg from
LOT2 to add 1,000 g to LOT1. While functional, this workaround can be time-consuming and prone to
errors.
.. toctree::
:titlesonly:
@@ -45,6 +45,17 @@ the :guilabel:`Operations` heading, activate the :guilabel:`Packages` feature. T
:align: center
:alt: Activate the *Packages* setting in Inventory > Configuration > Settings.
.. _inventory/product_management/move-entire-pack:
When moving packages internally, the *Move Entire Packages* feature can be enabled on an operation
type to update a package's contained item's location upon updating the package's location.
To do that, go to :menuselection:`Inventory app --> Configuration --> Operations Types` and select
the desired operation this feature will apply to (may have to set it for multiple).
On the operation type page, in the :guilabel:`Packages` section, tick the :guilabel:`Move Entire
Packages` checkbox.
.. _inventory/warehouses_storage/pack:
Pack items
@@ -87,7 +98,7 @@ the above steps to place the :guilabel:`Product` in different packages. Once fin
.. seealso::
:doc:`Ship one order in multiple packages
<../../shipping_receiving/advanced_operations_shipping/multipack>`
<../../shipping_receiving/setup_configuration/multipack>`
.. _inventory/warehouses_storage/put-in-pack:
@@ -185,5 +196,4 @@ following fields:
:alt: Display package form to create a cluster pack.
.. seealso::
:doc:`Using cluster packages
<../../shipping_receiving/picking_methods/cluster>`
:doc:`Using cluster packages <../../shipping_receiving/picking_methods/cluster>`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

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