Compare commits

...

200 Commits

Author SHA1 Message Date
Sam Lieber (sali) 81b7ce33e8 [IMP] l10n_cl: Update main EDI module and description 2024-10-24 09:54:22 -04:00
benderliz 4e8250aa8a [IMP] ar_l10n: remove extra comma
closes odoo/documentation#11254

X-original-commit: 15bc972085
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Liz Bender (beli) <beli@odoo.com>
2024-10-22 18:28:59 +00:00
Valentino c8b0b79f65 [IMP] accounting/l10n_br: IAP Free Credits Clarification
Odoo gives users 500 free IAP credits when they start with Odoo in BR in production databases. This is an important information that was not clarified.

closes odoo/documentation#11242

X-original-commit: 9ba3a1bc10
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-22 08:26:06 +00:00
xpl-odoo 9943250ff4 [ADD] sign: legality of electronic signatures in germany
closes odoo/documentation#11247

X-original-commit: 74437b0e74
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-22 08:26:05 +00:00
Ricardo Gomes Rodrigues 939d0de821 [IMP] accounting: deferred full months
Feature added in commit https://github.com/odoo/enterprise/commit/5dca9c0c2691cba2335e110ad63a2dcc8bbf6d57

closes odoo/documentation#11237

Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2024-10-21 13:13:58 +00:00
masp-odoo 8fb1fb39e4 [FIX] general : Update link from Google Domains to Squarespace
Task-4224635

closes odoo/documentation#11212

X-original-commit: 399b20d9c7
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-10-17 13:12:07 +00:00
Felicious 8f5bc31f90 [IMP] inventory: improve routes definitions
closes odoo/documentation#11167

X-original-commit: 21cb6bb5cf
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-10-17 03:36:17 +00:00
benderliz 3270549c3a [IMP] Inventory: Updating serial numbers documentation
closes odoo/documentation#11129

Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-16 22:55:16 +00:00
Felicious 36d6295fee [IMP] inventory: merge resupply
closes odoo/documentation#11203

X-original-commit: 7f24a51d7d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Liz Bender <92882399+benderliz@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-15 18:41:20 +00:00
KC (ksc) 363c58f6de [IMP] surveys: add cards and links/intros
closes odoo/documentation#11175

X-original-commit: 3337149a62
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-10-15 13:38:49 +00:00
Felicious 0adba84773 [REF] inventory: resupply warehouses
closes odoo/documentation#11193

X-original-commit: ef367bd442
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-10-11 22:11:36 +00:00
Felicious c9aefec697 [IMP] inventory: fix typos in shipping table
closes odoo/documentation#11183

X-original-commit: e41e3c7ba0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-10-11 17:29:25 +00:00
larm-odoo 48c4cd161e [ADD] Payroll: Work entry analysis report
closes odoo/documentation#11179

X-original-commit: 34814984ec
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-10-11 16:14:20 +00:00
Odoo's Mergebot a08a313f02 [FW][ADD] odoo.sh: new ci token usage
closes odoo/documentation#11188

Forward-port-of: odoo/documentation#11172
Signed-off-by: Fabien Meghazi (fme) <fme@odoo.com>
Signed-off-by: Stanislas Sobieski (sts) <sts@odoo.com>
Co-authored-by: Fabien Meghazi <fme@odoo.com>
Co-authored-by: Stanislas Sobieski <sts@odoo.com>
2024-10-11 11:01:50 +00:00
Donatienne (dopi) c3ceaa57a1 [IMP] ecommerce: products page updated
closes odoo/documentation#11162

Taskid: 4056328
X-original-commit: 1c5bf1337e
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-10-10 06:41:40 +00:00
Ricardo Gomes Rodrigues ac69e2872c [IMP] accounting: split deferred settings
This has been done in https://github.com/odoo/enterprise/commit/39fffc5541eb51d7a3ae25405abe90fe6031001a

closes odoo/documentation#11041

Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2024-10-09 09:34:15 +00:00
dikd-odoo 44197f2ca9 [IMP] calendar: expand parent documentation
[ADD] expand parent calendar documentation

[FIX] formatting changes

[FIX] formatting changes

[FIX] content changes

Apply suggestions from KAEK review

[FIX] KAEK review edits

[FIX] resize images

Apply suggestions from KSC review

[FIX] content from KSC review

[FIX] revisions KSC review

[FIX] formatting

newline

formatting

Apply suggestions from KSC review

[FIX] Content change

[FIX] Content changes

Apply suggestions from KSC review

Apply suggestions from SALI review

Apply suggestions from SALI review2

content changes

format

Apply suggestions from SALI review

content

content

closes odoo/documentation#11131

X-original-commit: 721c07d341
Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com>
Co-authored-by: kekiss <karaekiss@yahoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-10-08 17:53:19 +00:00
xpl-odoo 52e342e480 [IMP] administration: on-premise publisher warranty URL
task-4226945

closes odoo/documentation#11153

X-original-commit: 544e2c18d0
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-10-07 17:04:11 +00:00
Tiffany Chang (tic) 00bfe70e0b [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#11147

X-original-commit: 5aa4151638
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-10-07 13:21:09 +00:00
Felicious d9beb9ab43 [ADD] purchase: import vendor pricelist
closes odoo/documentation#11140

X-original-commit: 3b69030302
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-10-04 21:22:49 +00:00
larm-odoo 6c843244eb [IMP] Appraisals: Skills Report - highest improvement
closes odoo/documentation#11112

Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-10-04 17:23:24 +00:00
Antoine Vandevenne (anv) 53b15ca1cc [IMP] supported_versions: release 18.0
closes odoo/documentation#11124

X-original-commit: a0472c95e5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-10-01 12:12:51 +00:00
afma-odoo 6f22d05c1c [IMP] accounting: pdf menu to export reports
task-3605633

closes odoo/documentation#11111

X-original-commit: 380c4bc10f
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-29 14:06:16 +00:00
masp-odoo eb5b4fb2c8 [FIX] website: recaptcha threshold number
task-4145451

closes odoo/documentation#11106

X-original-commit: 0aa1a671dd
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-09-26 13:41:16 +00:00
larm-odoo 2c0256f408 [ADD] Appraisals: Skills Evolution reporting
closes odoo/documentation#11098

X-original-commit: 1e39d90420
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-25 19:58:25 +00:00
larm-odoo a2b4ff885f [ADD] Employees: Certifications
closes odoo/documentation#11097

X-original-commit: 14007868bb
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-25 19:58:24 +00:00
larm-odoo 95d030c877 [ADD] Employees: Employee retention report
closes odoo/documentation#11092

X-original-commit: 43d99f8070
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-25 18:36:26 +00:00
Tiffany Chang (tic) 71a96f69c1 [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#11086

X-original-commit: b9338949e9
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-09-25 08:17:22 +00:00
larm-odoo 9c4362088b [ADD] Appraisals: Appraisal Analysis reporting
closes odoo/documentation#11075

X-original-commit: 85e04b2723
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-23 17:59:45 +00:00
larm-odoo 49cec1af4e [ADD] Employees: Offboarding an employee
closes odoo/documentation#11074

X-original-commit: 7d075de97a
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-23 17:59:44 +00:00
Loredana Perazzo 7b99670e26 [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#11012

X-original-commit: 3faefe2597
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-20 15:29:49 +00:00
Julian Roussieau 8d931d43e5 [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#11060

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:33:49 +00:00
Loredana Perazzo 183f5b3aac [IMP] l10n: add 17.0 blackbox certif in table
task-4131387

closes odoo/documentation#11017

X-original-commit: 7b841f6eee
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-20 08:01:36 +00:00
Sam Lieber (sali) b5c962699f [IMP] l10n_us: blank checks
closes odoo/documentation#10946

Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
2024-09-19 19:42:55 +00:00
afma-odoo 7ceb5c89ad [IMP] accounting: cash register page in POS
task-3721929
task-3890538

closes odoo/documentation#11054

X-original-commit: 5b6531a68d
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-19 15:16:56 +00:00
afma-odoo abc8b512e6 [IMP] accounting: update reporting page and screenshots
task-3605633
task-3562956

closes odoo/documentation#11051

X-original-commit: 5bb9c1fcc2
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-19 13:49:05 +00:00
Lara Martini (larm) 5832540a70 [IMP] Time Off: added example for based on work time
closes odoo/documentation#10995

X-original-commit: 4b1ebb71c0
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-16 15:09:09 +00:00
larm-odoo 6073abb6dd [ADD] Referrals: reporting doc with use case
closes odoo/documentation#11032

X-original-commit: db78ddcdf9
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-16 15:09:08 +00:00
larm-odoo ea1227e372 [ADD] Recruitment: Team performance reporting
closes odoo/documentation#11025

X-original-commit: 34ff71cb20
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-16 15:09:06 +00:00
Sam Lieber (sali) 9dd836ddd7 [ADD] accounting/l10n_ca: canada accounting
closes odoo/documentation#11028

X-original-commit: b752040eb0
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-09-16 13:49:07 +00:00
Audrey (auva) bfd5c80140 [IMP] contributing/documentation: update documentation guidelines
task-3709518

closes odoo/documentation#11022

X-original-commit: 8ce6283807
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-16 09:49:57 +00:00
tong-odoo 67320bdc28 [ADD] POS: point of sale qr code payment
task-4169629

closes odoo/documentation#11005

X-original-commit: 4393e08731
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-13 15:11:07 +00:00
Lara Martini (larm) bc4a2802ba [ADD] Recruitment: time in stage analysis
closes odoo/documentation#11001

X-original-commit: 03839a5b11
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-09-13 13:58:07 +00:00
Loredana Perazzo 75de303f7d [IMP] POS: move title from page A to page B in restaurant
task-3617680

closes odoo/documentation#10981

X-original-commit: fc71b2df57
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-13 07:39:45 +00:00
John Holton (hojo) 25172a0d05 [ADD] Inventory: product catalog
closes odoo/documentation#10997

X-original-commit: 4f2402aec4
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-09-12 21:09:40 +00:00
Parish Bracha be1bbaf0b5 [IMP] Subscriptions: Report format update
closes odoo/documentation#10937

X-original-commit: 31972238cc
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-09-10 17:40:18 +00:00
Audrey (auva) 9ff44adcf9 [IMP] payment_providers: PCI DSS compliance, payment methods on portal
task-4042449
task-2949379

closes odoo/documentation#10988

X-original-commit: d8b827cda4
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-09-10 16:33:22 +00:00
John Holton (hojo) f2a4870ed6 [IMP] Inventory: add carrier integration links
closes odoo/documentation#10839

X-original-commit: bb1a60fd76
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-09-09 17:12:16 +00:00
John Holton (hojo) 64dedb9f5f [IMP] Manufacturing: work center time off update
closes odoo/documentation#10971

X-original-commit: 1403e60925
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-09-09 14:44:46 +00:00
John Holton (hojo) 7fa00bab39 [IMP] Inventory: MTO update
closes odoo/documentation#10976

X-original-commit: 72c6e76906
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-09-09 14:44:45 +00:00
Loredana Perazzo f3b4ecfa73 [IMP] POS: stripe connection correction
task-4160316

closes odoo/documentation#10955

X-original-commit: 582c44f05e
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-09 10:49:59 +00:00
sjai-odoo 29ee1b73b4 [ADD] point_of_sale: documentation to configure razorpay terminal
Added the documentation needed to use razorpay payment method in Point Of Sale.

task- 3762059

closes odoo/documentation#10960

X-original-commit: 5f54878e5f
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-09-09 10:49:58 +00:00
afma-odoo a4e94b5d84 [IMP] accounting: add info on developer mode for bank online synch
task-4118449

closes odoo/documentation#10962

X-original-commit: 259e6bb272
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-09 08:25:42 +00:00
afma-odoo 76a6f1a7f1 [IMP] accounting: change reports information - Mexican localization
task-3994265

closes odoo/documentation#10961

X-original-commit: 9857ab293b
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-09 07:13:13 +00:00
Parish Bracha f5667702b8 [FIX] CRM: Send quotes guilabel fix
closes odoo/documentation#10922

X-original-commit: 7473cded7f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-09-08 08:50:08 +00:00
Sam Lieber (sali) 60e23d6249 [ADD] accounting/l10n_uy: uruguay
closes odoo/documentation#10973

X-original-commit: f6e2eaccc0
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: fvz-odoo <fvz@odoo.com>
Co-authored-by: auva-odoo <auva@odoo.com>
2024-09-06 21:13:56 +00:00
gmz-odoo d31667f952 [IMP] l10n_pe: eCommerce electronic invoicing
Add new section for eCommerce Functionality starting Odoo17+

Section will be display after the “Guía de entrega electrónica 2.0” menu with the same hierarchy

Pictures on shared folder: https://drive.google.com/drive/folders/1fDgPxJFOpesZrkE3TsaOytDIOT0OW9Cf?usp=sharing

closes odoo/documentation#10902

X-original-commit: 7340391b78
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Co-authored-by: dade-odoo <87431108+dade-odoo@users.noreply.github.com>
Co-authored-by: auva-odoo <128469033+auva-odoo@users.noreply.github.com>
2024-09-05 14:53:43 +00:00
Carsten Wolff (cawo) 612b461f45 [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#10943

X-original-commit: 2a5e686783
Signed-off-by: Carsten Wolff (cawo) <cawo@odoo.com>
2024-09-05 13:25:04 +00:00
afma-odoo b75396108d [IMP] accounting: change of the onboarding banners
task-4088605

closes odoo/documentation#10931

X-original-commit: fcf6474829
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-05 11:56:44 +00:00
afma-odoo f9b4ba28da [IMP] accounting: change Financial budget title
task-4147298

closes odoo/documentation#10927

X-original-commit: fc8449c974
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-05 07:58:44 +00:00
xpl-odoo e198d3ce6e [IMP] upgrade: better introduce the upgrade process
closes odoo/documentation#10918

X-original-commit: e05a37917d
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-09-04 08:25:49 +00:00
afma-odoo 712d6ca853 [IMP] accounting: add info on partial payment for vendor bills
task-4043877

closes odoo/documentation#10911

X-original-commit: 60ce9c91a6
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-04 08:25:48 +00:00
John Holton (hojo) 76a112d24e [IMP] Inventory: rewrite DHL integration
closes odoo/documentation#10887

X-original-commit: e1cc0ce4d2
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-09-03 21:52:37 +00:00
John Holton (hojo) 4e6bb5aaaf [IMP] Manufacturing: Shop Floor prioritization
closes odoo/documentation#10854

X-original-commit: 12a69bbf9e
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-09-03 21:52:36 +00:00
afma-odoo 9485413be3 [IMP] accounting: change duration to re-authorize the Ponto connection
task-4137393

closes odoo/documentation#10896

X-original-commit: 4e2958f034
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-09-03 08:38:45 +00:00
Parish Bracha 11b02354ba [IMP] Subscriptions: Contract in exception
closes odoo/documentation#10889

X-original-commit: ea2fc6dbc4
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-08-30 17:32:49 +00:00
Felicious 07eb4cafbf [REF] inventory: valuation section
closes odoo/documentation#10881

X-original-commit: 800328e97f
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-30 17:32:48 +00:00
Felicious 1825434871 [FIX] inventory: DHL service
closes odoo/documentation#10861

X-original-commit: 5b21bc871f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-08-30 17:32:46 +00:00
Felicious 34b901b52a [IMP] inventory: shipping method routes
closes odoo/documentation#10875

X-original-commit: 91c47f6dc4
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-08-30 00:28:52 +00:00
kekiss aa8ed31fdf [IMP] Iot: Remove OPC-UA (17.0)
closes odoo/documentation#10874

X-original-commit: 8e63561a4d
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kara Ekiss (kaek) <kaek@odoo.com>
2024-08-29 22:43:18 +00:00
Sam Lieber (sali) 23c015b13a [IMP] purchase: call for tenders 17.0 updates
Apply suggestions from hojo's review

Fixed formatting

Apply suggestions from KSC's review

Formatting changes

Apply suggestions from code review

Removed compose email image

icon update

closes odoo/documentation#10864

X-original-commit: 2cd893938a
Signed-off-by: Kara Ekiss (kaek) <kaek@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-29 17:32:38 +00:00
Parish Bracha 4faeb3fecd [IMP] Accounting: Avatax update and fix
closes odoo/documentation#10819

X-original-commit: f6226e6aac
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-08-26 16:03:45 +00:00
kekiss 96794d47fc [IMP] VoIP: OnSIP updates
closes odoo/documentation#10847

X-original-commit: 6dae9a10ef
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-08-24 01:21:37 +00:00
Felicious 0f87ae1ae4 [REF] inventory: advanced shipping methods
closes odoo/documentation#10821

X-original-commit: 152e8447a1
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-23 16:33:23 +00:00
Louis Wicket (wil) a8a5b86bd6 [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#10833

X-original-commit: 6ba02094ba
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2024-08-23 10:26:54 +00:00
Tiffany Chang (tic) f3c3505a79 [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#10826

X-original-commit: a64a614c7a
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-08-22 16:56:39 +00:00
Olivier Monnom bd74405def [ADD] pos: integration of Mercado Pago payment terminal
task-3950536

closes odoo/documentation#10809

X-original-commit: 281e36adf3
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Co-authored-by: Monnom Olivier <mool@odoo.com>
Co-authored-by: Perazzo Loredana <lrpz@odoo.com>
2024-08-22 10:14:45 +00:00
Stanislas Sobieski feeb4313e9 [IMP] odoo.sh: ip changes
closes odoo/documentation#10803

X-original-commit: ca18df8f27
Signed-off-by: Stanislas Sobieski (sts) <sts@odoo.com>
2024-08-22 07:07:37 +00:00
Lara Martini (larm) d8d77fdfab [ADD] Recruitment: Recruitment analysis report
closes odoo/documentation#10810

X-original-commit: 6a4121f61a
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-20 14:15:02 +00:00
Sam Lieber (sali) a293d23c20 [IMP] accounting/l10n_us: l10n doc review edits
closes odoo/documentation#10780

X-original-commit: dcb0d21b17
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-08-20 14:15:00 +00:00
Antoine Vandevenne (anv) 708c12c2e5 [IMP] supported_versions: release saas-17.4
closes odoo/documentation#10796

X-original-commit: 0e3c58de53
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-08-19 14:47:48 +00:00
Marion (masp) ad4cc75c7d [IMP] website: landing page
taskID-3710109

closes odoo/documentation#10702

X-original-commit: d42a95393d
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-08-19 08:49:03 +00:00
kekiss 29670216a1 [REM] finance: Taxcloud documentation
fix Taxcloud redirect

closes odoo/documentation#10784

X-original-commit: 888f29faae
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kara Ekiss (kaek) <kaek@odoo.com>
2024-08-17 00:16:39 +00:00
Lara Martini (larm) dda75a9a01 [ADD] Recruitment: Source analysis reporting
closes odoo/documentation#10768

X-original-commit: 01141defcb
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-15 21:34:38 +00:00
Lara Martini (larm) a467bdd8b9 [IMP] Time Off: updating requested carry over time info
closes odoo/documentation#10748

X-original-commit: 98f2adbd13
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-14 14:30:19 +00:00
Louis Wicket (wil) 9668d89545 [FIX] add missing language names to the language switcher
Even though the Thai documentation has been built and is available, it
didn't show up in the language switcher. This is because it needs to be
given a "language name" first.

This commis add the language names corresponding to the newly added
translations (namely, into Thai and Japanese).

closes odoo/documentation#10740

X-original-commit: 9cf55e3fc0
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
Signed-off-by: Louis Wicket (wil) <wil@odoo.com>
2024-08-14 12:42:42 +00:00
KC (ksc) fa90f3437f [IMP] sales: mass cancel quotation/SOs
closes odoo/documentation#10759

X-original-commit: cbe1b813b6
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-14 01:46:50 +00:00
Felicious ac2427eae8 [IMP] inventory: packaging on routes
closes odoo/documentation#10758

X-original-commit: 7ba46e2579
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-08-14 01:46:49 +00:00
KC (ksc) baf7655502 [IMP] sales: update pricelist info
closes odoo/documentation#10756

X-original-commit: e87a500e06
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-14 01:46:48 +00:00
KC (ksc) 98e494ed48 [IMP] sales: add loyalty card button 17
closes odoo/documentation#10744

X-original-commit: f9ebeb16c7
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-13 23:42:18 +00:00
Felicious 0d3f2da180 [IMP] inventory: costing chart
closes odoo/documentation#10727

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 22:00:57 +00:00
Marion (masp) 0bcc04c298 [IMP] Website: GTM integration
taskID-4006105

closes odoo/documentation#10623

X-original-commit: 28c7ce5e80
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-08-13 15:03:58 +00:00
Antoine Vandevenne (anv) a413c3519d [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#10707

X-original-commit: e41e618116
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-08-13 13:20:16 +00:00
Antoine Vandevenne (anv) cdeaaa21de [FIX] reference/view_architectures: remove outdated and broken link
The external link to `AbstractController` class was broken, both because
the placeholder substitution mechanism doesn't work in included RST
excerpts and because the class has long been removed.

Since it makes little sense to replace the link with another link to
the `useActionLinks` hook in the context of this reference doc, this
commit removes the link altogether, as well as the erroneous mention
of class limitations.

closes odoo/documentation#10732

X-original-commit: e7d2be6366
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-08-13 13:20:12 +00:00
dikd-odoo 161d8728d0 [ADD] purchase: RFQ
[ADD] purchase: RFQ

[FIX] Corrected CR error

Apply suggestions from FEKU review

content and formatting changes per FEKU peer review

[FIX] CI error - heading lengths

[FIX] CI error2 - heading lengths

Apply suggestions from code review

Formatting and content changes - FEKU review

Formatting changes per FEKU review

formatting changes to fix error

Apply suggestions from KSC review

[FIX] build formatting changes

[FIX] formatting

Apply suggestions from KSC review

[FIX] content changes

Apply suggestions from SALI review

[FIX] resize and compress images

[FIX] formatting

Apply suggestions from SALI review

Apply suggestions from SALI review

closes odoo/documentation#10721

X-original-commit: db94a26e4f
Signed-off-by: Dina Klarisse Dugar (dikd) <dikd@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-13 01:10:14 +00:00
Felicious 27548881e9 [IMP] inventory: sendcloud EU destinations
closes odoo/documentation#10717

X-original-commit: abf2e868b8
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-08-12 23:13:05 +00:00
Lara Martini (larm) b630585901 [ADD] Expenses: reinvoicing expenses
closes odoo/documentation#10712

X-original-commit: 297fb0e28c
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-12 21:28:37 +00:00
John Holton (hojo) 0e428e66d9 [IMP] Purchase: update reporting
closes odoo/documentation#10500

X-original-commit: be3a6f6f54
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-08-12 18:15:49 +00:00
jero-odoo f4bc361d04 [IMP] Livechat: URL Regex clarification
closes odoo/documentation#10696

X-original-commit: d0e5631f63
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-08-12 15:07:01 +00:00
jero-odoo 9f0c5a8f9b [IMP] Livechat: Commands channel update
closes odoo/documentation#10690

X-original-commit: 34ffcdfa58
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-08-12 15:07:00 +00:00
KC (ksc) da0255e2be [IMP] accounting: adding requested link to sales doc
closes odoo/documentation#10662

X-original-commit: 41a8050f34
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-08-12 15:06:55 +00:00
Felicious 2399290177 [REF] inventory: restructure shipping section
closes odoo/documentation#10698

X-original-commit: e9b954cfe0
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-10 16:11:39 +00:00
KC (ksc) e0a197a088 [IMP] surveys: add text/website theme info
closes odoo/documentation#10683

X-original-commit: 8e5eb2f53f
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-09 19:54:42 +00:00
Felicious 2be313db40 [IMP] inventory: packages kanban view
closes odoo/documentation#10678

X-original-commit: 15561586f9
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-08-09 18:33:49 +00:00
John Holton (hojo) b2e0cc2b65 [REF] Manufacturing: reporting restructure
closes odoo/documentation#10669

X-original-commit: f7ac46bc8d
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-08-09 15:34:00 +00:00
Lara Martini (larm) 8e13755a4b [ADD] Expenses: reimburse employees doc
closes odoo/documentation#10666

X-original-commit: 2f228153b0
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-09 13:52:47 +00:00
tong-odoo 0551837e4b [IMP] accounting: clarfy mandatory field for EMV qr code
closes odoo/documentation#10672

X-original-commit: cf46224fda
Signed-off-by: Tommy Ng (tong) <tong@odoo.com>
2024-08-09 03:09:07 +00:00
KC (ksc) 6e14ec2127 [IMP] sales: add pricelist to loyalty prgms
closes odoo/documentation#10649

X-original-commit: 980b6ad41b
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-08 15:26:11 +00:00
Lara Martini (larm) 791308f874 [IMP] Time Off: updating requested allocation doc
closes odoo/documentation#10642

X-original-commit: b8607a24a8
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-08 13:10:07 +00:00
afma-odoo d2268eb5bd [IMP] accounting: clarify SEPA credit transfer page
task-4019186

closes odoo/documentation#10624

X-original-commit: 0665e787a9
Signed-off-by: Anne-Françoise Marcq (afma) <afma@odoo.com>
2024-08-08 13:10:00 +00:00
KC (ksc) 0d3f716bd8 [IMP] crm: add sales/quotation admon
closes odoo/documentation#10648

X-original-commit: c987e2e98e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-08-08 03:51:12 +00:00
rps-odoo e8be8003b2 [IMP] accounting/l10n_cl: add Importante note to F29 report
closes odoo/documentation#10542

X-original-commit: 730eb3086d
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-07 09:10:48 +00:00
Lara Martini (larm) 75e7a4d1db [ADD] Expenses: new log expenses doc
closes odoo/documentation#10611

X-original-commit: eb8643ba88
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-06 18:54:48 +00:00
bve-odoo b9c91de6e9 [FIX] mail: 17.0 full rework of mail communication documentation
1/ Revamp of email_servers to be a introduction and allow correct redirection
+ redirection to other pages linked to mailing + ToC of email_communication folder

2/ Splitting inbound and outbound message into subfiles:
2.a/ email_servers_inbound: all documentation related to incoming emails
2.b/ email_servers_outbound: documentartion related to outgoing emails

3/ email_domain (as before) about authentication protocols to set on domains.

4/ faq: complete revamp to better match usual issues about mailings.

Also: removed unused images, adding anchors on other docs.

RST co-authored-by: jorv-odoo, jqu-odoo, xpl-odoo

doc writers:
- email_servers_inbound by qco-odoo
- email_servers_outbound by EMBR
- email_servers by abridbus
- email_domain by jqu-odoo
- faq by jorv-odoo

related documentation task-3875591

closes odoo/documentation#10607

X-original-commit: a6a6fcf1e0
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-08-06 09:28:41 +00:00
xpl-odoo 6ae7180431 [ADD] sign: legality in 40 countries
task-4008122

closes odoo/documentation#10578

X-original-commit: 015ce987e2
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2024-08-06 09:28:37 +00:00
sami odoo 0ee3c034d2 [IMP] reference/user_interface: update documentation regarding widget in graph
This commit aims to update the documentation regarding the adaptability of
widgets in the graph view of Odoo.

Task-3861721

closes odoo/documentation#10606

X-original-commit: 9dc985ef47
Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
2024-08-06 07:52:51 +00:00
laro-odoo fea873780d [IMP] web: make date widget work with datetime field
Task-3698841

closes odoo/documentation#10564

X-original-commit: 3badb434e1
Related: odoo/odoo#175446
Related: odoo/enterprise#67843
Signed-off-by: Mathieu Duckerts-Antoine (dam) <dam@odoo.com>
2024-08-05 15:27:47 +00:00
Audrey (auva) 38f4a73853 [IMP] Studio: update views page
task-3553099

closes odoo/documentation#10511

X-original-commit: b2dacae4e9
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-05 13:58:46 +00:00
igbe 8fbaf74900 [IMP] l10n_es_modelo130, l10n_es_reports_modelo130: Tax report: Modelo 130
Add the modelo 130 report and the corresponding BOE files export for spain localization.

As it's a brand-new report, we had to add it in a dedicated module.

task-3866238

closes odoo/documentation#10596

X-original-commit: c9c5af7045
Related: odoo/odoo#175641
Related: odoo/enterprise#67934
Signed-off-by: Igor Bertrand (igbe) <igbe@odoo.com>
2024-08-05 12:18:00 +00:00
jero-odoo 087596ca85 [IMP] iot: remove connect printer to work center
closes odoo/documentation#10591

X-original-commit: 3256aa02bd
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-08-05 12:17:57 +00:00
KC (ksc) 8babcda06e [REF] sms marketing: remove essentials and pricing
closes odoo/documentation#10590

X-original-commit: 6aca6f83d3
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-02 22:09:22 +00:00
KC (ksc) f3b200e375 [FIX] events: events.rst adjustments
closes odoo/documentation#10589

X-original-commit: ad0619e7fe
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-02 22:09:21 +00:00
KC (ksc) 6a7114405f [ADD] events: revenues report
closes odoo/documentation#10565

X-original-commit: e6d98cc030
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-02 16:39:53 +00:00
Sam Lieber (sali) b6d8aa2e72 [IMP] data cleaning: recycle rules
closes odoo/documentation#10555

X-original-commit: 9e8a7f54e3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-08-02 16:39:52 +00:00
Lara Martini (larm) 5a799bb62a [ADD] Expenses: approve expense reports
closes odoo/documentation#10501

X-original-commit: b6372019d6
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-02 16:39:51 +00:00
Tom Aarab (toaa) 41aeb77467 [IMP] accounting: vat unit renamed
taskid-4069502

closes odoo/documentation#10570

X-original-commit: c36ad6720b
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-02 14:24:42 +00:00
Audrey (auva) 6341141695 [FIX] project: change save icon
To comply with (future) guidelines

closes odoo/documentation#10557

X-original-commit: a9febaea2d
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-02 07:24:07 +00:00
Tom Aarab (toaa) 29eb67cd37 [IMP] uk: bacs files
Adding BACS files to doc

taskid-3987973

closes odoo/documentation#10554

X-original-commit: e23c78bc65
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-02 07:24:06 +00:00
Tom Aarab (toaa) d96d23a9be [IMP] accounting: branches oaf vs paid plan
taskid-3943368

closes odoo/documentation#10537

X-original-commit: f200abf259
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-02 07:24:04 +00:00
masi-odoo 5560d5ad62 [IMP] accounting/l10n_cl: Fiscal PDF report image
Adds image of accepted invoice PDF report with the fiscal elements needed. It replaces the last image used, which had sensitive information of a third party company.

Link to image: https://drive.google.com/file/d/1JYymyUVz_3q6bBg-yrgM_i6Di9gLcqOc/view?usp=sharing

closes odoo/documentation#10530

X-original-commit: 8a0a028f91
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-02 07:24:03 +00:00
Parish Bracha eb69d4fcee [ADD] crm: new lead distribution report
closes odoo/documentation#10556

X-original-commit: b17e44ea59
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-08-02 06:11:40 +00:00
KC (ksc) a7766aad8c [ADD] events: registration desk doc (17)
closes odoo/documentation#10541

X-original-commit: 1dcfe267a3
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-02 03:00:22 +00:00
Lara Martini (larm) 77dbda389e [ADD] Recruitment: adding new recruitment flow doc
closes odoo/documentation#10358

X-original-commit: afbc491940
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-08-02 01:36:39 +00:00
John Holton (hojo) 7da3ec65b6 [IMP] Essentials: update search doc
closes odoo/documentation#10417

X-original-commit: 7212fc98cd
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-08-01 23:44:37 +00:00
John Holton (hojo) 5fa8656cdd [ADD] Inventory: FedEx integration
closes odoo/documentation#10498

X-original-commit: fccd4e5d88
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-08-01 16:23:00 +00:00
John Holton (hojo) af3f31e233 [ADD] Manufacturing: Production analysis report
closes odoo/documentation#10366

X-original-commit: 17787e62c3
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-08-01 16:22:58 +00:00
Felicious 6223077cb8 [ADD] inventory: format zebra labels
closes odoo/documentation#10246

X-original-commit: b7737e6d5b
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-08-01 16:22:57 +00:00
Tom Aarab (toaa) c6ade58fdb [IMP] accounting: screenshot and related content update
taskid-3866429

17 and +: change screenshot to new design

closes odoo/documentation#10518

X-original-commit: 01191af74e
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-08-01 14:59:56 +00:00
KC (ksc) f632317421 [ADD] events: added an event tracks doc
closes odoo/documentation#10507

X-original-commit: 88c22f5cbc
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-01 14:59:54 +00:00
KC (ksc) 23e683adb5 [IMP] social marketing: doc restructure
closes odoo/documentation#10499

X-original-commit: 196553ca1e
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-01 14:59:52 +00:00
KC (ksc) d0ac4b8f55 [IMP] subscriptions: physical product admonition
closes odoo/documentation#10496

X-original-commit: 5b427ac874
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-08-01 14:59:51 +00:00
jero-odoo 99ab0259af [IMP] iot: add connect printer note
closes odoo/documentation#10497

X-original-commit: 4f40ebd78f
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-08-01 11:41:59 +00:00
KC (ksc) fad2d9c66e [IMP] events: update track and manage talks
closes odoo/documentation#10166

X-original-commit: 6b17ed5052
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-07-31 20:59:40 +00:00
Felicious 2b41100b2f [IMP] inventory: shipping rule note
closes odoo/documentation#10385

X-original-commit: 2fd4af7619
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-07-31 19:16:36 +00:00
Felicious 87d1325755 [ADD] inventory: storage categories
closes odoo/documentation#10436

X-original-commit: d362d4ebdb
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: pabr-odoo <pabr@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-07-31 17:49:41 +00:00
Antoine Vandevenne (anv) 012051feec [FIX] contributing/development: fix doc reference to tutorials.rst
closes odoo/documentation#10474

X-original-commit: 747e1bab14
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-07-31 14:44:51 +00:00
KC (ksc) 0e081f1c5e [IMP] sales: adding global discount info
closes odoo/documentation#10467

X-original-commit: 6f74248de1
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-07-31 14:44:49 +00:00
Lara Martini (larm) c13d92ccea [ADD] Expenses: post expenses to accounting journals
closes odoo/documentation#10461

X-original-commit: 83b6895deb
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-07-31 14:44:48 +00:00
Felicious 677c9e089a [IMP] barcode: add nomenclature example
closes odoo/documentation#10457

X-original-commit: 16537bb9c5
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-07-30 19:12:21 +00:00
Lara Martini (larm) a880022e28 [ADD] Fleet: new accident management doc
closes odoo/documentation#10453

X-original-commit: 71e2a50d40
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-07-30 17:33:55 +00:00
Felicious ea92dd6337 [IMP] inventory: switch valuation to auto
closes odoo/documentation#10270

X-original-commit: cb51299cf1
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-07-30 17:33:53 +00:00
xmo-odoo 601f915e98 [FIX] contributing: remove smart quotes
There have been several new odooers who've hit legal/cla mismatches, and after
investigation their email address would be smart quoted in git (e.g.
`<“uid@example.org”>`).

That the documentation itself uses smart quotes is highly suspicious, it would
make sense that new developers just pasted the provided command, updated it to
match, and didn't even notice the quotes were wrong: `git` is perfectly happy
with it, only on reading it back can you realise it's wrong and the guide
doesn't say anything about *that*.

So fix the quotes in the doc, and hopefully that'll resolve the issue.

closes odoo/documentation#10445

X-original-commit: 811b442fcc
Signed-off-by: Xavier Morel (xmo) <xmo@odoo.com>
2024-07-30 16:18:04 +00:00
Zuzanna Luczynska e757f4ae69 [ADD] project: new doc about sub-tasks
taskid-4066254

closes odoo/documentation#10351

X-original-commit: b3e2b51a6a
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Zuzanna Luczynska (zulu) <zulu@odoo.com>
2024-07-30 16:17:56 +00:00
KC (ksc) 0cbe4101a6 [ADD] sales: create quotations doc
closes odoo/documentation#10430

X-original-commit: 1aee294219
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-07-29 23:09:27 +00:00
Parish Bracha 0490f3cda2 [ADD] Subscriptions: Wire transfer
closes odoo/documentation#10424

X-original-commit: d8cd13b659
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-07-29 20:42:47 +00:00
Lara Martini (larm) 636228c7c2 [ADD] Expenses: new expese reports doc
closes odoo/documentation#10409

X-original-commit: 3b40e6c1ec
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-07-29 14:06:05 +00:00
jero-odoo b76bb3b610 [IMP] General: Multi-Company Limitations
closes odoo/documentation#10418

X-original-commit: bed068f95a
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-07-29 12:14:46 +00:00
jero-odoo 6cc002d59c [IMP] Essentials:  Export and Import
closes odoo/documentation#10408

X-original-commit: d2497d2b14
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2024-07-29 12:14:44 +00:00
Marion (masp) 622b6d7afb [IMP] website: complete google search console doc
task-3799063

closes odoo/documentation#10345

X-original-commit: bea85886d4
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-07-29 10:38:53 +00:00
Tom Aarab (toaa) 10b12cdd42 [IMP] mexico: broken url
Removing a dead URL

taskid-3636231

closes odoo/documentation#10354

X-original-commit: 0451d1f2a8
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-07-29 08:52:53 +00:00
Sam Lieber (sali) a7a2c354d8 [FW][FIX] accounting/l10n_cl: remove company image
closes odoo/documentation#10401

X-original-commit: 44c2b65fa0
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-07-27 03:00:40 +00:00
bve-odoo 9a7ad86131 [FIX] microsoft_outlook: redirect URL error if not matching
_compute_outlook_uri is using get_base_url, providing the
web.base.url of the database that is subject to changed as
stated on the website documentation: if the user logging-in
is using another URL to connect to the db, and has the
Administration/Settings access right (res.groups: base.group_system)

opw-4056377

closes odoo/documentation#10377

X-original-commit: 1f7c0a9b2e
Signed-off-by: Baptiste Vergote (bve) <bve@odoo.com>
2024-07-26 12:48:13 +00:00
Tom Aarab (toaa) bacd5e8d00 [IMP] argentina: menu move
taskid-3962220

closes odoo/documentation#10371

X-original-commit: ee8aed02c8
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-07-26 12:48:08 +00:00
rps-odoo a45fb1fff4 [IMP] accounting/l10n_ec: point of sale invoicing
closes odoo/documentation#10365

X-original-commit: 7ecaf74124
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-07-26 12:48:06 +00:00
Donatienne (dopi) a623c1ed0f [IMP] Documents: share button modified
taskid-4037157

closes odoo/documentation#10291

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-07-26 12:48:04 +00:00
Donatienne (dopi) 3e07d2e00a [IMP] Sign: signing order to be updated
taskid-4058926

closes odoo/documentation#10338

X-original-commit: acf8d5e4a7
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-07-26 06:36:45 +00:00
guillaume gallant (guga) 6cc550f0e2 [IMP] Field_Service: Creating tasks page
taskid-4043610

closes odoo/documentation#10328

X-original-commit: 036593f1e1
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-07-25 06:53:50 +00:00
guillaume gallant (guga) 431793c2fd [IMP] Field_Service: add product to the task
taskid-4043214

closes odoo/documentation#10320

X-original-commit: 93a0f41756
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-07-24 08:07:45 +00:00
Tiffany Chang (tic) 8d0e798f33 [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#10313

X-original-commit: bf9bbff058
Signed-off-by: Tiffany Chang (tic) <tic@odoo.com>
2024-07-24 08:07:44 +00:00
Lara Martini (larm) 3c8ba29d5f [ADD] spreadsheet: global filters
closes odoo/documentation#10314

X-original-commit: 32976cdd84
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: Samuel Lieber <sali@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-07-23 17:30:37 +00:00
Parish Bracha 4dfd87bb49 [ADD] crm: add marketing attribution doc
Apply suggestions from code review

closes odoo/documentation#10283

X-original-commit: 53f8dcd991
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-07-23 16:20:45 +00:00
jero-odoo 3116214598 [ADD] Members: members analysis
closes odoo/documentation#10300

X-original-commit: 00e96e5635
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-07-23 14:43:47 +00:00
Felicious e33dc3b33e [IMP] inventory: refactor WH and locations
closes odoo/documentation#10296

X-original-commit: c4fd10f94e
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: Jess Rogers <104637850+jero-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-07-23 07:02:07 +00:00
Donatienne (dopi) b296759037 [MOV] ecommerce: moving product management page
taskid-4056328

closes odoo/documentation#10254

X-original-commit: d03b45c6f9
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-07-23 07:02:01 +00:00
John Holton (hojo) 341aa8e4be [ADD] Manufacturing: OEE
closes odoo/documentation#10288

X-original-commit: 63ba53a942
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-07-22 19:04:25 +00:00
jero-odoo 6aaefcd2b8 [IMP] Users: Enforce two-factor authentication
closes odoo/documentation#10282

X-original-commit: 634a5af824
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-07-22 13:32:19 +00:00
Donatienne (dopi) c8b5c0ea59 [IMP] Sign: reminders
taskid-4053507

closes odoo/documentation#10274

X-original-commit: 9ac8eedf8a
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-07-22 07:31:02 +00:00
Lara Martini (larm) 7a6b2cf3f1 [ADD] Referrals: new points doc
closes odoo/documentation#10257

X-original-commit: 17ee273d7f
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-07-19 18:37:57 +00:00
jero-odoo b78606ea07 [ADD] Users: Facebook OAuth
closes odoo/documentation#10261

X-original-commit: 8cea31c24d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-07-19 06:39:42 +00:00
KC (ksc) 362cfc0c8d [ADD] events: event booths doc (17)
closes odoo/documentation#10266

X-original-commit: a42a88bf7c
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-07-18 23:57:50 +00:00
Felicious 6e3c380da4 [IMP] inventory: bpost customer accounts
closes odoo/documentation#10172

X-original-commit: 2250cd9c78
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
2024-07-18 17:21:32 +00:00
Donatienne (dopi) bee7c0b0f1 [IMP] Documents: email alias
taskid-3898917

closes odoo/documentation#10249

X-original-commit: b2ba466e61
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-07-18 12:40:00 +00:00
jero-odoo b375e283cf [FIX] VoIP: Correct Axivox Link
closes odoo/documentation#10243

X-original-commit: e238e63240
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2024-07-18 12:39:59 +00:00
nni-odoo bd06b95cbe [IMP] payment_xendit: tokenization
Tokenization is introduced in https://github.com/odoo/odoo/pull/158445 and needs extra configuration to setup for credit card payment.
We require optional 3DS to be enabled and dynamic 3DS to be disabled

closes odoo/documentation#9394

Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-07-18 09:32:53 +00:00
Felicious 3e84d21306 [IMP] inventory: sendcloud shipping rules
closes odoo/documentation#10196

X-original-commit: 21779a5eb6
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2024-07-18 06:28:38 +00:00
KC (ksc) 192cbbf168 [FIX] subscriptions: corrected invoicing info
closes odoo/documentation#10200

X-original-commit: 1f88f9dd67
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-07-17 17:30:50 +00:00
guillaume gallant (guga) f6586f4dbd [IMP] Field Service: Correction on Itinerary doc
task 4053589

closes odoo/documentation#10226

X-original-commit: 79745b702f
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Guillaume Gallant (guga) <guga@odoo.com>
2024-07-17 14:44:09 +00:00
Parish Bracha 1d25e55346 [IMP] sales: 100 percent down section
closes odoo/documentation#10168

X-original-commit: 9d228fc301
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-07-16 19:19:39 +00:00
Parish Bracha 8a6dbe56c3 [IMP] crm: add quotation product catalog
closes odoo/documentation#10163

X-original-commit: 9af6b453fe
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-07-16 19:19:38 +00:00
Lara Martini (larm) f2f701dba6 [ADD] Recruitment: offer job positions
closes odoo/documentation#10211

X-original-commit: 11a2af286d
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-07-16 17:24:44 +00:00
Lara Martini (larm) 85ebf41d2c [ADD] Time off: new allocations doc
closes odoo/documentation#10206

X-original-commit: 7c10386675
Signed-off-by: Lara Martini (larm) <larm@odoo.com>
2024-07-16 17:24:43 +00:00
Parish Bracha 85c70cb544 [IMP] CRM: Inactive lost leads
closes odoo/documentation#10165

X-original-commit: 11ef368a58
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Signed-off-by: Parish Bracha (pabr) <pabr@odoo.com>
2024-07-16 17:24:42 +00:00
Donatienne (dopi) 0c30ca938e [IMP] Website: link to be updated
taskid-4047508

closes odoo/documentation#10222

X-original-commit: baf1e9b464
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-07-16 15:53:47 +00:00
Donatienne (dopi) 2f3d467dc8 [IMP] website: translations
taskid-3617120

closes odoo/documentation#10219

X-original-commit: fda2534a74
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-07-16 15:53:46 +00:00
“Audrey 3e853095d3 [ADD] Studio: approval rules
task-3553095

closes odoo/documentation#10164

X-original-commit: 28d5856640
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-07-16 10:07:42 +00:00
lejeune quentin 7467c92786 [ADD] point_of_sale: Documentation for Viva wallet
This PR add the documentation needed to use viva wallet payment method in Point Of Sale.
task-3667968

closes odoo/documentation#10187

X-original-commit: 7598c57f48
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
Signed-off-by: Quentin Lejeune (qle) <qle@odoo.com>
Co-authored-by: lejeune quentin <qle@odoo.com>
Co-authored-by: Perazzo Loredana <lrpz@odoo.com>
2024-07-16 06:57:37 +00:00
John Holton (hojo) e0269e2f11 [ADD] Manufacturing: MO costs
closes odoo/documentation#10167

X-original-commit: 2de0593eb7
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-07-15 18:05:09 +00:00
John Holton (hojo) 3323cfe8ab [ADD] Manufacturing: Continuous product improvement
closes odoo/documentation#10162

X-original-commit: d4fe1eb4d1
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
2024-07-15 18:05:08 +00:00
Donatienne (dopi) 83d52c83fa [IMP] documents: new changes in V17
closes odoo/documentation#10180

Taskid: 3491654
X-original-commit: 3b573b0e60
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-07-12 14:24:01 +00:00
Christophe Monniez 520b6e296a [REL] saas-17.4 2024-07-11 14:21:13 +00:00
1251 changed files with 54882 additions and 27050 deletions
+1 -1
View File
@@ -27,7 +27,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-17.4
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
+9 -9
View File
@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
# `version` is the version info for the project being documented, acts as replacement for |version|,
# also used in various other places throughout the built documents.
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
version = release = 'master'
version = release = 'saas-17.4'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
@@ -231,17 +231,12 @@ 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",
'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`
@@ -252,11 +247,13 @@ languages_names = {
'es': 'ES',
'fr': 'FR',
'it': 'IT',
'ko': 'KO',
'ja': 'JA',
'ko': 'KR',
'nl': 'NL',
'pt_BR': 'PT',
'ro': 'RO',
'sv': 'SV',
'th': 'TH',
'uk': 'UA',
'zh_CN': 'ZH (CN)',
'zh_TW': 'ZH (TW)'
@@ -391,6 +388,9 @@ def setup(app):
app.add_config_value('is_remote_build', None, 'env') # Whether the build is remotely deployed
app.add_config_value('source_read_replace_vals', {}, 'env')
app.connect('source-read', source_read_replace)
# TODO uncomment after moving to >= v7.2.5 to also substitute placeholders in included files.
# See https://github.com/sphinx-doc/sphinx/commit/ff1831
# app.connect('include-read', source_read_replace)
app.add_lexer('json', JsonLexer)
app.add_lexer('xml', XmlLexer)
+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'
@@ -402,9 +402,9 @@ we are considering the feature if there is enough demand.
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
settings to increase the deliverability of your outgoing emails.
The configuration steps are explained in the documentation about :ref:`SPF
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
settings to increase the deliverability of your outgoing emails. The configuration steps are
explained in the documentation about :ref:`SPF <email-domain-spf>` and :ref:`DKIM
<email-domain-dkim>`.
.. Warning::
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
@@ -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 -2
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 `443` (or `80`)
- Odoo 17.0 and below: `services.openerp.com` on port `443` (or `80`)
These ports must be kept open even after registering a database, as the update notification runs
once a week.
@@ -33,7 +33,6 @@ In you alias config (:file:`/etc/aliases`):
- `Postfix aliases <http://www.postfix.org/aliases.5.html>`_
- `Postfix virtual <http://www.postfix.org/virtual.8.html>`_
For Exim
--------
@@ -47,5 +46,5 @@ For Exim
- `Exim <https://www.exim.org/docs.html>`_
.. tip::
If you don't have access/manage your email server, use :ref:`inbound messages
<email_communication/inbound_messages>`.
If you do not have access/manage your email server, use :ref:`incoming mail servers
<email-inbound-custom-domain-incoming-server>`.
+20 -56
View File
@@ -31,90 +31,54 @@ This matrix shows the support status of every version.
- On-Premise
- Release date
- End of support
* - Odoo saas~17.2
* - **Odoo 18.0**
- |green|
- |green|
- |green|
- October 2024
- October 2027 (planned)
* - Odoo SaaS 17.4
- |green|
- N/A
- N/A
- July 2024
-
* - Odoo SaaS 17.2
- |green|
- N/A
- N/A
- April 2024
-
* - Odoo saas~17.1
- |green|
- N/A
- N/A
- January 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
+105 -59
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 15.0 to Odoo 17.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., 15.0, 16.0, 17.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
three 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 future upgrade (I am testing an upgrade)"
<https://www.odoo.com/help?stage=migration>`_.
.. _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,8 +422,10 @@ 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:
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

After

Width:  |  Height:  |  Size: 14 KiB

@@ -2,6 +2,9 @@
Export and import data
======================
.. |list| replace:: :icon:`oi-view-list` :guilabel:`(list)` icon
.. |actions| replace:: :icon:`fa-cog` :guilabel:`Actions`
In Odoo, it is sometimes necessary to export or import data for running reports, or for data
modification. This document covers the export and import of data into and out of Odoo.
@@ -20,9 +23,9 @@ can aid in reporting on activities, although, Odoo provides a precise and easy r
each available application.
With Odoo, the values can be exported from any field in any record. To do so, activate the list view
(:guilabel:`≣ (four horizontal lines)` icon), on the items that need to be exported, and then
select the records that should be exported. To select a record, tick the checkbox next to the
corresponding record. Finally, click on :guilabel:`⚙️ Action`, and then :guilabel:`Export`.
(|list|), on the items that need to be exported, then select the records that should be exported. To
select a record, tick the checkbox next to the corresponding record. Finally, click on |actions|,
then :guilabel:`Export`.
.. image:: export_import_data/list-view-export.png
:align: center
@@ -36,9 +39,10 @@ several options for the data to export:
:alt: Overview of options to consider when exporting data in Odoo..
#. With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system
only shows the fields that can be imported. This is helpful in the case where the existing
records need to be updated. This works like a filter. Leaving the box unticked, gives many more
field options because it shows all the fields, not just the ones that can be imported.
only shows the fields that can be imported. This is helpful in the case where the :ref:`existing
records need to be updated <essentials/update-data>`. This works like a filter. Leaving the box
unticked, gives many more field options because it shows all the fields, not just the ones that
can be imported.
#. When exporting, there is the option to export in two formats: `.csv` and `.xls`. With `.csv`,
items are separated by a comma, while `.xls` holds information about all the worksheets in a
file, including both content and formatting.
@@ -70,7 +74,8 @@ Import data into Odoo
=====================
Importing data into Odoo is extremely helpful during implementation, or in times where data needs to
be updated in bulk. The following documentation covers how to import data into an Odoo database.
be :ref:`updated in bulk <essentials/update-data>`. The following documentation covers how to import
data into an Odoo database.
.. warning::
Imports are permanent and **cannot** be undone. However, it is possible to use filters (`created
@@ -158,6 +163,9 @@ Once the template is downloaded, proceed to follow these steps:
using the fields that should be imported. This way, if there is not a sample import template,
the names are accurate.
.. _essentials/external-id:
Import from another application
-------------------------------
@@ -166,7 +174,8 @@ from previous software to facilitate the transition to Odoo.
Setting an ID is not mandatory when importing, but it helps in many cases:
- Update imports: import the same file several times without creating duplicates.
- :ref:`Update imports <essentials/update-data>`: import the same file several times without
creating duplicates.
- :ref:`Import relation fields <export_import_data/relation-fields>`.
To recreate relationships between different records, the unique identifier from the original
@@ -176,10 +185,7 @@ When another record is imported that links to the first one, use **XXX/ID** (XXX
the original unique identifier. This record can also be found using its name.
.. warning::
It should be noted that there will be a conflict if two or more records have the same name.
The :guilabel:`External ID` (ID) can also be used to update the original import, if modified data
needs to be re-imported later, therefore, it is a good practice to specify it whenever possible.
It should be noted that conflicts occur if two (or more) records have the same *External ID*.
Field missing to map column
---------------------------
@@ -476,3 +482,43 @@ The two files produced are ready to be imported in Odoo without any modification
imported these two :abbr:`CSV (Comma-separated Values)` files, there are four contacts and three
companies (the first two contacts are linked to the first company). Keep in mind to first import
the companies, and then the people.
.. _essentials/update-data:
Update data in Odoo
===================
Existing data can be updated in bulk through a data import, as long as the :ref:`External ID
<essentials/external-id>` remains consistent.
Prepare data export
-------------------
To update data through an import, first navigate to the data to be updated, and select the |list| to
activate list view. On the far-left side of the list, tick the checkbox for any record to be
updated. Then, click |actions|, and select :icon:`fa-upload` :guilabel:`Export` from the drop-down
menu.
On the resulting :guilabel:`Export Data` pop-up window, tick the checkbox labeled, :guilabel:`I want
to update data (import-compatible export)`. This automatically includes the *External ID* in the
export. Additionally, it limits the :guilabel:`Fields to export` list to **only** include fields
that are able to be imported.
.. note::
The :guilabel:`External ID` field does **not** appear in the :guilabel:`Fields to export` list
unless it is manually added, but it is still included in the export. However, if the :guilabel:`I
want to update data (import-compatible export)` checkbox is ticked, it is included in the export.
Select the required fields to be included in the export using the :ref:`options <export-data>` on
the pop-up window, then click :guilabel:`Export`.
Import updated data
-------------------
After exporting, make any necessary changes to the data file. When the file is ready, it can be
:ref:`imported <import-data>` by following the same process as a normal data import.
.. danger::
When updating data, it is extremely important that the *External ID* remain consistent, as
this is how the system identifies a record. If an ID is altered, or removed, the system may add a
duplicate record, instead of updating the existing one.
@@ -89,7 +89,7 @@ settings. To use a service, simply interact with it wherever it appears in the d
- :doc:`Lead mining <../sales/crm/acquire_leads/lead_mining>`
- :doc:`Enrich your contacts base with Partner Autocomplete
<../sales/crm/optimize/partner_autocomplete>`
- :doc:`SMS essentials <../marketing/sms_marketing/essentials/sms_essentials>`
- :doc:`SMS Marketing <../marketing/sms_marketing>`
.. _in_app_purchase/credits:
@@ -119,7 +119,7 @@ Credits are purchased in *Packs* from the `Odoo IAP Catalog
The number of credits consumed depends on the length of the SMS and the country of destination.
For more information, refer to the :doc:`SMS Pricing and FAQ
<../marketing/sms_marketing/pricing/pricing_and_faq>` documentation.
<../marketing/sms_marketing/pricing_and_faq>` documentation.
.. _iap/buying_credits:
@@ -181,6 +181,75 @@ It is possible to *customize groups* by using a field present on the model. To d
cluster, the next one that is added further divides the main group's categories, and so on.
Furthermore, filters and groups can be used together to refine the view even more.
.. _search/comparison:
Comparison
==========
Certain reporting dashboards include a :guilabel:`Comparison` section in the drop-down menus of
their :guilabel:`Search...` bars. This includes the :doc:`Overall Equipment Effectiveness
<../inventory_and_mrp/manufacturing/reporting/oee>` report for the *Manufacturing* app, and the
:doc:`Purchase <../inventory_and_mrp/purchase/advanced/analyze>` report for the *Purchase* app,
among others.
The options in the :icon:`fa-adjust` :guilabel:`Comparison` section are used to compare data from
two different time periods. There are two comparison options to choose from: :guilabel:`(Time
Filter): Previous Period` and :guilabel:`(Time Filter): Previous Year`.
.. important::
For some reports, the :guilabel:`Comparison` section **only** appears in the
:guilabel:`Search...` bar drop-down menu if one (or more) time periods have been selected in the
:guilabel:`Filters` column. This is because, if no time period is specified, there is nothing to
compare.
Additionally, some reports only allow use of the :guilabel:`Comparison` feature when the
:icon:`fa-pie-chart` :guilabel:`(pie chart)` graph type, or the :icon:`oi-view-pivot`
:guilabel:`(pivot)` view, is selected. A :guilabel:`Comparison` option can be selected even if
another view is enabled, but doing so does **not** change the way data is displayed on the
report.
.. image:: search/comparison-section.png
:align: center
:alt: The Search... bar for the production analysis report.
To view data using one of the two comparisons, begin by selecting a time period in the
:guilabel:`Filters` column of the :guilabel:`Search...` bar drop-down menu. Then, select either
:guilabel:`(Time Filter): Previous Period` or :guilabel:`(Time Filter): Previous Year` in the
:guilabel:`Comparison` section.
With one of the :guilabel:`Comparison` options enabled, the report compares the data for the
selected period, with the data for the same unit of time (month, quarter, year), one period or year
prior. The way the data is displayed depends on the selected view:
- The :icon:`fa-bar-chart` :guilabel:`(bar chart)` shows two bars, side-by-side, for each unit of
time for the selected time period. The left bar represents the selected time period, while the
right bar represents the previous time period.
- The :icon:`fa-line-chart` :guilabel:`(line chart)` is displayed with two lines, one representing
the selected time period, and the other representing the previous time period.
- The :icon:`fa-pie-chart` :guilabel:`(pie chart)` appears as a large circle with a smaller circle
inside. The larger circle represents the selected time period, while the smaller circle represents
the previous time period.
- The :icon:`oi-view-pivot` :guilabel:`(pivot table)` is displayed with each column split into two
smaller columns. The right column represents the selected time period, while the left column
represents the previous time period.
.. example::
In the :guilabel:`Production Analysis` report of the :menuselection:`Manufacturing` app, data for
the second quarter of 2024 is compared to data for the second quarter of 2023. :guilabel:`Q2` is
selected in the :guilabel:`End Date` filter section of the :guilabel:`Search...` bar drop-down
menu. In the :guilabel:`Comparison` section, :guilabel:`End Date: Previous Year` is selected.
The current year is 2024, so the larger circle shows data for the second quarter (Q2) of 2024.
The smaller circle shows data for the second quarter (Q2) of 2023, which is the same time period,
but one *year* prior.
If :guilabel:`End Date: Previous Period` is selected instead, the smaller circle shows data for
the first quarter (Q1) of 2024, which is the same time period, but one *period* prior.
.. image:: search/comparison.png
:align: center
:alt: The comparison view of the Production Analysis report.
.. _search/favorites:
Favorites
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

+1 -1
View File
@@ -211,7 +211,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
=================
@@ -36,6 +36,8 @@ follow the instructions.
.. seealso::
:doc:`bank/bank_synchronization`
.. _bank_accounts/create:
Create a bank account
---------------------
@@ -191,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
@@ -42,7 +42,7 @@ First synchronization
---------------------
You can start synchronization either by going to the Accounting app and
:menuselection:`Accounting Dashboard --> Configuration --> Banks: Add a Bank Account`.
:menuselection:`Accounting --> Configuration --> Add a Bank Account`.
Now you can search for your bank institution. Select it and follow the steps to synchronize with it.
@@ -70,19 +70,19 @@ By default, transactions fetched from an online source are grouped inside the sa
one bank statement is created per month. You can change the bank statement creation periodicity
in your journal settings.
You can find all your synchronizations by going to :menuselection:`Accounting Dashboard -->
Configuration --> Accounting: Online Synchronization`.
To view all your synchronizations, activate the :ref:`developer mode <developer-mode>` and go to
:menuselection:`Accounting --> Configuration --> Online Synchronization`.
Synchronize manually
--------------------
After your first synchronization, the created journals are synchronized by default every 12 hours.
If you wish, you can synchronize manually by clicking on the :guilabel:`Synchronize Now` button on
the dashboard.
If you wish, you can synchronize them manually by clicking on the :guilabel:`Synchronize Now` button
on the dashboard.
Or you can go to :menuselection:`Accounting Dashboard --> Configuration -->
Accounting: Online Synchronization`, select your institution and then click on the
:guilabel:`fetch transactions` button.
Alternatively, activate the :ref:`developer mode <developer-mode>`, go to
:menuselection:`Accounting --> Configuration --> Online Synchronization`, select your institution,
and then click the :guilabel:`Fetch transactions` button.
.. important::
Some institutions do not allow transactions to be fetched automatically. For such institutions,
@@ -96,9 +96,10 @@ Issues
Synchronization in error
------------------------
To report a connection error to the `Odoo support <https://www.odoo.com/help>`_, go to
:menuselection:`Accounting Dashboard--> Configuration --> Accounting: Online Synchronization`,
select the connection that failed, and copy the error description and the reference.
To report a connection error to the `Odoo support <https://www.odoo.com/help>`_, activate the
:ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration -->
Online Synchronization`, select the connection that failed, and copy the error description and the
reference.
Synchronization disconnected
----------------------------
@@ -128,14 +129,14 @@ Finally, make sure all your users refresh their Odoo page by pressing CTRL+F5.
.. Note::
- All previous synchronizations are disconnected during the installation and won't work anymore.
- You can find them directly in the synchronization menu
(:menuselection:`Accounting Dashboard --> Configuration -->
Accounting: Online Synchronization`). It is not possible to resynchronize these connections;
you have to make new ones.
- Do not uninstall `account_online_sync`, which is the previous module for online
- All previous synchronizations are disconnected during the installation and will not work
anymore. To view them, activate the :ref:`developer mode <developer-mode>` and go to
:menuselection:`Accounting --> Configuration --> Online Synchronization`). It is not possible
to resynchronize these connections; you have to make new ones.
- Do not uninstall the `account_online_sync` module, which is the previous module for online
synchronization. The new one overrides it.
- By default, `account_online_synchronization` is installed automatically with Accounting.
- By default, the `account_online_synchronization` module is installed automatically with
Accounting.
FAQ
===
@@ -145,11 +146,11 @@ The synchronization is not working in real-time. Is that normal?
The process is not intended to work in real-time as third party providers synchronize your accounts
at different intervals. To force the synchronization and fetch the statements, go to your
:guilabel:`Accounting Dashboard`, and click on the :guilabel:`Synchronize Now` button. You can also
synchronize and fetch transactions through :menuselection:`Accounting Dashboard -->
Configuration --> Accounting: Online Synchronization`. Some providers only allow one refresh per
day, so it is possible that clicking on :guilabel:`Synchronize Now` does not get your latest
transactions if you already performed such action earlier in the day.
:guilabel:`Accounting Dashboard`, and click on the :guilabel:`Synchronize Now` button. Synchronize
and fetch transactions by activating the :ref:`developer mode <developer-mode>` and going to
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Some providers only allow
one refresh per day, so it is possible that clicking on :guilabel:`Synchronize Now` does not get
your latest transactions if you already performed such action earlier in the day.
A transaction can be visible on your bank account but not be fetched if it has the status
:guilabel:`Pending`. Only transactions with the :guilabel:`Posted` status will be retrieved. If the
@@ -158,9 +159,9 @@ transaction is not **Posted** yet, you will have to wait until the status change
Is the Online Bank Synchronization feature included in my contract?
-------------------------------------------------------------------
- **Community Version**: No, this feature is not included in the Community Version.
- **Online Version**: Yes, even if you benefit from the One App Free contract.
- **Enterprise Version**: Yes, if you have a valid enterprise contract linked to your database.
- **Community Edition**: No, this feature is not included in the Community Version.
- **Online Edition**: Yes, even if you benefit from the One App Free contract.
- **Enterprise Edition**: Yes, if you have a valid enterprise contract linked to your database.
Some banks have a status "Beta." What does this mean?
-----------------------------------------------------
@@ -186,9 +187,9 @@ Why don't I see any transactions?
---------------------------------
During your first synchronization, you selected the bank accounts you decided to synchronize with
Odoo. If you didn't synchronize any of your accounts, you can go to
:menuselection:`Accounting Dashboard --> Configuration --> Accounting: Online Synchronization` to
click on the :guilabel:`Fetch Account` button on the connection.
Odoo. If you didn't synchronize any of your accounts, activate the :ref:`developer mode
<developer-mode>`, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`,
and click the :guilabel:`Fetch Account` button on the connection.
There may also be no new transactions.
@@ -198,9 +199,9 @@ database, please `submit a support ticket <https://www.odoo.com/help>`_.
How can I update my bank credentials?
-------------------------------------
You can update your credentials by going to :menuselection:`Accounting Dashboard -->
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
credentials and click on the :guilabel:`Update Credentials` button.
To update your credentials, activate the :ref:`developer mode <developer-mode>` and go to
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Open the connection you
want to update your credentials and click the :guilabel:`Update Credentials` button.
.. toctree::
:titlesonly:
@@ -7,7 +7,6 @@ in one place. It offers non-intrusive connectivity to ASPSPs' official APIs acro
storing data.
.. image:: enablebanking/enablebanking.png
:align: center
:alt: Enable Banking logo
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
@@ -30,7 +29,6 @@ Link bank accounts with Odoo
:guilabel:`Continue authentication`;
.. image:: enablebanking/enablebankingauth.png
:align: center
:alt: Enable Banking authentication page
#. Finally, you are redirected to your bank's login page.
@@ -6,15 +6,11 @@ Ponto
place and directly see all their transactions within one app. It is a third-party solution that is
continuously expanding the number of bank institutions that can be synchronized with Odoo.
.. image:: ponto/ponto-logo.png
:align: center
:alt: Logo of the Ponto brand
**Odoo** can synchronize directly with your bank to get all bank statements imported automatically
into your database.
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
and Odoo.
.. seealso::
- :doc:`../bank_synchronization`
@@ -31,34 +27,29 @@ Link your bank accounts with Ponto
#. Once you are logged in, create an *organization*.
.. image:: ponto/ponto-organization.png
:align: center
:alt: Fill out the form to add an organization in Ponto.
#. | Go to :menuselection:`Accounts --> Live`, and click on *Add account*.
| You might have to add your **Billing Information** first.
#. Go to :menuselection:`Accounts --> Live`, and click :guilabel:`Add account`. You might have to
add your **Billing Information** first.
#. Select your country, your bank institutions, give your consent to Ponto, and follow the steps
on-screen to link your bank account with your Ponto account.
.. image:: ponto/ponto-add-account.png
:align: center
:alt: Add bank accounts to your Ponto account.
#. Make sure to add all bank accounts you want to synchronize with your Odoo database before moving
on to the next steps.
#. Add all bank accounts you want to synchronize with your Odoo database and move to the next steps.
Link your Ponto account with your Odoo database
-----------------------------------------------
#. Go to :menuselection:`Accounting --> Configuration --> Add a Bank Account`.
#. Search your institution, make sure to select the right institution. By selecting the institution,
you can verify that the third party provider is Ponto.
#. Click on *Connect* and follow the steps.
#. At some point, you will have to authorize the accounts you want to access in Odoo. Please select
**all the accounts** you want to synchronize. Even the ones coming from other banking
institutions.
#. Search for your institution and select it so you can verify that the third party provider is
Ponto.
#. Click :guilabel:`Connect` and follow the steps.
#. Select **all accounts** you want to access and synchronize in Odoo, even the ones coming from
other banking institutions.
.. image:: ponto/ponto-select-accounts.png
:align: center
:alt: Selection of the accounts you wish to synchronize with Odoo.
#. Finish the flow.
@@ -70,26 +61,26 @@ Link your Ponto account with your Odoo database
Update your synchronization credentials
---------------------------------------
You might have to update your Ponto credentials or modify the synchronization settings.
To update your Ponto credentials or modify the synchronization settings, activate the
:ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration -->
Online Synchronization`, and select the institution from which you want to fetch the other
accounts. Click :guilabel:`Fetch Accounts` to start the flow.
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and select
the institution you want to fetch the other accounts. Click on *Fetch Accounts* button to start the
flow.
During the update, select **all the accounts** you want to synchronize, even the ones coming
from other banking institutions.
.. note::
During the update, select **all accounts** you want to synchronize, even the ones coming from
other banking institutions.
Fetch new accounts
------------------
You might want to add new online accounts to your connection.
To add new online accounts to your connection, activate the :ref:`developer mode <developer-mode>`,
go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the
institution from which you want to fetch the other accounts. Click :guilabel:`Fetch Accounts` to
start the flow.
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and select
the institution you want to fetch the other accounts. Click on *Fetch Accounts* button to start the
flow.
Don't forget to keep authorization for existing accounts (for all institutions that you
have synchronized with Ponto).
.. note::
Don't forget to keep authorization for existing accounts (for all institutions that you have
synchronized with Ponto).
FAQ
===
@@ -102,7 +93,7 @@ You selected an institution from the list and did not authorize any accounts fro
I have an error about that my authorization has expired
-------------------------------------------------------
Every **3 months** (90 days) you must re-authorize the connection between your bank account
Every **6 months** (180 days) you must re-authorize the connection between your bank account
and Ponto. This must be done from the `Ponto website <https://myponto.com>`_. If you do not
do this, the synchronization will stop for these accounts.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 KiB

@@ -6,11 +6,6 @@ Salt Edge
from your bank accounts. It supports ~5000 institutions in more than 50
countries.
.. image:: saltedge/saltedge-logo.png
:align: center
:width: 50%
:alt: Salt Edge Logo
Odoo can synchronize directly with your bank to get all bank statements imported
automatically into your database.
@@ -34,20 +29,17 @@ Link your bank accounts with Odoo
account.
.. image:: saltedge/saltedge-contact-email.png
:align: center
:alt: Email address to provide to Salt Edge for the creation of your account.
#. After entering your email address, you are redirected to Salt Edge to continue
the synchronization process.
.. image:: saltedge/saltedge-login-page.png
:align: center
:alt: Salt Edge Login page.
#. Make sure you give your consent by checking the consent checkbox.
.. image:: saltedge/saltedge-give-consent.png
:align: center
:alt: Salt Edge give consent page.
#. Complete the synchronization by following the steps.
@@ -56,11 +48,10 @@ Link your bank accounts with Odoo
Update your credentials
-----------------------
You might have to update your Salt Edge credentials or modify the synchronization settings.
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and
select the institution you want to update credentials. Click on the *Update Credentials* button
to start the flow and follow the steps.
To update your Salt Edge credentials or modify the synchronization settings, activate the
:ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration -->
Online Synchronization`, and select the institution you want to update credentials. Click
:guilabel:`Update Credentials` to start the flow and follow the steps.
Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access
your information.
@@ -68,14 +59,14 @@ your information.
Fetch new accounts
------------------
You might want to add new online accounts to your connection.
To add new online accounts to your connection, activate the :ref:`developer mode <developer-mode>`,
go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the
institution to fetch the new accounts. Click :guilabel:`Fetch Accounts` to start the flow and
follow the steps.
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and
select the institution to fetch the new accounts. Click on the *Fetch Accounts* button
to start the flow and follow the steps.
Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access
your information.
.. note::
Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access your
information.
FAQ
===
@@ -94,15 +85,15 @@ record.
I have an error saying that I have already synchronized this account
--------------------------------------------------------------------
You have probably already synchronized your bank account with Salt Edge, please check on your `dashboard
<https://www.saltedge.com/dashboard>`_ that you don't already have a connection with the same
credentials.
You have probably already synchronized your bank account with Salt Edge, please check on your
`dashboard <https://www.saltedge.com/dashboard>`_ that you don't already have a connection with the
same credentials.
In case you already have a synchronization with the same credentials present on your Salt Edge
dashboard and this synchronization has not been created with Odoo, please delete it and create it
from your Odoo database.
If you already have a synchronization with the same credentials present on your Salt Edge
dashboard and this synchronization has not been created with Odoo, delete it and create it from your
Odoo database.
In case you already have a connection with the same credentials present on your Salt Edge dashboard
and this synchronization was created with Odoo, you will normally be able to find it by going to
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
*Update Credentials* to reactivate the connection.
If you already have a connection with the same credentials present on your Salt Edge dashboard
and this synchronization was created with Odoo, activate the :ref:`developer
mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration --> Online
Synchronization`, and click :guilabel:`Update Credentials` to reactivate the connection.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

@@ -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

@@ -18,8 +18,13 @@ To specify a sales order's invoice and delivery addresses, first go to :menusele
On quotations and sales orders, there are now fields for :guilabel:`Invoice Address` and
:guilabel:`Delivery Address`. If the customer has an invoice or delivery address listed on their
contact record, the corresponding field will use that address by default, but any contact's address
can be used instead.
:ref:`contact record <sales/send_quotations/contact-form-config>`, the corresponding field uses that
address, by default, but any contact's address can be used instead.
.. seealso::
For more information, refer to the documentation on :ref:`Contact Form Configuration
<sales/send_quotations/contact-form-config>`.
Invoice and deliver to different addresses
==========================================
@@ -33,19 +33,28 @@ Make sure the default settings are correctly configured for your business. To do
Journal
The deferral entries are posted in this journal.
Deferred Expense Account
Expenses are deferred on this Current Asset account until they are recognized.
Deferred Revenue Account
Deferred Revenue
Revenues are deferred on this Current Liability account until they are recognized.
Generate Entries
By default, Odoo :ref:`automatically generates <customer_invoices/deferred/generate_on_validation>`
the deferral entries when you post a customer invoice. However, you can also choose to
:ref:`generate them manually <customer_invoices/deferred/generate_manually>` by selecting the
:guilabel:`Manually & Grouped` option instead.
Amount Computation
Suppose an invoice of $1200 must be deferred over 12 months. The :guilabel:`Equal per month`
computation accounts for $100 each month, while the :guilabel:`Based on days` computation
accounts for different amounts depending on the number of days in each month.
Based on
Suppose an invoice of $1200 must be deferred over 12 months.
- The :guilabel:`Months` option accounts for $100 each month prorated to the number of days in
that month (e.g., $50 for the first month if the :guilabel:`Start Date` is set to the 15th of
the month).
- The :guilabel:`Full Months` option considers each month started to be full (e.g., $100 for the
first month even if the :guilabel:`Start Date` is set to the 15th of the month); this means that
with the :guilabel:`Full Months` option, a full $100 is recognized in the first partial month,
eliminating the need for a 13th month to recognize any remainder as would be the case when using
the :guilabel:`Months` option.
- The :guilabel:`Days` option accounts for different amounts depending on the number of days in
each month (e.g., ~$102 for January and ~$92 for February).
.. _customer_invoices/deferred/generate_on_validation:
@@ -4,8 +4,8 @@
Get started
===========
When you first open your Odoo Accounting app, the *Accounting Overview* page welcomes you with a
step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
When you first open your Odoo Accounting app, the :guilabel:`Accounting Dashboard` welcomes you with
a step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
displayed until you choose to close it.
The settings visible in the onboarding banner can still be modified later by going to
@@ -22,69 +22,22 @@ Accounting onboarding banner
The step-by-step Accounting onboarding banner is composed of four steps:
.. image:: get_started/setup_accounting_onboarding.png
.. image:: get_started/accounting-onboarding-banner.png
:alt: Step-by-step onboarding banner in Odoo Accounting
#. :ref:`accounting-setup-company`
#. :ref:`accounting-setup-bank`
#. :ref:`accounting-setup-periods`
#. :ref:`accounting-setup-bank`
#. :ref:`accounting-setup-taxes`
#. :ref:`accounting-setup-chart`
.. _accounting-setup-company:
Company Data
------------
This menu allows you to add your companys details such as the name, address, logo, website, phone
number, email address, and Tax ID, or VAT number. These details are then displayed on your documents,
such as on invoices.
.. image:: get_started/setup_company.png
:alt: Add your company's details in Odoo Accounting and Odoo Invoicing
.. note::
You can also change these settings by going to :menuselection:`Settings --> General Settings -->
Settings --> Companies` and clicking on **Update Info**.
.. _accounting-setup-bank:
Bank Account
------------
Connect your bank account to your database and have your bank statements synced automatically. To do
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
.. note::
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
If your Bank Institution cant be synchronized automatically, or if you prefer not to sync it with
your database, you may also configure your bank account manually by clicking on *Create it*, and
filling out the form.
- **Name**: the bank account's name, as displayed on Odoo.
- **Account Number**: your bank account number (IBAN in Europe).
- **Bank**: click on *Create and Edit* to configure the bank's details. Add the bank institution's
name and its Identifier Code (BIC or SWIFT).
- **Code**: this code is your Journal's *Short Code*, as displayed on Odoo. By default, Odoo creates
a new Journal with this Short Code.
- **Journal**: This field is displayed if you have an existing Bank Journal that is not linked yet
to a bank account. If so, then select the *Journal* you want to use to record the financial
transactions linked to this bank account or create a new one by clicking on *Create and Edit*.
.. note::
- You can add as many bank accounts as needed with this tool by going to :menuselection:`Accounting
--> Configuration`, and clicking on *Add a Bank Account*.
- :doc:`Click here <bank>` for more information about Bank
Accounts.
.. _accounting-setup-periods:
Accounting Periods
------------------
Define here your **Fiscal Years** opening and closing dates, which are used to generate reports
automatically, and your **Tax Return Periodicity**, along with a reminder to never miss a tax return
deadline.
Define the **Fiscal Years** opening and closing dates, which are used to generate reports
automatically, and set your **Tax Return Periodicity**, along with a reminder to never miss a tax
return deadline.
By default, the opening date is set on the 1st of January and the closing date on the 31st of
December, as this is the most common use.
@@ -93,6 +46,49 @@ December, as this is the most common use.
You can also change these settings by going to :menuselection:`Accounting --> Configuration -->
Settings --> Fiscal Periods` and updating the values.
.. _accounting-setup-bank:
Bank Account
------------
Connect your bank account to your database and have your bank statements synced automatically. To do
so, find your bank in the list, click :guilabel:`Connect`, and follow the instructions on-screen.
.. note::
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
If your Bank Institution cant be synchronized automatically, or if you prefer not to sync it with
your database, you can also configure your bank account manually by typing its name, clicking
:guilabel:`Create your Bank Account`, and filling out the form.
- :guilabel:`Name`: the bank account's name, as displayed in Odoo.
- :guilabel:`Account Number`: your bank account number (IBAN in Europe).
- :guilabel:`Bank`: click :guilabel:`Create and edit` to configure the bank's details. Add the
bank institution's :guilabel:`Name` and its :guilabel:`Identifier Code` (BIC or SWIFT).
- :guilabel:`Code`: this code is your Journal's :guilabel:`Short Code`, as displayed in Odoo.
By default, Odoo creates a new Journal with this short code.
- :guilabel:`Journal`: This field is displayed if you have an existing bank journal that is not
linked yet to a bank account. If so, then select the :guilabel:`Journal` you want to use to record
the financial transactions linked to this bank account or create a new one by clicking
:guilabel:`Create and Edit`.
.. note::
- You can add as many bank accounts as needed with this tool by going to
:menuselection:`Accounting --> Configuration --> Add a Bank Account`.
- :doc:`Click here <bank>` for more information about Bank Accounts.
.. _accounting-setup-taxes:
Taxes
-----
This menu allows you to create new taxes, (de)activate, or modify existing taxes. Depending on the
:doc:`localization package <../fiscal_localizations>` installed on your database, taxes required for
your country are already configured.
.. note::
:doc:`Click here <taxes>` for more information about taxes.
.. _accounting-setup-chart:
Chart of Accounts
@@ -102,85 +98,83 @@ With this menu, you can add accounts to your **Chart of Accounts** and indicate
opening balances.
Basic settings are displayed on this page to help you review your Chart of Accounts. To access all
the settings of an account, click on the *double arrow button* at the end of the line.
the settings of an account, click on the :guilabel:`Setup` button at the end of the line.
.. image:: get_started/setup_chart_of_accounts.png
:alt: Setup of the Chart of Accounts and their opening balances in Odoo Accounting
.. note::
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your Chart of
Accounts.
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your
Chart of Accounts.
Invoicing onboarding banner
===========================
There is another step-by-step onboarding banner that helps you take advantage of your Odoo Invoicing
and Accounting apps. The *Invoicing onboarding banner* is the one that welcomes you if you use the
and Accounting apps. The Invoicing onboarding banner is the one that welcomes you if you use the
Invoicing app rather than the Accounting app.
If you have Odoo Accounting installed on your database, you can reach it by going to
:menuselection:`Accounting --> Customers --> Invoices`.
The Invoicing onboarding banner is composed of four main steps:
The Invoicing onboarding banner consists of four main steps:
.. image:: get_started/setup_invoicing_onboarding.png
.. image:: get_started/invoicing-onboarding-banner.png
:alt: Step-by-step onboarding banner in Odoo Invoicing
#. :ref:`invoicing-setup-company`
#. :ref:`invoicing-setup-layout`
#. :ref:`invoicing-setup-payment`
#. :ref:`invoicing-setup-sample`
#. :ref:`invoicing-setup-invoice`
#. :ref:`invoicing-setup-payments`
.. _invoicing-setup-company:
Company Data
------------
This form is the same as :ref:`the one presented in the Accounting onboarding banner
<accounting-setup-company>`.
Add your companys details, such as the name, address, logo, website, phone number, email address,
and Tax ID or VAT number. These details are then displayed on your documents, such as invoices.
.. note::
You can also change the company's details by going to :menuselection:`Settings --> General
Settings`, scrolling down to the :guilabel:`Companies` section, and :guilabel:`Update Info`.
.. _invoicing-setup-layout:
Invoice Layout
Documents Layout
----------------
Customize the :ref:`default invoice layout <studio/pdf-reports/default-layout>`.
.. note::
You can also change the invoice layout by going to :menuselection:`Settings --> General
Settings`, scrolling down to the :guilabel:`Companies` section, and clicking :guilabel:`Configure
Document Layout`.
.. _invoicing-setup-invoice:
Create Invoice
--------------
With this tool, you can design the appearance of your documents by selecting which layout template,
paper format, colors, font, and logo you want to use.
You can also add your *Company Tagline* and the content of the documents *footer*. Note that Odoo
automatically adds the company's phone number, email, website URL, and Tax ID (or VAT number) to the
footer, according to the values you previously configured in the :ref:`Company Data
<accounting-setup-company>`.
.. image:: get_started/setup_document_layout.png
:alt: Document layout configuration in Odoo Invoicing
Create your first invoice.
.. tip::
Add your **bank account number** and a link to your **General Terms & Condition** in the footer.
This way, your contacts can find the full content of your GT&C online without having to print
them on the invoices you issue.
.. note::
These settings can also be modified by going to :menuselection:`Settings --> General Settings`,
under the *Business Documents* section.
.. _invoicing-setup-payments:
.. _invoicing-setup-payment:
Online Payments
---------------
Payment Method
--------------
Get started with Stripe and enable secure integrated credit and debit card payments within Odoo.
This menu helps you configure the payment methods with which your customers can pay you.
.. tip::
To use other payment providers, go to
:guilabel:`Invoicing --> Configuration --> Payment Providers` and
:doc:`enable the desired providers <../payment_providers>`.
.. important::
Configuring a *Payment Provider* with this tool also activates the *Invoice Online Payment*
option automatically. With this, users can directly pay online, from their Customer Portal.
.. _invoicing-setup-sample:
Sample Invoice
--------------
Send yourself a sample invoice by email to make sure everything is correctly configured.
.. seealso::
* :doc:`bank`
@@ -197,4 +191,4 @@ Send yourself a sample invoice by email to make sure everything is correctly con
get_started/chart_of_accounts
get_started/multi_currency
get_started/avg_price_valuation
get_started/vat_units
get_started/tax_units
Binary file not shown.

After

Width:  |  Height:  |  Size: 21 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/warehouses_storage/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.

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 71 KiB

@@ -1,50 +1,35 @@
=========
VAT units
Tax units
=========
.. important::
This is only applicable to multi-company environments.
A **VAT unit** is a group of VAT-taxable enterprises that are legally independent of each other but
A **tax unit** is a group of VAT-taxable enterprises that are legally independent of each other but
are closely linked financially, organizationally, and economically and therefore considered the same
VAT-taxable enterprise. **VAT units** are not mandatory, but if created, constituent companies of
VAT-taxable enterprise. **Tax units** are not mandatory, but if created, constituent companies of
the unit must belong to the same **country**, use the same **currency**, and one company must be
designated as the **representative** company of the **VAT unit**. **VAT units** receive a specific
designated as the **representative** company of the **tax unit**. **Tax units** receive a specific
**tax ID** intended only for **tax returns**. **Constituent** companies keep their **tax ID** used
for **commercial purposes**.
.. example::
Enterprise **A** owes €300.000,00 of VAT taxes and enterprise **B** can recover €280.000,00 of
VAT taxes. They form up as a **VAT unit** so that the two amounts balance out and must conjointly
VAT taxes. They form up as a **tax unit** so that the two amounts balance out and must conjointly
only pay €20.000,00 of VAT taxes.
Configuration
=============
To configure a **VAT unit**, go to :menuselection:`Settings --> General Settings`, scroll down to
the :guilabel:`Companies` section, and click :guilabel:`Manage Companies`. Select the company to
serve the **representative** role, and in the :guilabel:`General Information` tab, fill in the
mandatory fields for the .XML export when exporting the **tax report**: :guilabel:`Company Name`,
:guilabel:`Address`, :guilabel:`VAT`, :guilabel:`Currency`, :guilabel:`Phone`, and
:guilabel:`Email`.
.. image:: vat_units/general.png
:align: center
:alt: General information tab
Then, click on the :guilabel:`VAT Units` tab, :guilabel:`Add a line`, and either select an existing
**VAT unit**, or create a new one. Enter a **name** for the unit, :guilabel:`Country` of the
constituent companies and tax report, the :guilabel:`Companies`, the :guilabel:`Main Company` that
serves the **representative** role, and the :guilabel:`Tax ID` of the **VAT unit**.
.. image:: vat_units/vat-unit.png
:align: center
:alt: VAT units tab
To create a **tax unit**, go to :menuselection:`Accounting --> Configuration --> Tax Units`, and
click :guilabel:`New`. Enter a **name** for the unit, select a :guilabel:`Country`, the
:guilabel:`Companies` to incorporate in the unit, the :guilabel:`Main Company`, and the
:guilabel:`Tax ID` of the **constituent** company of that tax unit.
Fiscal position
---------------
As transactions between constituents of the same **VAT unit** are not subject to VAT, it is possible
As transactions between constituents of the same **tax unit** are not subject to VAT, it is possible
to create a :doc:`tax mapping (fiscal position) <../taxes/fiscal_positions>` to avoid the
application of VAT on inter-constituent transactions.
@@ -61,13 +46,12 @@ Do the same for the :guilabel:`Account Mapping` tab if required, and repeat this
Depending on your :doc:`localization package </applications/finance/fiscal_localizations>`, taxes
may vary from the screenshot displayed.
.. image:: vat_units/fiscal-positions.png
:align: center
:alt: Tax mapping of fiscal position for VAT unit
.. image:: tax_units/fiscal-positions.png
:alt: Tax mapping of fiscal position for tax unit
Then, assign the fiscal position by opening the **Contacts** app. Search for a **constituent**
company, and open the contact's **card**. Click the :guilabel:`Sales & Purchase` tab, and in the
:guilabel:`Fiscal Position` field, input the **fiscal position** created for the **VAT unit**.
:guilabel:`Fiscal Position` field, input the **fiscal position** created for the **tax unit**.
Repeat the process for each **constituent** company card form, on each company database.
.. seealso::
@@ -76,11 +60,10 @@ Repeat the process for each **constituent** company card form, on each company d
Tax report
==========
The **representative** company can access the aggregated tax report of the **VAT unit** by going to
:menuselection:`Accounting --> Reporting --> Tax Report`, and selecting the **VAT unit** in
The **representative** company can access the aggregated tax report of the **tax unit** by going to
:menuselection:`Accounting --> Reporting --> Tax Report`, and selecting the **tax unit** in
:guilabel:`Tax Unit`. This report contains the aggregated transactions of all **constituents** and
the .XML export contains the name and VAT number of the **main** company.
.. image:: vat_units/report.png
:align: center
:alt: VAT unit tax report
.. image:: tax_units/report.png
:alt: tax unit tax report
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

@@ -16,6 +16,8 @@ Go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Pay
Deposit multiple payments in batch
==================================
.. _batch-payments/register-payments:
Register payments
-----------------
@@ -91,5 +91,5 @@ select :guilabel:`Process follow-ups`.
.. seealso::
- :doc:`/applications/essentials/in_app_purchase`
- :doc:`/applications/marketing/sms_marketing/pricing/pricing_and_faq`
- :doc:`/applications/marketing/sms_marketing/pricing_and_faq`
- :doc:`../customer_invoices/snailmail`
@@ -30,8 +30,9 @@ Non-EEA territories:
- Jersey;
- Isle of Man.
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the day's end,
you can generate the SEPA file containing all bank wire transfers and send it to the bank.
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the end of the day,
you can generate the SEPA file containing all bank wire transfers and upload it to your online
banking interface to process the payments.
By default, the file follows the SEPA Credit Transfer **'pain.001.001.03'** specifications. This is
a well-defined standard among banks. However, for Swiss and German companies, other formats are used
@@ -69,7 +70,7 @@ the BIC (bank identifier code) in the :guilabel:`Journal Entries` tab.
Registering payments
--------------------
You can register and vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
You can register any vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
Vendors --> Payments`. When creating your payment, select :guilabel:`SEPA Credit Transfer` as the
:guilabel:`Payment Method`.
@@ -4,157 +4,130 @@
Reporting
=========
Main reports available
======================
Odoo includes **generic** and **dynamic** reports available for all countries, regardless of the
:doc:`localization package <../../finance/fiscal_localizations>` installed:
Besides the reports created specifically in each localisation module, a
few very useful **generic** and **dynamic reports** are available for all
countries :
- :ref:`accounting/reporting/balance-sheet`
- :ref:`accounting/reporting/profit-and-loss`
- :ref:`accounting/reporting/executive-summary`
- :ref:`accounting/reporting/general-ledger`
- :ref:`accounting/reporting/aged-receivable`
- :ref:`accounting/reporting/aged-payable`
- :ref:`accounting/reporting/cash-flow-statement`
- :ref:`accounting/reporting/tax-report`
- **Balance Sheet**
- **Profit and Loss**
- **Executive Summary**
- **General Ledger**
- **Aged Payable**
- **Aged Receivable**
- **Cash Flow Statement**
- **Tax Report**
- **Bank Reconciliation**
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.
You can annotate every reports to print them and report to your adviser.
Export to xls to manage extra analysis. Drill down in the reports to see
more details (payments, invoices, journal items, etc.).
.. image:: reporting/reporting-annotate.png
:alt: Annotate reports.
You can also compare values with another period. Choose how many periods
you want to compare the chosen time period with. You can choose up to 12
periods back from the date of the report if you don't want to use the
default **Previous 1 Period** option.
To export reports in PDF or XLSX format, click :guilabel:`PDF` at the top or click the
:icon:`fa-caret-down` (:guilabel:`down arrow`) icon next to the :guilabel:`PDF` button and
select :guilabel:`XLSX`.
.. _reporting/balance-sheet:
To compare values across periods, click the :guilabel:`Comparison` menu and select the periods you
want to compare.
Balance Sheet
-------------
The **Balance Sheet** shows a snapshot of the assets, liabilities and equity
of your organisation as at a particular date.
.. image:: reporting/main_reports09.png
.. image:: reporting/reporting-comparison.png
:alt: Comparison menu to compare time periods.
.. _accounting/reporting/balance-sheet:
Balance Sheet
=============
The :guilabel:`Balance Sheet` shows a snapshot of your organization's assets, liabilities, and
equity at a particular date.
.. _accounting/reporting/profit-and-loss:
Profit and Loss
---------------
===============
The **Profit and Loss** report (or **Income Statement**) shows your
organisation's net income, by deducting expenses from revenue for the
report period.
.. image:: reporting/main_reports10.png
The :guilabel:`Profit and Loss` report (or **Income Statement**) shows your company's net income by
deducting expenses from revenue for the reporting period.
.. _accounting/reporting/executive-summary:
Executive Summary
-----------------
=================
The **Executive Summary** allows for a quick look at all the important
figures you need to run your company.
The :guilabel:`Executive Summary` provides an overview of all the important figures for overseeing
your company's performance.
In very basic terms, this is what each of the items in this section is
reporting :
It includes the following items:
- **Performance:**
- **Gross profit margin:**
The contribution each individual sale made
by your business less any direct costs needed to make those sales
(things like labour, materials, etc).
- **Net profit margin:**
The contribution each individual sale made by
your business less any direct costs needed to make those sales,
as well as any fixed overheads your company has (things like
rent, electricity, taxes you need to pay as a result of those
sales).
- **Return on investment (p.a.):**
The ratio of net profit made, to the
amount of assets the company used to make those profits.
- **Position:**
- **Average debtor days:**
The average number of days it takes your
customers to pay you (fully), across all your customer invoices.
- **Average creditor days:**
The average number of days it takes you to
pay your suppliers (fully) across all your bills.
- **Short term cash forecast:**
How much cash is expected in or out of
your organisation in the next month i.e. balance of your **Sales
account** for the month less 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 (assets that could be
turned into cash within a year) to the current liabilities
(liabilities which will be due in the next year). This is
typically used as as a measure of a company's ability to service
its debt.
- :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.).
- :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.).
- :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.
- :guilabel:`Average creditors days`:
The average number of days it takes you to (fully) pay your suppliers across all your bills.
- :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.
- :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/main_reports01.png
.. _accounting/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 the totals for each
account and from there you can view a detailed transaction report or any
exceptions. This report is useful for checking every transaction that
occurred during a certain period of time.
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.
.. image:: reporting/main_reports05.png
.. _reporting/aged-payable:
Aged Payable
------------
Run the **Aged Payable Details** report to display information on individual
bills, credit notes and overpayments owed by you, and how long these
have gone unpaid.
.. image:: reporting/main_reports02.png
.. _reporting/aged-receivable:
.. _accounting/reporting/aged-receivable:
Aged Receivable
---------------
===============
The **Aged Receivables** report shows the sales invoices that were 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/main_reports07.png
.. _accounting/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.
.. _accounting/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.
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.
.. image:: reporting/main_reports03.png
.. _reporting/tax-report:
.. _accounting/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/main_reports04.png
Bank Reconciliation
-------------------
.. image:: reporting/main_reports06.png
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: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 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: 13 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

@@ -52,12 +52,14 @@ Closing a fiscal year
Then, to close the fiscal year:
- Run a :ref:`tax report <reporting/tax-report>`, and verify that all tax information is correct.
- Reconcile all accounts on the :ref:`balance sheet <reporting/balance-sheet>`:
- Run a :ref:`tax report <accounting/reporting/tax-report>`, and verify that all tax information is
correct.
- Reconcile all accounts on the :ref:`balance sheet <accounting/reporting/balance-sheet>`:
- Update the bank balances in Odoo according to the actual balances found on the bank statements.
- Reconcile all transactions in the cash and bank accounts by running the :ref:`aged receivables
<reporting/aged-receivable>` and :ref:`aged payables <reporting/aged-payable>` reports.
<accounting/reporting/aged-receivable>` and :ref:`aged payables
<accounting/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
@@ -336,7 +336,6 @@ drop the taxes in the :ref:`order they should be computed <taxes/base-subsequent
.. seealso::
- :doc:`taxes/fiscal_positions`
- :doc:`taxes/B2B_B2C`
- :doc:`taxes/taxcloud`
- :doc:`reporting/tax_returns`
.. toctree::
@@ -347,6 +346,5 @@ drop the taxes in the :ref:`order they should be computed <taxes/base-subsequent
taxes/vat_verification
taxes/fiscal_positions
taxes/avatax
taxes/taxcloud
taxes/eu_distance_selling
taxes/B2B_B2C
@@ -22,18 +22,18 @@ can maintain control of tax-calculations in-house with this simple :abbr:`API (a
programming interface)` integration.
.. important::
Some limitations exist in Odoo while using *AvaTax* for tax calculation:
Some limitations exist in Odoo while using AvaTax for tax calculation:
- *AvaTax* is **not** supported in Odoo's *Point of Sale* app, because a dynamic tax calculation
model is excessive for transactions within a single delivery address, such as stores or
restaurants.
- *AvaTax* and Odoo use the company address and **not** the warehouse address.
- Exercise tax is **not** supported. This includes tobacco/vape taxes, fuel taxes, and other
- AvaTax is **not** supported in Odoo's **Point of Sale** app, because a dynamic tax
calculation model is excessive for transactions within a single delivery address, such as
stores or restaurants.
- AvaTax and Odoo use the company address, **not** the warehouse address.
- Excise tax is **not** supported. This includes tobacco/vape taxes, fuel taxes, and other
specific industries.
.. seealso::
Avalara's support documents: `About AvaTax
<https://community.avalara.com/support/s/document-item?language=en_US&bundleId=dqa1657870670369_dqa1657870670369&topicId=About_AvaTax.html&_LANG=enus>`_
<https://community.avalara.com/support/s/document-item?language=en_US>`_
Set up on AvaTax
================
@@ -47,7 +47,7 @@ connect with Avalara to purchase a license: `Avalara: Let's Talk
:ref:`Odoo setup <avatax/credentials>`. In Odoo, this number is the :guilabel:`API ID`.
Then, `create a basic company profile
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Create_a_Basic_company_profile.html&_LANG=enus>`_.
<https://www.odoo.com/r/2k0>`_.
Create basic company profile
----------------------------
@@ -57,15 +57,15 @@ products/services sold (and their sales locations), and customer tax exemptions,
Follow the Avalara documentation for creating a basic company profile:
#. `Add company information
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Add_your_company_information.html&_LANG=enus>`_.
<https://www.odoo.com/r/XZDW>`_.
#. `Tell us where the company collects and pays tax
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Tell_us_where_you_collect_and_pay_tax.html&_LANG=enus>`_.
<https://www.odoo.com/r/E6g>`_.
#. `Verify jurisdictions and activate the company
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Verify_your_jurisdictions_and_activate_your_company.html&_LANG=enus>`_.
<https://www.odoo.com/r/NIy>`_.
#. `Add other company locations for location-based filing
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Add_other_company_locations_for_location-based_filing.html&_LANG=enus>`_.
<https://www.odoo.com/r/GF4>`_.
#. `Add a marketplace to the company profile
<https://community.avalara.com/support/s/document-item?bundleId=dqa1657870670369_dqa1657870670369&topicId=Add_marketplace_transactions_to_your_company_profile.html&_LANG=enus>`_.
<https://www.odoo.com/r/QA5>`_.
.. _avatax/create_avalara_credentials:
@@ -86,7 +86,7 @@ company would like to integrate.
Log in to create the :guilabel:`License Key`. Go to :menuselection:`Settings --> License and API
Keys`. Click :guilabel:`Generate License Key`.
.. note::
.. important::
A warning appears stating: `If your business app is connected to Avalara solutions, the
connection will be broken until you update the app with the new license key. This action cannot
be undone.`
@@ -100,9 +100,9 @@ with *AvaTax* and Odoo, then click :guilabel:`Generate license key`.
If this is an additional license key, ensure the previous connection can be broken. There is
**only** one license key associated with each of the Avalara sandbox and production accounts.
.. important::
Copy this key to a safe place. It is **strongly encouraged** to backup the license key for future
reference. This key cannot be retrieved after leaving this screen.
.. warning::
Copy this key to a safe place. It is strongly encouraged to back up the license key for
future reference. This key **cannot** be retrieved after leaving this screen.
Odoo configuration
==================
@@ -210,6 +210,7 @@ and :guilabel:`Amazon/Avatax Bridge`, respectively.
<../../fiscal_localizations>` documentation:
- :doc:`../../fiscal_localizations/brazil`
- :doc:`../../fiscal_localizations/united_states`
.. _avatax/credentials:
@@ -424,7 +425,7 @@ menu, and select a category, or :guilabel:`Search More...` to find one that is n
.. important::
Mapping an :guilabel:`AvaTax Category` on either the *Product* or *Product Category* should be
completed for every *Product* or *Product Category*, depending the route that is chosen.
completed for every *Product* or *Product Category*, depending on the route that is chosen.
.. seealso::
- :doc:`fiscal_positions`
@@ -1,14 +0,0 @@
====================
TaxCloud integration
====================
.. warning::
The out-of-the-box Odoo TaxCloud integration has begun its decommissioning. Starting in Odoo 17,
new installations are prohibited, and in Odoo 18 the TaxCloud module(s) won't exist at all. Odoo
recommends the use of the Avatax platform.
If you are hosted on-premise or on Odoo.SH and you wish to use Taxcloud, you can contact them
directly `here <https://taxcloud.com/blog/odoo-integration/>`_.
.. seealso::
:doc:`avatax`
@@ -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>`.
@@ -33,19 +33,28 @@ Make sure the default settings are correctly configured for your business. To do
Journal
The deferral entries are posted in this journal.
Deferred Expense Account
Deferred Expense
Expenses are deferred on this Current Asset account until they are recognized.
Deferred Revenue Account
Revenues are deferred on this Current Liability account until they are recognized.
Generate Entries
By default, Odoo :ref:`automatically generates <vendor_bills/deferred/generate_on_validation>`
the deferral entries when you post a vendor bill. However, you can also choose to
:ref:`generate them manually <vendor_bills/deferred/generate_manually>` by selecting the
:guilabel:`Manually & Grouped` option instead.
Amount Computation
Suppose a bill of $1200 must be deferred over 12 months. The :guilabel:`Equal per month`
computation recognizes $100 each month, while the :guilabel:`Based on days` computation recognizes
different amounts depending on the number of days in each month.
Based on
Suppose a bill of $1200 must be deferred over 12 months.
- The :guilabel:`Months` option accounts for $100 each month prorated to the number of days in
that month (e.g., $50 for the first month if the :guilabel:`Start Date` is set to the 15th of
the month).
- The :guilabel:`Full Months` option considers each month started to be full (e.g., $100 for the
first month even if the :guilabel:`Start Date` is set to the 15th of the month); this means that
with the :guilabel:`Full Months` option, a full $100 is recognized in the first partial month,
eliminating the need for a 13th month to recognize any remainder as would be the case when using
the :guilabel:`Months` option.
- The :guilabel:`Days` option accounts for different amounts depending on the number of days in
each month (e.g., ~$102 for January and ~$92 for February).
.. _vendor_bills/deferred/generate_on_validation:
Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

+24 -574
View File
@@ -5,8 +5,8 @@ Expenses
========
Odoo **Expenses** streamlines the management of expenses. After an employee submits their expenses
in Odoo, the expenses are reviewed by management and accounting teams. Once approved, payments can
then be processed and disbursed back to the employee for reimbursement(s).
in Odoo, they are reviewed by management and accounting teams. Once approved, payments can then be
processed, and disbursed back to the employee for reimbursement.
.. seealso::
`Odoo Expenses: product page <https://www.odoo.com/app/expenses>`_
@@ -41,7 +41,7 @@ drop-down menu (most products will be set to :guilabel:`Units`).
units, miles, nights, etc.). Go to :menuselection:`Sales app --> Configuration --> Settings` and
ensure `Units of Measure` is enabled in the `Product Catalog` section. Click on the
:guilabel:`Units of Measure` internal link to :doc:`view, create, and edit the units of measure
<../inventory_and_mrp/inventory/product_management/product_replenishment/uom>`.
<../inventory_and_mrp/inventory/product_management/configure/uom>`.
.. image:: expenses/new-expense-product.png
:align: center
@@ -62,16 +62,16 @@ report the actual cost when submitting an expense report.
Here are some examples for when to set a specific :guilabel:`Cost` on a product vs. leaving the
:guilabel:`Cost` at `0.00`:
- **Meals**: Set the :guilabel:`Cost` to `0.00`. When an employee logs an expense for a meal,
- **Meals**: set the :guilabel:`Cost` to `0.00`. When an employee logs an expense for a meal,
they enter the actual amount of the bill and will be reimbursed for that amount. An expense for
a meal costing $95.23 would equal a reimbursement for $95.23.
- **Mileage**: Set the :guilabel:`Cost` to `0.30`. When an employee logs an expense for
- **Mileage**: set the :guilabel:`Cost` to `0.30`. When an employee logs an expense for
"mileage", they enter the number of miles driven in the :guilabel:`Quantity` field, and are
reimbursed 0.30 per mile they entered. An expense for 100 miles would equal a reimbursement for
$30.00.
- **Monthly Parking**: Set the :guilabel:`Cost` to `75.00`. When an employee logs an expense for
- **Monthly Parking**: set the :guilabel:`Cost` to `75.00`. When an employee logs an expense for
"monthly parking", the reimbursement would be for $75.00.
- **Expenses**: Set the :guilabel:`Cost` to `0.00`. When an employee logs an expense that is not
- **Expenses**: set the :guilabel:`Cost` to `0.00`. When an employee logs an expense that is not
a meal, mileage, or monthly parking, they use the generic :guilabel:`Expenses` product. An
expense for a laptop costing $350.00 would be logged as an :guilabel:`Expenses` product, and
the reimbursement would be for $350.00.
@@ -84,570 +84,20 @@ Set a tax on each product in the :guilabel:`Vendor Taxes` and :guilabel:`Custome
applicable. It is considered good practice to use a tax that is configured with :ref:`Tax Included
in Price <taxes/included-in-price>`. Taxes will be automatically configured if this is set.
.. _expenses/new:
Record expenses
===============
Manually create a new expense
-----------------------------
To record a new expense, begin in the main :menuselection:`Expenses` app dashboard, which presents
the default :guilabel:`My Expenses` view. This view can also be accessed from
:menuselection:`Expenses app --> My Expenses --> My Expenses`.
First, click :guilabel:`New`, and then fill out the various fields on the form.
- :guilabel:`Description`: Enter a short description for the expense in the :guilabel:`Description`
field. This should be short and informative, such as `lunch with client` or `hotel for
conference`.
- :guilabel:`Category`: Select the expense category from the drop-down menu that most closely
corresponds to the expense. For example, an airplane ticket would be appropriate for an expense
:guilabel:`Category` named :guilabel:`Air Travel`.
- :guilabel:`Total`: Enter the total amount paid for the expense in one of two ways:
#. If the expense is for one single item/expense, and the category selected was for a single item,
enter the cost in the :guilabel:`Total` field (the :guilabel:`Quantity` field is hidden).
#. If the expense is for multiples of the same item/expense with a fixed price, the
:guilabel:`Unit Price` is displayed. Enter the quantity in the :guilabel:`Quantity` field, and
the total cost is automatically updated with the correct total (the :guilabel:`Unit Price` x
the :guilabel:`Quantity` = the total). Be advised, the word "total" does not appear, the total
cost simply appears below the :guilabel:`Quantity`.
.. example::
For example, in the case of mileage driven, the :guilabel:`Unit Price` is populated as the
cost *per mile*. Set the :guilabel:`Quantity` to the *number of miles* driven, and the total
is calculated.
- :guilabel:`Included Taxes`: If taxes were configured on the expense category, the tax percentage
and amount appear automatically after entering either the :guilabel:`Total` or the
:guilabel:`Quantity`.
.. note::
When a tax is configured on an expense category, the :guilabel:`Included Taxes` value will
update in real time as the :guilabel:`Total` or :guilabel:`Quantity` is updated.
- :guilabel:`Employee`: Using the drop-down menu, select the employee this expense is for.
- :guilabel:`Paid By`: Click the radio button to indicate who paid for the expense and should be
reimbursed. If the employee paid for the expense (and should be reimbursed) select
:guilabel:`Employee (to reimburse)`. If the company paid directly instead (e.g. if the company
credit card was used to pay for the expense) select :guilabel:`Company`. Depending on the expense
category selected, this field may not appear.
- :guilabel:`Bill Reference`: If there is any reference text that should be included for the
expense, enter it in this field.
- :guilabel:`Expense Date`: Using the calendar module, enter the date the expense was incurred. Use
the :guilabel:`< (left)` and :guilabel:`> (right)` arrows to navigate to the correct month, then
click on the specific day to enter the selection.
- :guilabel:`Account`: Select the expense account that this expense should be logged on from the
drop-down menu.
- :guilabel:`Customer to Reinvoice`: If the expense is something that should be paid for by a
customer, select the :abbr:`SO (Sales Order)` and customer that will be invoiced for this expense
from the drop-down menu. All sales orders in the drop-down menu list both the :abbr:`SO (Sales
Order)` as well as the company the sales order is written for, but after the expense is saved, the
customer name disappears and only the :abbr:`SO (Sales Order)` is visible on the expense.
.. example::
A customer wishes to have an on-site meeting for a custom garden (design and installation) and
agrees to pay for the expenses associated with it (such as travel, hotel, meals, etc.). All
expenses tied to that meeting would indicate the sales order for the custom garden (which also
references the customer) as the :guilabel:`Customer to Reinvoice`.
- :guilabel:`Analytic Distribution`: Select the account(s) the expense should be written against
from the drop-down menu for either :guilabel:`Projects`, :guilabel:`Departments`, or both.
Multiple accounts can be listed for each category if needed. Adjust the percentage for each
analytic account by typing in the percentage value next to the account.
- :guilabel:`Company`: If multiple companies are set up, select the company this expense should be
filed for from the drop-down menu. The current company will automatically populate this field.
- :guilabel:`Notes...`: If any notes are needed in order to clarify the expense, enter them in the
notes field.
.. image:: expenses/expense-filled-in.png
:align: center
:alt: A filled in expense form for a client lunch.
Attach a receipt
~~~~~~~~~~~~~~~~
After the expense is created, the next step is to attach a receipt. Click the :guilabel:`Attach
Receipt` button, and a file explorer appears. Navigate to the receipt to be attached, and click
:guilabel:`Open`. The new receipt is recorded in the chatter, and the number of receipts will appear
next to the :guilabel:`📎 (paperclip)` icon beneath the expense form. More than one receipt can be
attached to an individual expense, as needed. The number of receipts attached to the expense will be
noted on the paperclip icon.
.. image:: expenses/receipt-icon.png
:align: center
:alt: Attach a receipt and it appears in the chatter.
Create new expenses from a scanned receipt
------------------------------------------
Rather than manually inputting all of the information for an expense, expenses can be created by
scanning a PDF receipt.
First, in the main :guilabel:`Expenses` app dashboard view (this view can also be accessed from
:menuselection:`Expenses app --> My Expenses --> My Expenses`), click :guilabel:`Scan`, and a file
explorer pops up. Navigate to the receipt to be uploaded, click on it to select it, and then click
:guilabel:`Open`.
.. image:: expenses/scan.png
:align: center
:alt: Create an expense by scanning a receipt. Click Scan at the top of the Expenses dashboard
view.
The receipt is scanned, and a new entry is created with today's date as the :guilabel:`Expense
Date`, and any other fields it can populate based on the scanned data, such as the total. Click on
the new entry to open the individual expense form, and make any changes needed. The scanned receipt
appears in the chatter.
Automatically create new expenses from an email
-----------------------------------------------
Instead of individually creating each expense in the *Expenses* app, expenses can be automatically
created by sending an email to an email alias.
To do so, first, an email alias needs to be configured. Go to :menuselection:`Expenses app -->
Configuration --> Settings`. Ensure :guilabel:`Incoming Emails` is enabled.
.. image:: expenses/email-alias.png
:align: center
:alt: Create the domain alias by clicking the link.
.. note::
If the domain alias needs to be set up, :guilabel:`Setup your domain alias` will appear beneath
the incoming emails check box instead of the email address field. Refer to this documentation for
setup instructions and more information:
:doc:`/applications/websites/website/configuration/domain_names`. Once the domain alias is
configured, the email address field will be visible beneath the incoming emails section.
Next, enter the email address to be used in the email field, and then click :guilabel:`Save`. Now
that the email address has been entered, emails can be sent to that alias to create new expenses
without having to be in the Odoo database.
To submit an expense via email, create a new email and enter the product's *internal reference* code
(if available) and the amount of the expense in the email subject. Next, attach the receipt to the
email. Odoo creates the expense by taking the information in the email subject and combining it with
the receipt.
To check an expense categories internal reference, go to :menuselection:`Expenses app -->
Configuration --> Expense Categories`. If an internal reference is listed on the expense category,
it is listed in the :guilabel:`Internal Reference` column.
.. image:: expenses/ref.png
:align: center
:alt: Internal reference numbers are listed in the main Expense Categories view.
To add an internal reference on an expense category, click on the category to open the form. Enter
the internal reference in the field. Beneath the :guilabel:`Internal Reference` field, this sentence
appears: :guilabel:`Use this reference as a subject prefix when submitting by email.`
.. image:: expenses/mileage-internal-reference.png
:align: center
:alt: Internal reference numbers are listed in the main Expense Products view.
.. note::
For security purposes, only authenticated employee emails are accepted by Odoo when creating an
expense from an email. To confirm an authenticated employee email address, go to the employee
card in the :menuselection:`Employees` app, and refer to the :guilabel:`Work Email`
.. image:: expenses/authenticated-email-address.png
:align: center
:alt: Create the domain alias by clicking the link.
.. example::
If submitting an expense via email for a $25.00 meal during a work trip, the email subject would
be `FOOD $25.00`.
Explanation:
- The :guilabel:`Internal Reference` for the expense category `Meals` is `FOOD`
- The :guilabel:`Cost` for the expense is `$25.00`
.. _expenses/report:
Create an expense report
========================
When expenses are ready to submit (such as at the end of a business trip, or once a month), an
*expense report* needs to be created. Go to the main :menuselection:`Expenses` app dashboard, which
displays a default :guilabel:`My Expenses` view, or go to :menuselection:`Expenses app --> My
Expenses --> My Expenses`.
Expenses are color coded by status. Any expense with a status of :guilabel:`To Report` (expenses
that still need to be added to an expense report) the text appears in blue. All other statuses
(:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black.
First, select each individual expense for the report by clicking the check box next to each entry,
or quickly select all the expenses in the list by clicking the check box next to :guilabel:`Expense
Date`.
Another way to quickly add all expenses that are not on an expense report is to click
:guilabel:`Create Report` without selecting any expenses, and Odoo will select all expenses with a
status of :guilabel:`To Submit` that are not already on a report.
.. image:: expenses/create-report.png
:align: center
:alt: Select the expenses to submit, then create the report.
.. note::
Any expense can be selected from the :guilabel:`My Expenses` list, regardless of status. The
:guilabel:`Create Report` button is visible as long as there is a minimum of 1 expense with a
status of :guilabel:`To Report` selected. When the :guilabel:`Create Report` button is clicked,
only expenses with a status of :guilabel:`To Submit` that are *not* currently on another expense
report will appear in the newly created expense report.
Once the expenses have been selected, click the :guilabel:`Create Report` button. The new report
appears with all the expenses listed in the :guilabel:`Expense` tab. If there is a receipt attached
to an individual expense, a :guilabel:`📎 (paperclip)` icon appears next to the :guilabel:`Customer
to Reinvoice` and :guilabel:`Analytic Distribution` columns.
When the report is created, the date range for the expenses appears in the :guilabel:`Expense Report
Summary` field by default. It is recommended to edit this field with a short summary for each report
to help keep expenses organized. Enter a short description for the expense report (such as `Client
Trip NYC`, or `Repairs for Company Car`) in the :guilabel:`Expense Report Summary` field. Next,
select a :guilabel:`Manager` from the drop-down menu to assign a manager to review the report. If
needed, the :guilabel:`Journal` can be changed. Use the drop-down menu to select a different
:guilabel:`Journal`.
.. image:: expenses/expense-report-summary.png
:align: center
:alt: Enter a short description and select a manager for the report.
If some expenses are not on the report that should be, they can still be added. Click :guilabel:`Add
a line` at the bottom of the :guilabel:`Expense` tab. A pop up appears with all the available
expenses that can be added to the report (with a status of :guilabel:`To Submit`). Click the check
box next to each expense to add, then click :guilabel:`Select`. The items now appear on the report
that was just created. If a new expense needs to be added that does *not* appear on the list, click
:guilabel:`New` to create a new expense and add it to the report.
.. image:: expenses/add-an-expense-line.png
:align: center
:alt: Add more expenses to the report before submitting.
.. note::
Expense reports can be created in one of three places:
#. Go to the main :menuselection:`Expenses` app dashboard (also accessed by going to
:menuselection:`Expenses app --> My Expenses --> My Expenses`)
#. Go to :menuselection:`Expenses app --> My Expenses --> My Reports`
#. Go to :menuselection:`Expenses app --> Expense Reports`
In any of these views, click :guilabel:`New` to create a new expense report.
.. _expenses/submit:
Submit an expense report
------------------------
When an expense report is completed, the next step is to submit the report to a manager for
approval. Reports must be individually submitted, and cannot be submitted in batches. Open the
specific report from the list of expense reports (if the report is not already open). To view all
expense reports, go to :menuselection:`Expenses app --> My Expenses --> My Reports`.
If the list is large, grouping the results by status may be helpful since only reports that have a
:guilabel:`To Submit` status need to be submitted, reports with an :guilabel:`Approved` or
:guilabel:`Submitted` status do not.
The :guilabel:`To Submit` expenses are easily identifiable not just from the :guilabel:`To Submit`
status, but the text appears in blue, while the other expenses text appears in black.
.. image:: expenses/expense-status.png
:align: center
:alt: Submit the report to the manager.
.. note::
The status of each report is shown in the :guilabel:`Status` column on the right. If the
:guilabel:`Status` column is not visible, click the :guilabel:`Additional Options (two dots)`
icon at the end of the row, and enable :guilabel:`Status`.
Click on a report to open it, then click :guilabel:`Submit To Manager`. After submitting a report,
the next step is to wait for the manager to approve it.
.. important::
The :ref:`expenses/approve`, :ref:`expenses/post`, and :ref:`expenses/reimburse` sections are
**only** for users with the *necessary rights*.
.. _expenses/approve:
Approve expenses
================
In Odoo, not just anyone can approve expense reports— only users with the necessary rights (or
permissions) can. This means that a user must have at least *Team Approver* rights for the
*Expenses* app. Employees with the necessary rights can review expense reports, approve or reject
them, and provide feedback thanks to the integrated communication tool.
To see who has rights to approve, go to the main :menuselection:`Settings` app and click on
:guilabel:`Manage Users`.
.. note::
If the *Settings* app is not available, then certain rights are not set on the account. Check the
:guilabel:`Access Rights` tab of a user's card in the :menuselection:`Settings` app. the
:guilabel:`Administration` section (bottom right of the :guilabel:`Access Rights` tab) is set to
one of three options:
- :guilabel:`None (blank)`: The user cannot access the *Settings* app at all.
- :guilabel:`Access Rights`: The user can only view the :guilabel:`User's & Companies` section of
the *Settings* app.
- :guilabel:`Settings`: The user has access to the entire *Settings* app with no restrictions.
Please refer to :doc:`this document </applications/general/users>` to learn more about managing
users and their access rights.
Click on an individual to view their card, which displays the :guilabel:`Access Rights` tab in the
default view. Scroll down to the :guilabel:`Human Resources` section. Under :guilabel:`Expenses`,
there are four options:
- :guilabel:`None (blank)`: A blank field means the user has no rights to view or approve expense
reports, and can only view their own.
- :guilabel:`Team Approver`: The user can only view and approve expense reports for their own
specific team.
- :guilabel:`All Approver`: The user can view and approve any expense report.
- :guilabel:`Administrator`: The user can view and approve any expense report, as well as access the
reporting and configuration menus in the *Expenses* app.
Users who are able to approve expense reports (typically managers) can easily view all expense
reports they have access rights to. Go to :menuselection:`Expenses app --> Expense Reports`, and a
list appears with all expense reports that have a status of either :guilabel:`To Submit`,
:guilabel:`Submitted`, :guilabel:`Approved`, :guilabel:`Posted`, or :guilabel:`Done`. Expense
reports with a status of :guilabel:`Refused` are hidden in the default view.
.. image:: expenses/expense-reports-list.png
:align: center
:alt: Reports to validate are found on the Reports to Approve page.
When viewing expense reports, there is a panel of filters that can be enabled or disabled on the
left side. The three categories that filters can be applied on are :guilabel:`Status`,
:guilabel:`Employee`, and :guilabel:`Company`. To view only expense reports with a particular
status, enable the specific status filter to display the expense reports with only that status.
Disable the specific status filter to hide the reports with that status. To view expense reports for
a particular employee and/or company, enable the specific employee name filter and/or company filter
in the :guilabel:`Employee` and :guilabel:`Company` sections.
Reports can be approved in two ways (individually or several at once) and refused only one way. To
approve multiple expense reports at once, remain in the list view. First, select the reports to
approve by clicking the check box next to each report, or click the box next to :guilabel:`Employee`
to select all the reports in the list.
.. important::
Only reports with a status of :guilabel:`Submitted` can be approved. It is recommended to only
display the submitted reports by adjusting the status filter on the left side by only having the
:guilabel:`Submitted` filter enabled.
If a report is selected that is unable to be approved, the :guilabel:`Approve Report` button
**will not appear**, indicating there is a problem with the selected report(s).
Next, click the :guilabel:`Approve Report` button.
.. image:: expenses/approve-report.png
:align: center
:alt: Approve multiple reports by clicking the checkboxes next to each report.
To approve an individual report, click on a report to go to a detailed view of that report. In this
view, several options are presented: :guilabel:`Approve`, :guilabel:`Report in Next Payslip`,
:guilabel:`Refuse`, or :guilabel:`Reset to draft`. Click :guilabel:`Approve` to approve the report.
If :guilabel:`Refuse` is clicked, a pop-up window appears. Enter a brief explanation for the refusal
in the :guilabel:`Reason to Refuse Expense` field, and then click :guilabel:`Refuse`.
.. image:: expenses/refuse-expense.png
:align: center
:alt: Send messages in the chatter.
Team managers can easily view all the expense reports for their team members. While in the
:guilabel:`Expense Reports` view, click the drop-down arrow in the right-side of the search box, and
click on :guilabel:`My Team` in the :guilabel:`Filters` section. This presents all the reports for
the manager's team.
.. image:: expenses/my-team-filter.png
:align: center
:alt: Select the My Team filter.
.. tip::
If more information is needed, such as a missing receipt, communication is easy from the chatter.
In an individual report, simply click :guilabel:`Send message` to open the message text box. Type
in a message, tagging the proper person (if needed), and post it to the chatter by clicking
:guilabel:`Send`. The message is posted in the chatter, and the person tagged will be notified
via email of the message, as well as any followers.
The only people that can be tagged in a message are *followers*. To see who is a follower, click
on the :guilabel:`👤 (person)` icon to display the followers of the expense.
.. image:: expenses/chatter.png
:align: center
:alt: Send messages in the chatter.
.. _expenses/post:
Post expenses in accounting
===========================
Once an expense report is approved, the next step is to post the report to the accounting journal.
To view all expense reports, go to :menuselection:`Expenses app --> Expense Reports`. To view only the
expense reports that have been approved and need to be posted, adjust the filters on the left side
so that only the :guilabel:`Approved` status is enabled.
.. image:: expenses/post-reports.png
:align: center
:alt: View reports to post by clicking on expense reports, then reports to post.
Just like approvals, expense reports can be posted in two ways (individually or several at once). To
post multiple expense reports at once, remain in the list view. First, select the reports to post by
clicking the check box next to each report, or click the box next to :guilabel:`Employee` to select
all the reports in the list. Next, click :guilabel:`Post Entries`.
.. image:: expenses/post-entries.png
:align: center
:alt: Post multiple reports at a time from the Expense Reports view, with the Approved filter.
To post an individual report, click on a report to go to the detailed view of that report. In this
view, several options are presented: :guilabel:`Post Journal Entries`, :guilabel:`Report In Next
Payslip`, :guilabel:`Refuse`, or :guilabel:`Reset to Draft`. Click :guilabel:`Post Journal Entries`
to post the report.
If :guilabel:`Refuse` is clicked, a pop-up window appears. Enter a brief explanation for the refusal
in the :guilabel:`Reason to Refuse Expense` field, and then click :guilabel:`Refuse`. Refused
reports can be viewed by going to :menuselection:`Expenses app --> Expense Reports`, then adjusting
the filters on the left so that only :guilabel:`Refused` is selected. This will only show the
refused expense reports.
.. important::
To post expense reports to an accounting journal, the user must have following access rights:
- Accounting: Accountant or Adviser
- Expenses: Manager
.. _expenses/reimburse:
Reimburse employees
===================
After an expense report is posted to an accounting journal, the next step is to reimburse the
employee. To view all the expense reports to pay, go to :menuselection:`Expenses app --> Expense
Reports --> Reports To Pay`.
.. image:: expenses/reports-to-pay.png
:align: center
:alt: View reports to pay by clicking on expense reports, then reports to pay.
Just like approvals and posting, expense reports can be paid in two ways (individually or several at
once). To pay multiple expense reports at once, remain in the list view. First, select the reports
to pay by clicking the check box next to each report, or click the box next to :guilabel:`Employee`
to select all the reports in the list. Next, click :guilabel:`Register Payment`.
.. image:: expenses/register-payment.png
:align: center
:alt: Post multiple reports by selecting them, clicking the gear, and then post the entries.
To pay an individual report, click on a report to go to a detailed view of that report. Click
:guilabel:`Register Payment` to pay the employee.
A :guilabel:`Register Payment` pop-up appears, and the :guilabel:`Journal`, :guilabel:`Payment
Method`, and :guilabel:`Payment Date` can be modified, if needed. When the selections are correct,
click :guilabel:`Create Payment` to send the payment to the employee.
To pay an individual report, click on a report in the list view to go to a detailed view of that
report. Click :guilabel:`Register Payment` to pay the employee. A :guilabel:`Register Payment`
pop-up appears, but when paying an individual expense report instead of several at once, more
options appear in the pop-up. In addition to the :guilabel:`Journal`, :guilabel:`Payment Method`,
and :guilabel:`Payment Date` fields, a :guilabel:`Recipient Bank Account`, :guilabel:`Amount`, and
:guilabel:`Memo` field appear. Select the employee's bank account from the drop-down menu to
directly deposit the payment to their account. When all other selections are correct, click
:guilabel:`Create Payment` to send the payment to the employee.
.. image:: expenses/two-payment-posting-options.png
:align: center
:alt: Different options appear when registering an individual expense report versus multiple
expense reports at once.
Re-invoice expenses to customers
================================
If expenses are tracked on customer projects, expenses can be automatically charged back to the
customer. This is done by creating an expense, referencing the :abbr:`SO (Sales Order)` the expense
should be added to, and then creating the expense report. Next, managers approve the expense report,
and the accounting department posts the journal entries. Finally, once the expense report is posted
to a journal, the expense(s) appears on the :abbr:`SO (Sales Order)` that was referenced. The sales
order can then be invoiced, thus invoicing the customer for the expense.
Setup
-----
First, specify the invoicing policy for each expense category. Go to :menuselection:`Expenses app
--> Configuration --> Expense Categories`. Click on the expense category to open the expense
category form. Under the :guilabel:`Invoicing` section, click the radio button next to the desired
selection for :guilabel:`Re-Invoicing Expenses`. Options are :guilabel:`None`, :guilabel:`At cost`,
and :guilabel:`Sales price`.
:guilabel:`Re-Invoicing Expenses`:
- :guilabel:`None`: Expense category will not be re-invoiced.
- :guilabel:`At cost`: Expense category will invoice expenses at their real cost.
- :guilabel:`At sales price`: Expense category will invoice the price set on the sale order.
Create an expense
-----------------
First, when :ref:`creating a new expense <expenses/new>`, the correct information needs to be
entered in order to re-invoice a customer. Select the *sales order* the expense will appear on in
the :guilabel:`Customer to Reinvoice` section, from the drop-down menu. Next, select the
:guilabel:`Analytic Account` the expense will be posted to. After the expense(s) are created, the
expense report needs to be :ref:`created <expenses/report>` and :ref:`submitted <expenses/submit>`
as usual.
.. image:: expenses/reinvoice-expense.png
:align: center
:alt: Ensure the customer to be invoiced is called out on the expense.
.. important::
Selecting a :guilabel:`Customer to Reinvoice` when creating an expense is critical, since this is
what causes the expenses to be automatically invoiced after an expense report is approved.
The :guilabel:`Customer to Reinvoice` field can be modified *until an expense report is*
**approved**, then the field is no longer able to be modified.
Validate and post expenses
--------------------------
Only employees with permissions (typically managers or supervisors) can :ref:`approve expenses
<expenses/approve>`. Before approving an expense report, ensure the :guilabel:`Analytic
Distribution` is set on every expense line of a report. If an :guilabel:`Analytic Distribution` is
missing, assign the correct account(s) from the drop-down menu, and then click :guilabel:`Approve`
or :guilabel:`Refuse`.
The accounting department is typically responsible for :ref:`posting journal entries
<expenses/post>`. Once an expense report is approved, it can then be posted. The :abbr:`SO (Sales
Order)` is **only** updated *after the journal entries are posted*. One the journal entries are
posted, the expenses now appear on the referenced :abbr:`SO (Sales Order)`.
Invoice expenses
----------------
Once the :abbr:`SO (Sales Order)` has been updated, it is time to invoice the customer. After the
expense report has been approved and the journal entries have been posted, click the
:guilabel:`Sales Orders` smart button to open the :abbr:`SO (Sales Order)`. The expenses to be
re-invoiced are now on the :abbr:`SO (Sales Order)`.
.. image:: expenses/sales-order.png
:align: center
:alt: After the expense report is posted to the journal entry, the sales order can be called up
by clicking on the sales order number.
.. note::
More than one :abbr:`SO (Sales Order)` can be referenced on an expense report. If more than one
:abbr:`SO (Sales Order)` is referenced, the :guilabel:`Sales Orders` smart button will list the
number of :abbr:`SO (Sales Order)`'s. If multiple :abbr:`SO (Sales Order)`'s are listed, the
:guilabel:`Sales Orders` smart button opens a list view of all the :abbr:`SO (Sales Order)`'s on
the expense report. Click on a :abbr:`SO (Sales Order)` to open the individual :abbr:`SO (Sales
Order)`.
The expenses are listed in the :abbr:`SO (Sales Order)` :guilabel:`Order Lines` tab.
.. image:: expenses/so-details.png
:align: center
:alt: See the expenses listed on the sales order after clicking into it.
Next, click :guilabel:`Create Invoice`, and select if the invoice is for a :guilabel:`Regular
invoice`, a :guilabel:`Down payment (percentage)`, or a :guilabel:`Down payment (fixed amount)` by
clicking the radio button next to it. Then, click :guilabel:`Create Invoice`. The customer has now
been invoiced for the expenses.
.. seealso::
- :doc:`expenses/log_expenses`
- :doc:`expenses/expense_reports`
- :doc:`expenses/approve_expenses`
- :doc:`expenses/post_expenses`
- :doc:`expenses/reimburse`
- :doc:`expenses/reinvoice_expenses`
.. toctree::
:titlesonly:
expenses/log_expenses
expenses/expense_reports
expenses/approve_expenses
expenses/post_expenses
expenses/reimburse
expenses/reinvoice_expenses
@@ -0,0 +1,119 @@
================
Approve expenses
================
In Odoo, not just anyone can approve expense reports, only users with the necessary rights (or
permissions) can. This means that a user **must** have at least *Team Approver* rights for the
*Expenses* app. Employees with the necessary rights can review expense reports, approve or reject
them, and provide feedback thanks to the integrated communication tool.
Please refer to the :doc:`access rights documentation </applications/general/users>` to learn more
about managing users and their access rights.
View expense reports
====================
Users who are able to approve expense reports, typically managers, can easily view all expense
reports they have access rights to. Go to :menuselection:`Expenses app --> Expense Reports`, to view
the :guilabel:`All Reports` dashboard.
A list of all expense reports with a status of either :guilabel:`To Submit`, :guilabel:`Submitted`,
:guilabel:`Approved`, :guilabel:`Posted`, or :guilabel:`Done` appears. Expense reports with a status
of :guilabel:`Refused` are hidden, by default.
.. image:: approve_expenses/expense-reports-list.png
:align: center
:alt: Reports to validate are found on the Reports to Approve page.
Approve expense reports
=======================
Expense reports can be approved in two ways: :ref:`individually <expenses/individual>` or :ref:`in
bulk <expenses/multiple>`.
.. important::
Only reports with a status of :guilabel:`Submitted` can be approved.
It is recommended to display only :guilabel:`Submitted` reports by ticking the checkbox beside
the :guilabel:`Submitted` filter, in the left column, under the :guilabel:`Status` section.
If a report is **not** able to be approved, the :guilabel:`Approve Report` button **does not**
appear on the :guilabel:`All Reports` page.
.. _expenses/individual:
Approve individual reports
--------------------------
To approve an individual report, navigate to :menuselection:`Expenses app --> Expense Reports`, and
click on an individual report to view the report form.
From here, several options are presented: :guilabel:`Approve`, :guilabel:`Refuse`, and
:guilabel:`Reset to draft`.
Click :guilabel:`Approve` to approve the report.
.. _expenses/multiple:
Approve multiple reports
------------------------
To approve multiple expense reports at once, first navigate to :menuselection:`Expenses app -->
Expense Reports` to view a list of expense reports. Next, select the reports to approve by ticking
the checkbox next to each report being approved, or tick the checkbox next to the
:guilabel:`Employee` column title to select all the reports in the list.
Next, click the :guilabel:`Approve Report` button.
.. image:: approve_expenses/approve-report.png
:align: center
:alt: Approve multiple reports by clicking the checkboxes next to each report.
.. tip::
It is possible for team managers to view all the expense reports for just their team members.
To do so, while on the :guilabel:`All Reports` page, click the :icon:`fa-caret-down`
:guilabel:`(down arrow)` to the right of the search bar, then click :guilabel:`My Team` in the
:icon:`fa-filter` :guilabel:`Filters` section.
This presents all the reports for only the manager's team.
.. image:: approve_expenses/my-team-filter.png
:align: center
:alt: Select the My Team filter.
Refuse expense reports
======================
Expense reports can **only** be refused on the individual expense report, and **not** from the
:guilabel:`All Reports` dashboard. To open an individual expense report, navigate to
:menuselection:`Expenses app --> Expense Reports`, then click on an individual expense report to
view the report form.
If more information is needed, such as a missing receipt, communicate any necessary information
requests in the *chatter* of the report form. On the individual expense report, click
:guilabel:`Send message` to open a message text box.
Type in a message, tagging the proper people, and post it to the *chatter* by clicking
:guilabel:`Send`. The message is posted in the chatter, and the tagged people are notified, via
email.
.. note::
The only people that can be tagged in a message are *followers* of the specific report. To see
who is a follower, click the :icon:`fa-user-o` :guilabel:`(user)` icon to display the followers
of the expense report.
.. image:: approve_expenses/chatter.png
:align: center
:alt: Send messages in the chatter.
To refuse an expense report, click :guilabel:`Refuse`, and a :guilabel:`Refuse Expense` pop-up
window appears. Enter a brief explanation for the refusal beneath the :guilabel:`REASON TO REFUSE
EXPENSE` field, then click :guilabel:`Refuse`.
.. image:: approve_expenses/refuse-expense.png
:align: center
:alt: Send messages in the chatter.
Once the expense report is refused, the status changes to :guilabel:`Refused`, and the only button
that appears in the top-left is :guilabel:`Reset to Draft`.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 11 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

Before

Width:  |  Height:  |  Size: 7.6 KiB

After

Width:  |  Height:  |  Size: 7.6 KiB

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

@@ -0,0 +1,129 @@
===============
Expense reports
===============
When expenses are ready to submit (such as, at the end of a business trip, or once a month), an
*expense report* needs to be created. Open the main :menuselection:`Expenses app` dashboard, which
displays the :guilabel:`My Expenses` dashboard, by default. Alternatively, navigate to
:menuselection:`Expenses app --> My Expenses --> My Expenses`.
Expenses are color-coded by status. Any expense with a status of :guilabel:`To Report` (expenses
that still need to be added to an expense report) is shown in blue text. All other statuses
(:guilabel:`To Submit`, :guilabel:`Submitted`, and :guilabel:`Approved`) the text appears in black.
.. _expenses/create_report:
Create expense reports
======================
First, select each desired expense to be added to the report on the :guilabel:`My Expenses`
dashboard, by ticking the checkbox next to each entry, or quickly select all the expenses in the
list by ticking the checkbox next to the :guilabel:`Expense Date` column title, if needed.
Another way to quickly add all expenses that are not on a expense report, is to click the
:guilabel:`Create Report` button, *without* selecting any expenses, and Odoo automatically selects
all expenses with a status of :guilabel:`To Submit` that are not already on a report.
.. image:: expense_reports/create-report.png
:align: center
:alt: Select the expenses to submit, then create the report.
.. note::
Any expense can be selected from the :guilabel:`My Expenses` list, except for expenses with a
status of :guilabel:`Approved`.
The :guilabel:`Create Report` button is visible as long as there is a minimum of one expense on
the list with a status of either :guilabel:`To Report` or :guilabel:`To Submit`.
When the :guilabel:`Create Report` button is clicked, all expenses with a status of :guilabel:`To
Submit` that are *not* currently on another expense report appears in the newly-created expense
report.
If all expenses on the :guilabel:`My Expenses` report are already associated with another expense
report, an :guilabel:`Invalid Operation` pop-up window appears, stating :guilabel:`You have no
expenses to report.`
Once the expenses have been selected, click the :guilabel:`Create Report` button. The new report
appears with all the expenses listed in the :guilabel:`Expense` tab. If there is a receipt attached
to an individual expense, a :icon:`fa-paperclip` :guilabel:`(paperclip)` icon appears between the
:guilabel:`Customer to Reinvoice` and :guilabel:`Analytic Distribution` columns.
When the report is created, the date range for the expenses appears in the :guilabel:`Expense Report
Summary` field, by default. It is recommended to edit this field with a short summary for each
report to help keep expenses organized. Enter a description for the expense report, such as `Client
Trip NYC`, or `Office Supplies for Presentation`, in the :guilabel:`Expense Report Summary` field.
The :guilabel:`Employee`, :guilabel:`Paid By`, and :guilabel:`Company` fields autopoulate with the
information listed on the individual expenses.
Next, select a :guilabel:`Manager` from the drop-down menu to assign a manager to review the report.
If needed, update the :guilabel:`Journal` field, using the drop-down menu.
.. image:: expense_reports/expense-report-summary.png
:align: center
:alt: Enter a short description and select a manager for the report.
If some expenses are missing from the report, they can still be added from this report form. To do
so, click :guilabel:`Add a line` at the bottom of the :guilabel:`Expense` tab.
An :guilabel:`Add: Expense Lines` pop-up window appears, displaying all the available expenses (with
a :guilabel:`To Submit` status) that can be added to the report.
If a new expense needs to be added that does **not** appear on the list, click :guilabel:`New` to
:doc:`create a new expense <../expenses/log_expenses>` and add it to the report.
Tick the checkbox next to each expense being added, then click :guilabel:`Select`.
Doing so removes the pop-up window, and the items now appear on the report.
.. image:: expense_reports/add-an-expense-line.png
:align: center
:alt: Add more expenses to the report before submitting.
.. note::
Expense reports can be created in one of three places:
#. Navigate to the main :menuselection:`Expenses app` dashboard (also accessible, via
:menuselection:`Expenses app --> My Expenses --> My Expenses`)
#. Navigate to :menuselection:`Expenses app --> My Expenses --> My Reports`
#. Navigate to :menuselection:`Expenses app --> Expense Reports`
In any of these views, click :guilabel:`New` to create a new expense report.
.. _expenses/submit:
Submit expense reports
======================
When an expense report is completed, the next step is to submit the report to a manager for
approval. To view all expense reports, navigate to :menuselection:`Expenses app --> My Expenses -->
My Reports`. Open the specific report from the list of expense reports.
.. note::
Reports must be individually submitted, and **cannot** be submitted in batches.
If the list is large, grouping the results by status may be helpful, since only reports with a
:guilabel:`To Submit` status need to be submitted; reports with an :guilabel:`Approved` or
:guilabel:`Submitted` status do not.
The :guilabel:`To Submit` expenses are identifiable by the :guilabel:`To Submit` status, and by the
blue text, while all other expense text appears in black.
.. image:: expense_reports/expense-status.png
:align: center
:alt: Submit the report to the manager.
.. note::
The status of each report is shown in the :guilabel:`Status` column. If the :guilabel:`Status`
column is not visible, click the :icon:`oi-settings-adjust` :guilabel:`(additional options)` icon
at the end of the row, and tick the checkbox beside :guilabel:`Status` from the resulting
drop-down menu.
Click on a report to open it, then click :guilabel:`Submit To Manager`. After submitting a report,
the next step is to wait for the manager to approve it.
.. important::
:doc:`Approving <../expenses/approve_expenses>` expenses, :doc:`posting
<../expenses/post_expenses>` expenses, and :doc:`reimbursing <../expenses/reimburse>` expenses
are **only** for users with the appropriate :doc:`access rights documentation
</applications/general/users>`.

Before

Width:  |  Height:  |  Size: 8.6 KiB

After

Width:  |  Height:  |  Size: 8.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

@@ -0,0 +1,230 @@
============
Log expenses
============
Before expenses can be reimbursed, each individual expense needs to be logged in the database.
Expense records can be created in three different ways: :ref:`manually enter an expense record
<expenses/manual_expense>`, :ref:`upload a receipt <expenses/upload_receipt>`, or :ref:`email a
receipt <expenses/email_expense>` to a preconfigured email address.
.. _expenses/manual_expense:
Manually enter expenses
=======================
To record a new expense, open the :menuselection:`Expenses app`, which displays the :guilabel:`My
Expenses` page, by default.
.. tip::
This view can also be accessed from :menuselection:`Expenses app --> My Expenses --> My
Expenses`.
Then, click :guilabel:`New`, and then fill out the following fields on the form that appears:
- :guilabel:`Description`: Enter a short description for the expense. This should be concise and
informative, such as `lunch with client` or `hotel for conference`.
- :guilabel:`Category`: Select the expense category from the drop-down menu that most closely
corresponds to the expense.
- :guilabel:`Total`: Enter the total amount paid for the expense in one of two ways:
#. If the expense is for a single item/expense, and the category selected was for a single item,
enter the cost in the :guilabel:`Total` field (the :guilabel:`Quantity` field is hidden).
#. If the expense is for multiples of the same item/expense with a fixed price, the
:guilabel:`Unit Price` is displayed. Enter the quantity in the :guilabel:`Quantity` field, and
the total cost is automatically updated with the correct total. The total cost appears below
the :guilabel:`Quantity`.
.. example::
In the case of mileage driven, the :guilabel:`Unit Price` is populated as the cost *per
mile*. Set the :guilabel:`Quantity` to the *number of miles driven*, and the total is
calculated.
- :guilabel:`Included Taxes`: If taxes were configured on the expense category, the tax percentage
and amount appear automatically after entering either the :guilabel:`Total` or the
:guilabel:`Quantity`.
.. note::
When a tax is configured on an expense category, the :guilabel:`Included Taxes` value updates
in real time, as the :guilabel:`Total` or :guilabel:`Quantity` is updated.
- :guilabel:`Employee`: Using the drop-down menu, select the employee this expense is for.
- :guilabel:`Paid By`: Click the radio button to indicate who paid for the expense, and should be
reimbursed. Select either :guilabel:`Employee (to reimburse)` or :guilabel:`Company`. Depending on
the expense category selected, this field may not appear.
- :guilabel:`Expense Date`: Using the calendar popover window that appears when this field is
clicked, enter the date the expense was incurred.
- :guilabel:`Account`: Using the drop-down menu, select the expense account the expense should be
logged in.
- :guilabel:`Customer to Reinvoice`: If the expense is something that should be paid for by a
customer, select the :abbr:`SO (Sales Order)` and customer that should be invoiced for this
expense from the drop-down menu. All sales orders in the drop-down menu list both the :abbr:`SO
(Sales Order)`, as well as the company the sales order is written for. After the expense is saved,
the customer name disappears, and only the :abbr:`SO (Sales Order)` is visible on the expense.
.. example::
A customer wishes to have an on-site meeting for the design and installation of a custom
garden, and agrees to pay for the expenses associated with it (such as travel, hotel, meals,
etc). All expenses tied to that meeting would indicate the sales order for the custom garden
(which also references the customer) as the :guilabel:`Customer to Reinvoice`.
- :guilabel:`Analytic Distribution`: Select the account the expense should be written against from
the drop-down menu for either :guilabel:`Projects`, :guilabel:`Departments`, or both. Multiple
accounts can be listed for each category, if needed. Adjust the percentage for each analytic
account by typing in the percentage value next to each account.
- :guilabel:`Company`: If multiple companies are set up, select the company the expense should be
filed for from the drop-down menu. The current company automatically populates this field.
- :guilabel:`Notes...`: If any notes are needed to clarify the expense, enter them in the notes
field.
.. image:: log_expenses/expense-filled-in.png
:align: center
:alt: A filled in expense form for a client lunch.
Attach receipts
---------------
After the expense record is created, the next step is to attach a receipt. Click the
:guilabel:`Attach Receipt` button, and a file explorer appears. Navigate to the receipt to be
attached, and click :guilabel:`Open`.
The new receipt is recorded in the *chatter*, and the number of receipts appears next to the
:icon:`fa-paperclip` :guilabel:`(paperclip)` icon. Multiple receipts can be attached to an
individual expense record, as needed.
.. image:: log_expenses/receipt-icon.png
:align: center
:alt: Attach a receipt and it appears in the chatter.
.. _expenses/upload_receipt:
Upload expenses
===============
It is possible to have expense records created automatically, by uploading a PDF receipt. This
feature requires the enabling of a setting, and the purchasing of :abbr:`IAP (in-app purchases)`
credits.
Digitalization settings
-----------------------
To enable receipt scanning, navigate to :menuselection:`Expenses app --> Configuration -->
Settings`, and tick the checkbox beside the :guilabel:`Expense Digitization (OCR)` option. Then,
click :guilabel:`Save`. When enabled, additional options appear. Click on the corresponding radio
button to select one of the following options:
- :guilabel:`Do not digitize`: turns off receipt digitization.
- :guilabel:`Digitize on demand only`: only digitizes receipts when requested. A
:guilabel:`Digitize document` button appears on expense records. When clicked, the receipt is
scanned and the expense record is updated.
- :guilabel:`Digitize automatically`: automatically digitizes all receipts when they are uploaded.
Beneath these options are two additional links. Click the :icon:`fa-arrow-right` :guilabel:`Buy
credits` link to purchase credits for receipt digitization. Click the :icon:`fa-arrow-right`
:guilabel:`View My Services` link to view a list of all current services, and their remaining credit
balances.
For more information on document digitization and :abbr:`IAPs (in-app purchases)`, refer to the
:doc:`In-app purchase (IAP) <../../essentials/in_app_purchase>` documentation.
.. note::
When the :guilabel:`Expense Digitization (OCR)` option is enabled, a necessary module is
installed, so receipts can be scanned. Disabling this option uninstalls the module.
If, at some point, there is a desire to temporarily stop digitizing receipts, select the
:guilabel:`Do not digitize` option. The reason this option is available is so the module is not
uninstalled, allowing for digitization to be enabled in the future by selecting one of the other
two options.
Upload receipts
---------------
Open the :guilabel:`Expenses app`, and from the :guilabel:`My Expenses` dashboard, click
:guilabel:`Upload`, and a file explorer appears. Navigate to the desired receipt, select it, then
click :guilabel:`Open`.
.. image:: log_expenses/upload.png
:align: center
:alt: Create an expense by scanning a receipt. Click Scan at the top of the Expenses dashboard
view.
The receipt is scanned, and a new expense record is created. The :guilabel:`Expense Date` field is
populated with today's date, along with any other fields based on the scanned data, such as the
:guilabel:`Total`.
Click on the new entry to open the individual expense form, and make any changes, if needed. The
scanned receipt appears in the *chatter*.
.. _expenses/email_expense:
Email expenses
==============
Instead of individually creating each expense in the **Expenses** app, expenses can be automatically
created by sending an email to an email alias.
To do so, an email alias must first be configured. Navigate to :menuselection:`Expenses app -->
Configuration --> Settings`. Ensure the checkbox beside :guilabel:`Incoming Emails` is ticked. The
default email alias is *expense@(domain).com*. Change the email alias by entering the desired email
in the field to the right of :guilabel:`Alias`. Then, click :guilabel:`Save`.
.. image:: log_expenses/alias-email.png
:align: center
:alt: Te default email that populates the expenses email alias.
.. note::
If the domain alias needs to be set up, :icon:`fa-arrow-right` :guilabel:`Setup your domain
alias` appears beneath the :guilabel:`Incoming Emails` checkbox, instead of the email address
field.
.. image:: log_expenses/email-alias.png
:align: center
:alt: Create the domain alias by clicking the link.
Refer to the :doc:`/applications/websites/website/configuration/domain_names` documentation for
setup instructions and more information.
Once the domain alias is configured, the email address field is visible beneath the
:guilabel:`Incoming Emails` feature on the :guilabel:`Settings` page in the **Expenses** app.
Once the email address has been entered, emails can be sent to that alias to create new expenses,
without having to be in the Odoo database.
To submit an expense via email, create a new email, and enter the product's *internal reference*
code (if available) and the amount of the expense as the subject of the email. Next, attach the
receipt to the email. Odoo creates the expense by taking the information in the email subject, and
combining it with the receipt.
To check an expense category's internal reference, go to :menuselection:`Expenses app -->
Configuration --> Expense Categories`. If an internal reference is listed on the expense category,
it is listed in the :guilabel:`Internal Reference` column.
.. image:: log_expenses/ref.png
:align: center
:alt: Internal reference numbers are listed in the main Expense Categories view.
To add an internal reference on an expense category, click on the category to open the expense
category form. Enter the :guilabel:`Internal Reference` in the corresponding field. Beneath the
:guilabel:`Internal Reference` field, this sentence appears: :guilabel:`Use this reference as a
subject prefix when submitting by email.`
.. image:: log_expenses/mileage-internal-reference.png
:align: center
:alt: Internal reference numbers are listed in the main Expense Products view.
.. example::
If submitting an expense, via email, for a $25.00 meal during a work trip, the email subject
would be `FOOD $25.00`.
Explanation:
- The :guilabel:`Internal Reference` for the expense category `Meals` is `FOOD`
- The :guilabel:`Cost` for the expense is `$25.00`
.. note::
For security purposes, only authenticated employee emails are accepted by Odoo when creating an
expense from an email. To confirm an authenticated employee email address, go to the employee
card in the :menuselection:`Employees app`, and refer to the :guilabel:`Work Email` field.
.. image:: log_expenses/authenticated-email-address.png
:align: center
:alt: Create the domain alias by clicking the link.
Binary file not shown.

After

Width:  |  Height:  |  Size: 28 KiB

Before

Width:  |  Height:  |  Size: 3.6 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Before

Width:  |  Height:  |  Size: 17 KiB

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

@@ -0,0 +1,75 @@
=============
Post expenses
=============
Once an expense report is :doc:`approved <../expenses/approve_expenses>`, the next step is to post
the expense report to the proper accounting journal.
.. important::
To post expense reports to an accounting journal, the user **must** have the following
:doc:`access rights <../../general/users/access_rights>`:
- Accounting: *Accountant* or *Adviser*
- Expenses: *Manager*
Only expense reports with an *Approved* status can post the expenses to a journal. To view all
expense reports, navigate to :menuselection:`Expenses app --> Expense Reports`. Next, to view
**only** approved expense reports that need to be posted, adjust the filters on the left side, so
only the :guilabel:`Approved` checkbox is ticked.
.. image:: post_expenses/post-reports.png
:align: center
:alt: View reports to post by clicking on expense reports, then reports to post.
.. note::
The default :guilabel:`All Reports` dashboard displays all expense reports, except reports with a
status of :guilabel:`Refused`.
Expense reports can be posted to accounting journals in two ways: :ref:`individually
<expenses/post-individual>` or :ref:`in bulk <expenses/post-multiple>`.
.. _expenses/post-individual:
Post individual reports
-----------------------
To post an individual report, navigate to :menuselection:`Expenses app --> Expense Reports`, and
click on an individual report with a :guilabel:`Status` of :guilabel:`Approved`, to view the report
form. In this view, several options are presented: :guilabel:`Post Journal Entries`,
:guilabel:`Report In Next Payslip`, :guilabel:`Refuse`, or :guilabel:`Reset to Draft`.
Click :guilabel:`Post Journal Entries` to post the report.
The accounting journal the expenses are posted to is listed in the :guilabel:`Journal` field of the
expense report.
After posting the expenses to an accounting journal, a :guilabel:`Journal Entry` smart button
appears at the top of the screen. Click the :guilabel:`Journal Entry` smart button, and the details
for the journal entry appear, with a status of :guilabel:`Posted`.
.. _expenses/post-multiple:
Post multiple reports
---------------------
To post multiple expense reports at once, navigate to :menuselection:`Expenses app --> Expense
Reports` to view a list of expense reports. Next, select the reports to approve by ticking the
checkbox next to each report being approved.
.. note::
Only expense reports with a status of :guilabel:`Approved` are able to post the expenses to an
accounting journal. If an expense report is selected that **cannot** be posted, such as an
unapproved report, or the report has already been posted to a journal, the :guilabel:`Post
Entries` button is **not** visible.
.. tip::
To select **only** approved expense reports, adjust the filters on the left side, so that only
the :guilabel:`Approved` checkbox is ticked. Next, tick the checkbox next to the
:guilabel:`Employee` column title to select **all** the :guilabel:`Approved` reports in the list
at once.
Next, click the :guilabel:`Post Entries` button.
.. image:: post_expenses/post-entries.png
:align: center
:alt: Post multiple reports at a time from the Expense Reports view, with the Approved filter.
Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

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