Compare commits

...

71 Commits

Author SHA1 Message Date
masi-odoo 2d1ae8acff [IMP] payment_provider/mercado pago: content updates
Co-authored-by: samueljlieber <sali@odoo.com>

This commit will add important clarifications to use and test the Mercado Pago payment provider and add visual documentation similar to other provider's documentation
2024-01-09 09:20:54 -05:00
Tom Aarab (toaa) 3c3c559d3b [IMP] accounting: payments doc update
Updated the payments doc page.

Forward to master.

16.3 -> Change reconciliation section

taskid-3610834

closes odoo/documentation#7258

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

Forward to master

taskid-3644544

closes odoo/documentation#7285

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

16.3 & 16.4 --> Fetch Account/Reconnect

17.0 --> Reconnect

taskid-3619168

closes odoo/documentation#7228

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

closes odoo/documentation#5801

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

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

Fixes: #7210

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

closes odoo/documentation#7259

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

Forward to 16.3

closes odoo/documentation#7257

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

taskid-3658558

closes odoo/documentation#7193

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

closes odoo/documentation#5485

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

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

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

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

closes odoo/documentation#6932

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

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

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

taskid-3609365

closes odoo/documentation#6910

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

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

closes odoo/documentation#6896

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

closes odoo/documentation#6751

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

closes odoo/documentation#6697

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

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

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

closes odoo/documentation#6728

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

closes odoo/documentation#5823

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

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

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

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

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

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

closes odoo/documentation#6738

X-original-commit: 3d91c57b57
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-03 08:27:52 +00:00
Odoo Translation Bot 80f195831e [I18N] Update translation terms from Transifex 2023-12-03 01:40:34 +01:00
1240 changed files with 551448 additions and 325234 deletions
+56 -36
View File
@@ -330,7 +330,7 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
proxy_pass http://odoochat;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
@@ -339,7 +339,7 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
# Redirect requests to odoo backend server
location / {
# Add Headers for odoo proxy mode
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Host $http_host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
@@ -439,51 +439,71 @@ Odoo static files are located in each module's :file:`static/` folder, so static
by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up the right module
(and file) in the various addons paths.
.. example::
Say Odoo has been installed via the **debian packages** for Community and Enterprise and the
:option:`--addons-path <odoo-bin --addons-path>` is ``'/usr/lib/python3/dist-packages/odoo/addons'``.
It is recommended to set the ``Content-Security-Policy: default-src 'none'`` header on all images
delivered by the web server. It is not strictly necessary as users cannot modify/inject content
inside of modules' :file:`static/` folder and existing images are final (they do not fetch new
resources by themselves). However, it is good practice.
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
Using the above NGINX (https) configuration, the following ``map`` and ``location`` blocks should be
added to serve static files via NGINX.
.. code-block:: nginx
.. code-block:: nginx
location @odoo {
# copy-paste the content of the / location block
}
map $sent_http_content_type $content_type_csp {
default "";
~image/ "default-src 'none'";
}
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
root /usr/lib/python3/dist-packages/odoo/addons;
try_files $uri @odoo;
expires 24h;
}
server {
# the rest of the configuration
location @odoo {
# copy-paste the content of the / location block
}
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
# root and try_files both depend on your addons paths
root ...;
try_files ... @odoo;
expires 24h;
add_header Content-Security-Policy $content_type_csp;
}
}
The actual ``root`` and ``try_files`` directives are dependant on your installation, specifically on
your :option:`--addons-path <odoo-bin --addons-path>`.
.. example::
Say Odoo has been installed via the **source**. The two git repositories for Community and
Enterprise have been cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise`
respectively and the :option:`--addons-path <odoo-bin --addons-path>` is
``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``.
Using the above NGINX (https) configuration, the following location block should be added to
serve static files via NGINX.
.. tabs::
.. code-block:: nginx
.. group-tab:: Debian package
location @odoo {
# copy-paste the content of the / location block
}
Say Odoo has been installed via the **debian packages** for Community and Enterprise, and
that the :option:`--addons-path <odoo-bin --addons-path>` is
``'/usr/lib/python3/dist-packages/odoo/addons'``.
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
root /opt/odoo;
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
expires 24h;
}
The ``root`` and ``try_files`` should be:
.. warning::
The actual NGINX configuration you need is highly dependent on your own installation. The two
above snippets only highlight two possible configurations and may not be used as-is.
.. code-block:: nginx
root /usr/lib/python3/dist-packages/odoo/addons;
try_files $uri @odoo;
.. group-tab:: Git sources
Say Odoo has been installed via the **sources**, that both the Community and Enterprise git
repositories were cloned in :file:`/opt/odoo/community` and :file:`/opt/odoo/enterprise`
respectively, and that the :option:`--addons-path <odoo-bin --addons-path>` is
``'/opt/odoo/community/odoo/addons,/opt/odoo/community/addons,/opt/odoo/enterprise'``.
The ``root`` and ``try_files`` should be:
.. code-block:: nginx
root /opt/odoo;
try_files /community/odoo/addons$uri /community/addons$uri /enterprise$uri @odoo;
Serving attachments
-------------------
+4 -4
View File
@@ -54,10 +54,10 @@ Odoo needs a `PostgreSQL <https://www.postgresql.org/>`_ server to run properly.
$ sudo systemctl start postgresql
.. warning::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.5
<https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5>`_ for it to support headers and
footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for
more details on the various versions.
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.6
<https://github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3>`_ for it to support headers
and footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_
for more details on the various versions.
Repository
----------
+6 -6
View File
@@ -225,7 +225,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -s $USER
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
.. note::
@@ -250,7 +250,7 @@ PostgreSQL user.
.. code-block:: console
$ sudo -u postgres createuser -s $USER
$ sudo -u postgres createuser -d -R -S $USER
$ createdb $USER
.. note::
@@ -409,10 +409,10 @@ Dependencies
$ sudo npm install -g rtlcss
.. warning::
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.5
<https://github.com/wkhtmltopdf/wkhtmltopdf/releases/tag/0.12.5>`_ for it to support headers and
footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_ for
more details on the various versions.
`wkhtmltopdf` is not installed through **pip** and must be installed manually in `version 0.12.6
<https://github.com/wkhtmltopdf/packaging/releases/tag/0.12.6.1-3>`_ for it to support headers
and footers. Check out the `wkhtmltopdf wiki <https://github.com/odoo/odoo/wiki/Wkhtmltopdf>`_
for more details on the various versions.
.. _install/source/running_odoo:
@@ -129,6 +129,5 @@ users, click :guilabel:`Add more users`.
To remove users, select them and click :guilabel:`Remove`.
.. seealso::
- :doc:`../../applications/general/users/manage_users`
- :doc:`../../applications/general/users/delete_account`
- :doc:`/applications/general/users/manage_users`
- :doc:`/applications/general/users/odoo_account`
+1 -2
View File
@@ -203,8 +203,7 @@ available methods are standard price, average price, :abbr:`LIFO (Last-In, First
:abbr:`FIFO (First-In, First-Out).`
.. seealso::
:doc:`View the impact of the valuation methods on transactions
<../inventory_and_mrp/inventory/management/reporting/inventory_valuation_config>`
:doc:`../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config`
Retained earnings
=================
@@ -106,9 +106,9 @@ If your connection with the proxy is disconnected, you can reconnect with the pr
:guilabel:`Fetch Account` button.
.. note::
This disconnection can be caused by the Odoo support. In this case, please contact the `support
<https://www.odoo.com/help>`_ directly with your client id or the reference of the error listed
in the chatter.
If you are unable to reconnect using the :guilabel:`Fetch Account` button, please contact the
`support <https://www.odoo.com/help>`_ directly with your client id or the reference of the error
listed in the chatter.
.. _MigrationOnlineSync:
@@ -3,7 +3,6 @@ Average price on returned goods
===============================
.. |AVCO| replace:: :abbr:`AVCO (Average Cost Valuation)`
.. _inventory/avg_cost/definition:
*Average cost valuation* (AVCO) is an inventory valuation method that evaluates cost based on the
@@ -3,48 +3,37 @@ Chart of accounts
=================
The **chart of accounts (COA)** is the list of all the accounts used to record financial
transactions in the general ledger of an organization.
transactions in the general ledger of an organization. The chart of accounts can be found under
:menuselection:`Accounting-->Configuration-->Chart of Accounts`.
The accounts are usually listed in the order of appearance in the financial reports. Most of the
time, they are listed as follows :
When browsing your chart of accounts, you can sort the accounts by :guilabel:`Code`,
:guilabel:`Account Name`, or :guilabel:`Type`, but other options are available in the drop-down menu
:guilabel:`(⋮)`.
- Balance Sheet accounts:
- Assets
- Liabilities
- Equity
- Profit & Loss:
- Income
- Expense
When browsing your chart of accounts, you can filter the accounts by number, in the left column, and
also group them by :guilabel:`Account Type`.
.. image:: chart_of_accounts/chart-of-accounts.png
:align: center
.. image:: chart_of_accounts/chart-of-accounts-sort.png
:alt: Group the accounts by type in Odoo Accounting
Configuration of an account
===========================
The country you select at the creation of your database (or additional company on your database)
determines which **fiscal localization package** is installed by default. This package includes a
standard chart of accounts already configured according to the country's regulations. You can use
it directly or set it according to your company's needs.
The country you select during the creation of your database (or additional company in your database)
determines which :doc:`fiscal localization package <../../fiscal_localizations>` is installed by
default. This package includes a standard chart of accounts already configured according to the
country's regulations. You can use it directly or set it according to your company's needs.
To create a new account, go to :menuselection:`Accounting-->Configuration-->Chart of Accounts`,
click :guilabel:`Create`, and fill in (at the minimum) the required fields
(:guilabel:`Code, Account Name, Type`).
.. warning::
It is not possible to modify the **fiscal localization** of a company once a journal entry has
been posted.
To create a new account, go to :menuselection:`Accounting --> Configuration --> Chart of Accounts`,
click on :guilabel:`Create`, and fill out the form.
Code and name
-------------
Each account is identified by its **code** and **name**, which also indicates the account's purpose.
Each account is identified by its :guilabel:`Code` and :guilabel:`Name`, which also indicate the
account's purpose.
.. _chart-of-account/type:
@@ -59,7 +48,7 @@ Correctly configuring the **account type** is critical as it serves multiple pur
- Generate opening entries
To configure an account type, open the :guilabel:`Type` field's drop-down selector and select the
right type among the following list:
corresponding type from the following list:
+---------------+--------------+-------------------------+
| Report | Category | Account Types |
@@ -104,29 +93,31 @@ right type among the following list:
Assets, deferred expenses, and deferred revenues automation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Some **account types** display a new field **to automate** the creation of :ref:`assets
<assets-automation>` entries, :ref:`deferred expenses <deferred-expenses-automation>` entries,
and :ref:`deferred revenues <deferred-revenues-automation>` entries.
Some **account types** can **automate** the creation of :ref:`assets <assets-automation>` entries,
:ref:`deferred expenses <deferred-expenses-automation>` entries, and
:ref:`deferred revenues <deferred-revenues-automation>` entries. To **automate** entries, click
:guilabel:`Setup` on an account line and go to the :guilabel:`Automation` tab.
You have three choices for the :guilabel:`Automation` field:
You have three choices for the :guilabel:`Automation` tab:
#. :guilabel:`No`: this is the default value. Nothing happens.
#. :guilabel:`Create in draft`: whenever a transaction is posted on the account, a draft entry is
created, but not validated. You must first fill out the corresponding form.
#. :guilabel:`Create and validate`: you must also select a **model**. Whenever a transaction is
posted on the account, an entry is created and immediately validated.
created but not validated. You must first fill out the corresponding form.
#. :guilabel:`Create and validate`: you must also select a :guilabel:`Deferred Expense Model`.
Whenever a transaction is posted on the account, an entry is created and immediately validated.
Default taxes
-------------
Select a **default tax** that will be applied when this account is chosen for a product sale or
purchase.
In the :guilabel:`Setup` menu of an account, select a **default tax** to be applied when this
account is chosen for a product sale or purchase.
Tags
----
Some accounting reports require **tags** to be set on the relevant accounts. By default, you can
choose among the tags that are used by the *Cash Flow Statement*.
Some accounting reports require **tags** to be set on the relevant accounts. To add a tag, under
:guilabel:`Setup`, click the :guilabel:`Tags` field and select an existing tag or :guilabel:`Create`
a new one.
Account groups
--------------
@@ -134,31 +125,29 @@ Account groups
**Account groups** are useful to list multiple accounts as *sub-accounts* of a bigger account and
thus consolidate reports such as the **Trial Balance**. By default, groups are handled automatically
based on the code of the group. For example, a new account `131200` is going to be part of the group
`131000`.
`131000`. You can attribute a specific group to an account in the :guilabel:`Group` field under
:guilabel:`Setup`.
Create account groups manually
------------------------------
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
Regular users should not need to create account groups manually. The following section is only
intended for rare and advanced use cases.
To create a new account group, :ref:`developer mode <developer-mode>` and head to
:menuselection:`Accounting app --> Configuration --> Account Groups`. Here, create a new group and
enter the :guilabel:`name, code prefix, and company` to which that group account should be
available. Note that you must enter the same code prefix in both :guilabel:`From` and :guilabel:`to`
fields.
To create a new account group, activate :ref:`developer mode <developer-mode>` and head to
:menuselection:`Accounting app-->Configuration-->Account Groups`. Here, create a new group and enter
the :guilabel:`name, code prefix, and company` to which that group account should be available. Note
that you must enter the same code prefix in both :guilabel:`From` and :guilabel:`to` fields.
.. image:: chart_of_accounts/account-groups.png
:align: center
:alt: Account groups creation.
To display your **Trial Balance** report with your account groups, go to :menuselection:`Accounting
app-->Reporting-->Trial Balance`, then open the :guilabel:`Options` menu and select
:guilabel:`Hierarchy and Subtotals`.
To display your **Trial Balance** report with your account groups, go to
:menuselection:`Accounting-->Reporting-->Trial Balance`, then open the :guilabel:`Options` menu and
select :guilabel:`Hierarchy and Subtotals`.
.. image:: chart_of_accounts/trial-balance.png
:align: center
.. image:: chart_of_accounts/chart-of-accounts-groups.png
:alt: Account Groups in the Trial Balance in Odoo Accounting
Allow reconciliation
@@ -171,15 +160,18 @@ For example, an invoice paid with a credit card can be marked as :guilabel:`paid
its payment. Therefore, the account used to record credit card payments needs to be configured as
**allowing reconciliation**.
To do so, check the :guilabel:`Allow Reconciliation` box in the account's settings, and save.
To do so, check the :guilabel:`Allow Reconciliation` box in the account's settings, and
:guilabel:`Save`; or enable the button from the chart of accounts view.
.. image:: chart_of_accounts/chart-of-accounts-reconciliation.png
:alt: Allow reconciliation for accounts in Odoo Accounting
Deprecated
----------
It is not possible to delete an account once a transaction has been recorded on it. You can make
them unusable by using the **Deprecated** feature.
To do so, check the :guilabel:`Deprecated` box in the account's settings, and save.
them unusable by using the **Deprecated** feature: check the :guilabel:`Deprecated` box in the
account's settings, and :guilabel:`Save`.
.. seealso::
* :doc:`cheat_sheet`
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

@@ -4,15 +4,15 @@
Payments
========
In Odoo, payments can either be linked automatically to an invoice or bill or be stand-alone records
for use at a later date.
In Odoo, payments can either be automatically linked to an invoice or bill or be stand-alone records
for use at a later date:
If a payment is **linked to an invoice or bill**, it reduces the amount due of the invoice. You can
have multiple payments related to the same invoice.
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due of the
invoice. You can have multiple payments related to the same invoice.
If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
your company, or your company has an outstanding debit with a vendor. You can use those outstanding
amounts to reduce unpaid invoices/bills.
- If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
your company, or your company has an outstanding debit with a vendor. You can use those
outstanding amounts to reduce/settle unpaid invoices/bills.
.. seealso::
- :doc:`Internal transfers <payments/internal_transfers>`
@@ -23,59 +23,54 @@ amounts to reduce unpaid invoices/bills.
Registering payment from an invoice or bill
===========================================
When clicking on :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a
new journal entry and changes the amount due according to the amount of the payment. The counterpart
is reflected in an outstanding receipts or payments account. At this point, the customer invoice or
vendor bill is marked as :guilabel:`In payment`. Then, when the outstanding account is reconciled
with a bank statement line, the invoice or vendor bill changes to the :guilabel:`Paid` status.
When clicking :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a new
journal entry and changes the amount due according to the payment amount. The counterpart is
reflected in an :ref:`outstanding <bank/outstanding-accounts>` **receipts** or **payments** account.
At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment`. Then, when
the outstanding account is reconciled with a bank statement line, the invoice or vendor bill changes
to the :guilabel:`Paid` status.
The information icon near the payment line displays more information about the payment. You can
access additional information, such as the related journal, by clicking on :guilabel:`View`.
access additional information, such as the related journal, by clicking :guilabel:`View`.
.. image:: payments/information-icon.png
:alt: See detailed information of a payment
:alt: See detailed information of a payment.
.. note::
- The customer invoice or vendor bill should be in the status :guilabel:`Posted` to register the
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
payment.
- When clicking on :guilabel:`Register payment`, you can select the amount to pay and make a
partial or full payment.
- If your main bank account is set as :ref:`outstanding account
<bank/outstanding-accounts>`, and the payment is made in Odoo (not related to a
bank statement), invoices and bills are directly registered in the status :guilabel:`Paid`.
- If you unreconciled a payment, it still appears in your books but is no longer linked to the
- If you unreconcile a payment, it still appears in your books but is no longer linked to the
invoice.
- If you (un)reconcile a payment in a different currency, a journal entry is automatically
created to post the currency exchange gains/losses (reversal) amount.
- If you (un)reconcile a payment and an invoice having cash basis taxes, a journal entry is
automatically created to post the cash basis tax (reversal) amount.
.. seealso::
- :doc:`bank/reconciliation`
.. tip::
- If your main bank account is set as an :ref:`outstanding account
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
bank statement), invoices and bills are directly registered as :guilabel:`Paid`.
Registering payments not tied to an invoice or bill
===================================================
When a new payment is registered via the menu :menuselection:`Customers / Vendors --> Payments`, it
is not directly linked to an invoice or bill. Instead, the account receivable or the account payable
are matched with the outstanding account until they are manually matched with their related invoice
or bill.
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments` menu, it is
not directly linked to an invoice or bill. Instead, the account receivable or the account payable is
matched with the **outstanding account** until it is manually matched with its related invoice or
bill.
Matching invoices and bills with payments
-----------------------------------------
A blue banner appears when you validate a new invoice or bill and there is an outstanding payment
for this specific customer or vendor. It can easily be matched from the invoice or the bill by
clicking on :guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
A blue banner appears when you validate a new invoice/bill and an **outstanding payment** exists for
this specific customer or vendor. It can easily be matched from the invoice or bill by clicking
:guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
.. image:: payments/add-option.png
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment.
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with the bank
statement.
.. seealso::
- :doc:`bank/reconciliation`
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its
corresponding bank statement.
.. _payments/batch-payments:
@@ -83,11 +78,11 @@ Batch payment
-------------
Batch payments allow you to group different payments to ease :doc:`reconciliation
<bank/reconciliation>`. They are also useful when you deposit checks to the bank or
for SEPA Payments. To do so, go to :menuselection:`Accounting --> Customers --> Batch Payments` or
:menuselection:`Accounting --> Vendors --> Batch Payments`. In the list view of payments, you can
select several payments and group them in a batch by clicking on :menuselection:`Action --> Create
Batch Payment`.
<bank/reconciliation>`. They are also useful when you deposit :doc:`checks <payments/checks>` to the
bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to :menuselection:`Accounting -->
Customers --> Batch Payments` or :menuselection:`Accounting --> Vendors --> Batch Payments`. In the
list view of payments, you can select and group several payments in a batch by clicking
:menuselection:`Action --> Create Batch Payment`.
.. seealso::
- :doc:`payments/batch`
@@ -99,36 +94,50 @@ Payments matching
-----------------
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
gives you the opportunity to process them all one by one, doing the matching of all their payments
and invoices at once. You can reach this tool from the :menuselection:`Accounting Dashboard -->
Customer Invoices / Vendor Bills`, and click on :guilabel:`` and select :guilabel:`Payments
Matching`, or by going to :menuselection:`Accounting --> Reconciliation`.
allows you to process them individually, matching all payments and invoices in one place. You can
reach this tool from the :menuselection:`Accounting Dashboard --> Customer Invoices / Vendor Bills`,
click the drop-down menu button (:guilabel:`⋮`), and select :guilabel:`Payments Matching`, or go to
:menuselection:`Accounting --> Accounting --> Reconciliation`.
.. image:: payments/payments-journal.png
:alt: Payments matching menu in the drop-down menu.
.. note::
During the :doc:`reconciliation <bank/reconciliation>`, if the sum of the debits
and credits does not match, there is a remaining balance. This either needs to be reconciled at a
later date or needs to be written off directly.
During the :doc:`reconciliation <bank/reconciliation>`, if the sum of the debits and credits does
not match, there is a remaining balance. This either needs to be reconciled at a later date or
needs to be written off directly.
Batch payments matching
-----------------------
To reconcile several outstanding payments or invoices at once, for a specific customer or vendor,
the batch reconciliation feature can be used. Go to :menuselection:`Accounting --> Reporting -->
Aged Receivable / Aged Payable`. You now see all transactions that have not been reconciled yet, and
when you select a customer or vendor, the :guilabel:`Reconcile` option is displayed.
You can use the batch reconciliation feature to reconcile several outstanding payments or invoices
simultaneously for a specific customer or vendor. Go to :menuselection:`Accounting --> Reporting -->
Aged Receivable / Aged Payable`. You can see all transactions that have not been reconciled yet for
that partner, and when you select a customer or vendor, the :guilabel:`Reconcile` option is
displayed.
.. image:: payments/reconcile-option.png
:alt: See the reconcile option
:alt: See the reconcile option.
Registering a partial payment
=============================
To register a **partial payment**, click :guilabel:`Register payment` from the related invoice or
bill, and enter the amount received or paid. Upon entering the amount, a prompt appears to decide
whether to :guilabel:`Keep open` the invoice or bill, or :guilabel:`Mark as fully paid`. Select
:guilabel:`Keep open` and click :guilabel:`Create payment`. The invoice or bill is now marked as
:guilabel:`Partial`. Select :guilabel:`Mark as fully paid` if you wish to settle the invoice or bill
with a difference in the amount.
.. image:: payments/payment-difference.png
:alt: Partial payment of an invoice or bill.
Reconciling payments with bank statements
=========================================
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
next step is to reconcile it with the related bank statement line to have the transaction finalized
and the invoice or bill marked as :guilabel:`Paid`.
.. seealso::
- :doc:`bank/reconciliation`
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank statement line to
have the transaction finalized and the invoice or bill marked as :guilabel:`Paid`.
.. toctree::
:titlesonly:
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

@@ -79,7 +79,7 @@ To know whether a customer usually pays late or not, you can set a trust level b
:guilabel:`Good Debtor`, :guilabel:`Normal Debtor`, or :guilabel:`Bad Debtor` on their follow-up
report. To do so, click on the bullet next to the customer's name and select a trust level.
.. image:: follow_up/debtors-trust-level.png
.. image:: follow_up/debtor-level.png
:alt: Set debtor's trust level
Send reminders in batches
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

@@ -13,14 +13,15 @@ Activate checks payment methods
-------------------------------
To activate the checks payment method, go to :menuselection:`Accounting --> Configuration -->
Checks`, there you can activate the payment method as well as set up the :guilabel:`Check Layout`.
Once activated the :guilabel:`Checks` setting, the feature is automatically setup for your
:guilabel:`Outgoing Payments`.
Settings`, and scroll down to the :guilabel:`Vendor Payments` section. There, you can activate the
payment method as well as set up the :guilabel:`Check Layout`.
.. note::
Some countries require specific modules to print checks; such modules may be installed by
default. For instance, the :guilabel:`U.S. Checks Layout` module is required to print U.S.
checks.
- Once the :guilabel:`Checks` setting is activated, the **Checks** payment method is
automatically set up in the :guilabel:`Outgoing Payments` tabs of **bank** journals.
- Some countries require specific modules to print checks; such modules may be installed by
default. For instance, the :guilabel:`U.S. Checks Layout` module is required to print U.S.
checks.
Compatible check stationery for printing checks
===============================================
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 6.7 KiB

@@ -7,9 +7,8 @@ Reporting
Main reports available
======================
Besides the reports created specifically in each localisation module, a
few very useful **generic** and **dynamic reports** are available for all
countries :
Odoo includes **generic** and **dynamic** reports available for all countries, regardless of the
:doc:`localization package <../../finance/fiscal_localizations>` installed:
- **Balance Sheet**
- **Profit and Loss**
@@ -19,136 +18,136 @@ countries :
- **Aged Receivable**
- **Cash Flow Statement**
- **Tax Report**
- **Bank Reconciliation**
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.).
Reports can be **annotated, printed, and drilled down** to see details (payments, invoices,
journal items, etc.) by clicking the **down** arrow. Reports can also be exported to **PDF** or
**XLSX** format by clicking :guilabel:`PDF` or :guilabel:`XLSX` at the top of the page.
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.
.. image:: reporting/reporting-annotate.png
:alt: Annotate reports.
You can compare values across periods by using the :guilabel:`Comparison` menu and selecting the
periods you want to compare.
.. image:: reporting/reporting-comparison.png
:alt: Comparison menu to compare time periods.
.. _reporting/balance-sheet:
Balance Sheet
-------------
The **Balance Sheet** shows a snapshot of the assets, liabilities and equity
of your organisation as at a particular date.
The **Balance Sheet** shows a snapshot of your organization's assets, liabilities, and equity at a
particular date.
.. image:: reporting/main_reports09.png
.. image:: reporting/reporting-balance-sheet.png
:alt: Balance sheet report of Odoo.
.. _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.
The **Profit and Loss** report (or **Income Statement**) shows your company's net income by
deducting expenses from revenue for the reporting period.
.. image:: reporting/main_reports10.png
.. image:: reporting/reporting-profit-and-loss.png
:alt: Profit and Loss report of Odoo
.. _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 **Executive Summary** allows a quick look at all the important figures to run your company.
In very basic terms, this is what each of the items in this section is
reporting :
In basic terms, this is what each item in the following section reports:
- **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).
The contribution of all sales made by your business **minus** any direct costs needed to
make those sales (labor, 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.
The contribution of all sales made by your business **minus** any direct costs needed to
make those sales *and* fixed overheads your company has (electricity, rent, taxes
to be paid as a result of those sales, etc.).
- **Return on investment (per annum):**
The ratio of net profit made to the amount of assets the company used to make those profits.
- **Position:**
- **Average 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.
- **Average debtors days:**
The average number of days it takes your customers to (fully) pay you across all your
customer invoices.
- **Average creditors days:**
The average number of days it takes you to (fully) pay your suppliers across all your bills.
- **Short-term cash forecast:**
How much cash is expected in or out of your business in the next month, i.e., the balance of
your **Sales account** for the month **minus** the balance of your **Purchases account** for
the month.
- **Current assets to liabilities:**
Also referred to as **current ratio**, this is the ratio
of current assets (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.
Also referred to as **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
.. image:: reporting/reporting-executive-summary.png
:alt: Executive summary report in Odoo.
.. _reporting/general-ledger:
General Ledger
--------------
The **General Ledger Report** shows all transactions from all accounts for a
chosen date range. The initial summary report shows 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 **General Ledger Report** shows all transactions from all accounts for a chosen date range. The
initial summary report shows each account's totals; from here, you can view a detailed transaction
report or any exceptions. This report helps check every transaction that occurred during a specific
period.
.. image:: reporting/main_reports05.png
.. image:: reporting/reporting-general-ledger.png
:alt: General Ledger report in Odoo.
.. _reporting/aged-payable:
Aged Payable
------------
Run the **Aged Payable Details** report to display information on individual
bills, credit notes and overpayments owed by you, and how long these
have gone unpaid.
Run the **Aged Payable Details** report to display information on individual bills, credit notes,
and overpayments you owe and how long these have gone unpaid.
.. image:: reporting/main_reports02.png
.. image:: reporting/reporting-aged-payable.png
:alt: Aged Payable report in Odoo.
.. _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 **Aged Receivables** report shows the sales invoices awaiting payment during a selected month
and several months prior.
.. image:: reporting/main_reports07.png
.. image:: reporting/reporting-aged-receivable.png
:alt: Aged Receivable report in Odoo.
.. _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 **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
.. image:: reporting/reporting-cash-flow-statement.png
:alt: Cash Flow Statement report in Odoo.
.. _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).
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
.. image:: reporting/reporting-tax-report.png
:alt: Tax report in Odoo.
.. toctree::
:titlesonly:
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: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 60 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

+2 -3
View File
@@ -40,9 +40,8 @@ drop-down menu (most products will be set to :guilabel:`Units`).
The *Sales* app is where specification on the units of measure are created and edited (e.g.
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 view, create, and edit the units of measure. Refer
to :doc:`this document </applications/inventory_and_mrp/inventory/management/products/uom>` to
learn more about units of measure and how to configure them.
: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>`.
.. image:: expenses/new-expense-product.png
:align: center
@@ -175,7 +175,7 @@ Make sure your products are correctly configured so your e-invoices are valid:
- :guilabel:`Product Type`: storable products, consumables, or services.
- :guilabel:`Unit of Measure`: if you also use Odoo Inventory and have enabled :doc:`Units of
Measure </applications/inventory_and_mrp/inventory/management/products/uom>`.
Measure <../../inventory_and_mrp/inventory/product_management/product_replenishment/uom>`.
- :guilabel:`Barcode`: **GS1** or **EGS** barcode
- :guilabel:`ETA Item code` (under the :menuselection:`Accounting` tab): if the barcode doesn't
match your ETA item code.
File diff suppressed because it is too large Load Diff
Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 47 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

After

Width:  |  Height:  |  Size: 36 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

After

Width:  |  Height:  |  Size: 30 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 53 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

After

Width:  |  Height:  |  Size: 10 KiB

@@ -21,6 +21,9 @@ Configuration on Mercado Pago Dashboard
If you are trying Mercado Pago as a test, select :guilabel:`Credienciales de prueba` in the left
part of the application page, then copy the test :guilabel:`Access token`.
.. image:: mercado_pago/mp-credentials.png
:alt: Production and testing credentials in Mercado Pago.
.. _payment_providers/mercado_pago/configure_odoo:
Configuration on Odoo
@@ -29,8 +32,9 @@ Configuration on Odoo
#. :ref:`Navigate to the payment provider Mercado Pago <payment_providers/add_new>` and change its
state to :guilabel:`Enabled`.
#. In the :guilabel:`Credentials` tab, fill in the :guilabel:`Access Token` with the value you saved
at the step :ref:`payment_providers/mercado_pago/configure_dashboard`.
at the :ref:`payment_providers/mercado_pago/configure_dashboard` step.
#. Configure the rest of the options to your liking.
.. seealso::
:doc:`../payment_providers`
- :doc:`../payment_providers`
- `Mercado Pago Odoo webinar <https://www.youtube.com/watch?v=CX8vPHMb1ic>`_
Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

+1 -1
View File
@@ -16,4 +16,4 @@ can be applied. Users and access rights can be added and changed at any point.
users/access_rights
users/companies
users/portal
users/delete_account
users/odoo_account
@@ -1,21 +0,0 @@
============================
Deleting an Odoo.com Account
============================
To delete your Odoo.com account, access the delete option by clicking on the user icon. The delete
option can be accessed by going to :menuselection:`My Account --> Edit Security Settings --> Delete
Account`. It can also be accessed by going to https://www.odoo.com/my/home.
.. danger::
Deleting an Odoo account is irreversible. Take caution when performing this action as the
Odoo.com account will not be retrievable.
Upon clicking the :guilabel:`Delete Account` button, a pop-up window will appear, asking you to
confirm the account deletion.
.. image:: delete_account/delete-account.png
:align: center
:alt: Clicking on the Delete Account button will populate a window verifying the change.
Confirm the deletion by entering the :guilabel:`password` and the :guilabel:`login` for the account
being deleted. Click the :guilabel:`Delete Account` button to confirm the deletion.
@@ -0,0 +1,78 @@
========================
Odoo.com account changes
========================
This documentation is dedicated to edits made to an Odoo.com account. The following processes
describe how to delete an Odoo.com account, and how to change the password on an Odoo.com account.
Delete Odoo.com account
=======================
To delete an Odoo.com account, start by clicking the profile icon in the upper-right corner
(represented by the username and icon) to reveal a drop-down menu. From the drop-down menu, select
:guilabel:`My Odoo.com account`, which reveals the user portal.
From the user portal, the delete option can be accessed by going to :menuselection:`My Account -->
Edit Security Settings --> Delete Account`. It can also be accessed by going to
`https://www.odoo.com/my/home <https://www.odoo.com/my/home>`_.
.. danger::
Deleting an Odoo account is irreversible. Be careful performing this action, as the Odoo.com
account is **not** retrievable once deleted.
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
confirmation for the account deletion.
.. image:: odoo_account/delete-account.png
:align: center
:alt: Clicking on the Delete Account button will populate a window verifying the change.
To confirm the deletion, enter the :guilabel:`Password` and the :guilabel:`Login` for the account
being deleted. Then, click the :guilabel:`Delete Account` button to confirm the deletion.
Odoo.com account password change
================================
To change an Odoo.com account password, first login into the Odoo.com user account from the Odoo.com
login page. After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼
(down arrow)` icon next to the profile icon. Then, select :guilabel:`My Account`, and a portal
dashboard appears.
To change the Odoo.com password, click on the :guilabel:`Edit Security Settings` link, below the
:menuselection:`Account Security` section. Next, make the necessary changes by typing in the current
:guilabel:`Password`, :guilabel:`New Password`, and verify the new password. Lastly, click on
:guilabel:`Change Password` to complete the password change.
.. note::
If a customer would like to change the login, contact Odoo support `here
<https://www.odoo.com/help>`_.
.. note::
Passwords for Odoo.com users and portal users remain separate, even if the same email address is
used.
Add two-factor authentication
=============================
To add two-factor authentication, login into the Odoo.com user account from the Odoo.com login page.
After logging-in, go to the upper-right corner of the screen, and click the :guilabel:`▼ (down
arrow)` icon next to the :guilabel:`profile icon`. Then, select :guilabel:`My Account`, and a portal
dashboard appears.
If the user would like to turn on two-factor authentication (2FA) for Odoo.com access, click on the
:guilabel:`Edit Security Settings` link below the :menuselection:`Account Security` section.
Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor
authentication)`. Then, confirm the current password in the :guilabel:`Password` field. Next, click
on :guilabel:`Confirm Password`. Following that, activate :abbr:`2FA (two-factor authentication)` in
a :abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the
:guilabel:`QR code` or entering a :guilabel:`Verification Code`.
Finally, click on :guilabel:`Enable two-factor authentication` to complete the setup.
.. note::
Under :guilabel:`My Account` Odoo.com users can also access the following:
- :guilabel:`My Partner dashboard`
- :guilabel:`My In-App Services`
- :guilabel:`My Apps Dashboard`

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 18 KiB

+111 -9
View File
@@ -2,11 +2,13 @@
Portal access
=============
Portal access is given to users who need the ability to view certain documents or information
within an Odoo database.
.. _portal/main:
Some common use cases for providing portal access include allowing customers to read/view any or
all of the following in Odoo:
Portal access is given to users who need the ability to view certain documents or information within
an Odoo database.
Some common use cases for providing portal access include allowing customers to read/view any or all
of the following in Odoo:
- leads/opportunities
- quotations/sales orders
@@ -26,14 +28,14 @@ all of the following in Odoo:
Provide portal access to customers
==================================
From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact is not
yet created in the database, click on the :guilabel:`Create` button, enter the details of the
contact, and then click :guilabel:`Save`. Otherwise, choose an existing contact, and then click on
the :guilabel:`Action` drop-down menu located at the top-center of the interface.
From the main Odoo dashboard, select the :guilabel:`Contacts` application. If the contact is not yet
created in the database, click on the :guilabel:`Create` button, enter the details of the contact,
and then click :guilabel:`Save`. Otherwise, choose an existing contact, and then click on the
:guilabel:`Action` drop-down menu located at the top-center of the interface.
.. image:: portal/grant-portal-access.png
:align: center
:alt: Use the Contacts application to give portal access to users
:alt: Use the Contacts application to give portal access to users.
Then select :guilabel:`Grant portal access`. A pop-up window appears, listing three fields:
@@ -63,3 +65,103 @@ user for that Odoo database.
At any time, portal access can be revoked by navigating to the contact, clicking
:menuselection:`Action --> Grant portal access`, and then unselecting the checkbox under the
:guilabel:`In Portal` column and clicking :guilabel:`Apply`.
.. _portal/login:
Change portal username
======================
There may be times when a portal user wants to change their user login. This can be done by any user
in the database with administrator access rights. The following process outlines the necessary steps
to change the portal user login.
.. seealso::
:doc:`See the documentation on setting access rights
</applications/general/users/access_rights>`.
First, navigate to :menuselection:`Settings app --> Users`. Then, under :guilabel:`Filters`, select
:guilabel:`Portal Users`, or select :guilabel:`Add Custom Filter` and set the following
configuration :guilabel:`Groups` > :guilabel:`contains` > `portal`. After making this selection,
search for (and open) the portal user that needs to be edited.
Next, click :guilabel:`Edit` (if necessary), click into the :guilabel:`Email Address` field, and
proceed to make any necessary changes to this field. The :guilabel:`Email Address` field is used to
log into the Odoo portal.
.. note::
Changing the :guilabel:`Email Address` (or login) only changes the *username* on the customer's
portal login.
In order to change the contact email, this change needs to take place on the contact template in
the *Contacts* app. Alternatively, the customer can change their email directly from the portal,
but the login **cannot** be changed. :ref:`See change customer info <portal/custinfo>`.
Customer portal changes
=======================
There may be times when the customer would like to make changes to their contact information,
password/security, or payment information attached to the portal account. This can be performed by
the customer from their portal. The following process is how a customer can change their contact
information.
.. _portal/custinfo:
Change customer info
--------------------
First enter the username and password (login) into the database login page to access the portal user
account. A portal dashboard will appear upon successfully logging in. Portal documents from the
various installed Odoo applications will appear with the number count of each.
.. seealso::
:ref:`Portal access documentation <portal/main>`.
Next, navigate to the upper-right corner of the portal, and click the :guilabel:`Edit` button, next
to the :guilabel:`Details` section. Then, change the pertinent information, and click
:guilabel:`Confirm`.
Change password
---------------
First enter the username and password (login) into the database login page to access the portal user
account. A portal dashboard will appear upon successfully logging in.
If the customer would like to change their password for portal access, click on the :guilabel:`Edit
Security Settings` link, below the :guilabel:`Account Security` section. Then, make the necessary
changes, by typing in the current :guilabel:`Password`, :guilabel:`New Password`, and verify the new
password. Lastly, click on :guilabel:`Change Password` to complete the password change.
.. note::
If a customer would like to change the login, as documented above, contact the Odoo database
point-of-contact. :ref:`See above documentation on changing the portal username <portal/login>`.
.. note::
Passwords for portal users and Odoo.com users remain separate, even if the same email address is
used.
Add two-factor authentication
-----------------------------
First enter the username and password (login) into the database login page to access the portal user
account. A portal dashboard will appear upon successfully logging in.
If the customer would like to turn on two-factor authentication (2FA) for portal access, click on
the :guilabel:`Edit Security Settings` link, below the :guilabel:`Account Security` section.
Click on :guilabel:`Enable two-factor authentication` to turn on :abbr:`2FA (two-factor
authentication)`. Confirm the current portal password in the :guilabel:`Password` field. Then, click
on :guilabel:`Confirm Password`. Next, activate :abbr:`2FA (two-factor authentication)` in a
:abbr:`2FA (two-factor authentication)` app (Google Authenticator, Authy, etc.), by scanning the
:guilabel:`QR code` or entering a :guilabel:`Verification Code`.
Finally, click :guilabel:`Enable two-factor authentication` to complete the setup.
Change payment info
-------------------
First enter the username and password (login) into the database login page to access the portal user
account. A portal dashboard will appear upon successfully logging in.
If the customer would like to manage payment options, navigate to the :guilabel:`Manage payment
methods` in the menu on the right. Then, add the new payment information, and select :guilabel:`Add
new card`.
Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

+2
View File
@@ -8,5 +8,7 @@ Human resources
hr/attendances
hr/employees
hr/fleet
hr/payroll
hr/recruitment
hr/referrals
+245 -170
View File
@@ -1,15 +1,14 @@
==================
Add a new employee
==================
=====================
Create a new employee
=====================
When a new employee is hired, the first step is to create a new employee form. Starting in the
:menuselection:`Employees` app dashboard, click the :guilabel:`Create` button to create a new
employee form. Fill out the required information (underlined in bold) and any additional details,
then click :guilabel:`Save`.
When a new employee is hired, the first step is to create a new employee record. Starting in the
:menuselection:`Employees` app dashboard, click the :guilabel:`New` button and a new employee form
appears. Fill out the required information and any additional details.
.. image:: new_employee/new-employee-form.png
:align: center
:alt: Create a new employee card.
:alt: Create a new employee form with all fields filled out.
.. note::
The current company phone number and name is populated in the :guilabel:`Work Phone` and
@@ -18,6 +17,9 @@ then click :guilabel:`Save`.
General information
===================
The employee form automatically saves as data is entered, but the save manually icon (a could with
an up arrow inside it) may be clicked at any time to manually save the form.
Required fields
---------------
@@ -27,22 +29,50 @@ Required fields
.. image:: new_employee/employee-new.png
:align: center
:alt: Create a new employee card.
:alt: A new employee form with the required fields highlighted.
Optional fields
---------------
- :guilabel:`Photo`: In the top right image box of the employee card, click on the :guilabel:`✏️
- :guilabel:`Photo`: In the top right image box of the employee form, click on the :guilabel:`✏️
(pencil)` edit icon to select a photo to upload.
- :guilabel:`Job Position`: Enter the employee's job position title.
- :guilabel:`Job Position`: Enter the employee's job position title under their name, or select the
job position from the :guilabel:`Job Position` drop-down menu to have this field auto-populate.
The :guilabel:`Job Position` field under the employee name can be modified and does not need to
match the selection made in the :guilabel:`Job Position` drop-down.
.. example::
It is recommended to have the job positions match, but if desired, the typed-in description in
this field can contain more information than the selected drop-down job position.
An example where this may be applicable is if someone is hired for a sales representative
position configured as :guilabel:`Sales Representative` in the *Recruitment* app, and that is
selected for the drop-down :guilabel:`Job Position` field.
In the typed in job position field beneath the employee's name, the position could be more
specific, such as `Sales Representative - Subscriptions` if the employee is focused solely on
subscription sales.
.. image:: new_employee/job-description-fields.png
:align: center
:alt: Both job position fields entered but with different information.
- Tags: Click on a tag in the drop-down menu to add any tags applicable to the employee. Any tag can
be created in this field by typing it in. Once created, the new tag is available for all employee
cards. There is no limit to the amount of tags that can be added.
- Work Contact Information: Enter the employees :guilabel:`Work Mobile`, :guilabel:`Work Phone`,
records. There is no limit to the amount of tags that can be added.
- Work Contact Information: Enter the employee's :guilabel:`Work Mobile`, :guilabel:`Work Phone`,
:guilabel:`Work Email`, and/or :guilabel:`Company` name.
- :guilabel:`Department`: Select the employee's department from the drop-down menu.
- :guilabel:`Job Position`: Select the employee's job position from the drop-down menu. Once a
selection is made, the :guilabel:`Job Position` field beneath the employee's name automatically
updates to reflect the currently selected job position. These positions are from the
:doc:`Recruitment <../../hr/recruitment/new_job/>` application, and reflect the currently \
configured job positions.
- :guilabel:`Manager`: Select the employee's manager from the drop-down menu.
- :guilabel:`Coach`: Select the employee's coach from the drop-down menu.
- :guilabel:`Next Appraisal Date`: This date automatically populates with a date that is computed
according to the settings configured in the *Appraisals* application. This date can be modified
using the calendar selector.
.. note::
After a :guilabel:`Manager` is selected, if the :guilabel:`Coach` field is blank, the selected
@@ -50,8 +80,8 @@ Optional fields
.. tip::
To make edits to the selected :guilabel:`Department`, :guilabel:`Manager`, :guilabel:`Coach`, or
:guilabel:`Company`, click the :guilabel:`External Link` button next to the respective selection.
The :guilabel:`External Link` button opens the selected form, allowing for modifications. Click
:guilabel:`Company`, click the :guilabel:`Internal Link` arrow next to the respective selection.
The :guilabel:`Internal Link` arrow opens the selected form, allowing for modifications. Click
:guilabel:`Save` after any edits are made.
Additional information tabs
@@ -64,17 +94,20 @@ Resumé
~~~~~~
Next, enter the employee's work history in the :guilabel:`Resumé` tab. Each resumé line must be
entered individually. Click :guilabel:`Create a New Entry`, and the :guilabel:`Create Resumé lines`
form appears. Enter the following information for each entry.
entered individually. When creating an entry for the first time, click :guilabel:`Create a new
entry`, and the :guilabel:`Create Resumé lines` form appears. After an entry is added, the
:guilabel:`Create a new entry` button is replaced with an :guilabel:`Add` button. Enter the
following information for each entry.
.. image:: new_employee/resume-lines.png
:align: center
:alt: Add information for the previous work experience in this form.
:alt: A resumé entry form with all the information populated.
- :guilabel:`Title`: Type in the title of the previous work experience.
- :guilabel:`Type`: From the drop-down menu, select either :guilabel:`Experience`,
:guilabel:`Education`, :guilabel:`Internal Certification`, :guilabel:`Internal Training`, or type
in a new entry.
:guilabel:`Education`, :guilabel:`Side Projects`, :guilabel:`Internal Certification`,
:guilabel:`Completed Internal Training`, or type in a new entry, then click :guilabel:`Create
"(new entry)"`.
- :guilabel:`Display Type`: Select either :guilabel:`Classic`, :guilabel:`Certification`, or
:guilabel:`Course` from the drop-down menu.
- :guilabel:`Date Start` and :guilabel:`Date End`: Enter the start and end dates for the work
@@ -88,35 +121,37 @@ another resumé line.
.. note::
After the new employee form is saved, the current position and company is automatically added to
the :guilabel:`Resumé` tab as :guilabel:`Experience`, with the end date listed as
:guilabel:`Current`.
the :guilabel:`Resumé` tab, with the end date listed as *current*.
Skills
~~~~~~
An employee's skills can be entered in the :guilabel:`Resumé` tab in the same manner a resumé line
is created. Click the :guilabel:`Create a New Entry` button under :guilabel:`Skills` and a
:guilabel:`Create Skills` form appears. Fill in the information on the form.
An employee's skills can be entered in the :guilabel:`Resumé` tab in the same manner that a resumé
line is created. When creating a skill for the first time, click the :guilabel:`Create a new entry`
button under :guilabel:`Skills` and a :guilabel:`Create Skills` form appears. After a skill is
added, the :guilabel:`Create a new entry` button is replaced with an :guilabel:`Add` button. Enter
the following information for each skill.
.. image:: new_employee/create-skills.png
:align: center
:alt: Create a new skill for the employee.
:alt: A skill form with the information filled out.
- :guilabel:`Skill Type`: Select a :ref:`skill type <employees/skill-types>` by clicking the radio
button next to the skill type.
- :guilabel:`Skill`: The corresponding skills associated with the selected :guilabel:`Skill Type`
appear in a drop-down menu. For example, selecting :guilabel:`Language` as the :guilabel:`Skill
Type` presents a variety of languages to select from under the :guilabel:`Skills` field. Select
the appropriate pre-configured skill, or type in a new one.
- :guilabel:`Skill`: After selecting a :guilabel:`Skill Type`, the corresponding skills associated
with that selected :guilabel:`Skill Type` appear in a drop-down menu. For example, selecting
:guilabel:`Language` as the :guilabel:`Skill Type` presents a variety of languages to select from
under the :guilabel:`Skills` field. Select the appropriate pre-configured skill, or type in a new
skill, then click :guilabel:`Create "(new skill)"`.
- :guilabel:`Skill Level`: Pre-defined skill levels associated with the selected :guilabel:`Skill
Type` appear in a drop-down menu. Select a skill level, then the progress bar automatically
displays the pre-defined progress for that skill level. Skill levels and progress can be modified
in the :guilabel:`Skill Level` pop-up form, which is accessed via the :guilabel:`External Link`
button next to :guilabel:`Skill Level` field.
Type` appear in a drop-down menu. First, select a :guilabel:`Skill Level`, then the progress bar
automatically displays the pre-defined progress for that specific skill level. Skill levels and
progress can be modified in the :guilabel:`Skill Level` pop-up form, which is accessed via the
:guilabel:`Internal Link` arrow next to :guilabel:`Skill Level` field.
Once all the information is entered, click the :guilabel:`Save & Close` button if there is only one
entry to add, or click the :guilabel:`Save & New` button to save the current entry and create
another skill.
skill to add, or click the :guilabel:`Save & New` button to save the current entry and immediately
create a new entry.
To delete any line from the :guilabel:`Resumé` tab, click the :guilabel:`🗑️ (trash can)` icon to
delete the entry. Add a new line by clicking the :guilabel:`Add` button next to the corresponding
@@ -124,74 +159,108 @@ section.
.. _employees/skill-types:
Skill types
Skill Types
***********
In order to add a skill to an employee's form, the :guilabel:`Skill Types` must be configured. Go to
:menuselection:`Employees app --> Configuration --> Skill Types` to view the currently configured
skill types and create new skill types. Click :guilabel:`Create` and a new :guilabel:`Skill Type`
form appears. Fill out all the details and then click :guilabel:`Save`. Repeat this for all the
skill types needed.
:menuselection:`Employees app --> Configuration --> Employee: Skill Types` to view the currently
configured skill types and create new skill types. Click :guilabel:`New` and a new :guilabel:`Skill
Type` form appears. Fill out all the details for the new skill type. Repeat this for all the skill
types needed.
- :guilabel:`Skill Type`: Enter the name of the skill type. This should be somewhat generic, since
the specific skills listed will be housed under this category.
- :guilabel:`Skills`: Click :guilabel:`Add a line` and enter the information for the new skill, then
repeat for all other needed skills.
- :guilabel:`Skill Type`: Enter the name of the skill type. This will act as the parent category
for more specific skills and should be generic.
- :guilabel:`Skills`: Click :guilabel:`Add a line` and enter the name for the new skill, then repeat
for all other needed skills.
- :guilabel:`Levels`: Click :guilabel:`Add a line` and a :guilabel:`Create Levels` form appears.
Enter the name of the level, and assign a percentage (0-100) for that level. Click :guilabel:`Save
& New` to save the entry and add another level, or click :guilabel:`Save & Close` to save the
level and close the form.
Enter the name of the level, and assign a number for the :guilabel:`Progress` percentage (0-100)
for that level. Click :guilabel:`Save & New` to save the entry and add another level, or click
:guilabel:`Save & Close` to save the level and close the form. Once all the levels are entered,
click the :guilabel:`Save manually` icon at the top of the screen. Next, select a default level
for this skill type. Click :guilabel:`Set Default` on the line to be the default value. This is
typically the lowest level, but any level can be set as the default. A check mark appears in the
:guilabel:`Default Level` column, indicating which level is the default.
.. example::
To add a math skill set, enter `Math` in the :guilabel:`Name` field. Next, in the
:guilabel:`Skills` field, enter `Algebra`, `Calculus`, and `Trigonometry`. Last, in the
:guilabel:`Levels` field enter `Beginner`, `Intermediate`, and `Expert`, with the
:guilabel:`Progress` listed as `25`, `50`, and `100`, respectively. Then, either click
:guilabel:`Save & Close` or :guilabel:`Save & New`.
:guilabel:`Progress` listed as `25`, `50`, and `100`, respectively. Then, click :guilabel:`Save
& Close`, then click the :guilabel:`Save manually` icon at the top. Last, click :guilabel:`Set
Default` on the `Beginner` line to set this as the default skill level.
.. image:: new_employee/math-skills.png
:align: center
:alt: Add new math skills and levels with the skill types form.
.. image:: new_employee/math-skills.png
:align: center
:alt: A skill form for a Math skill type, with all the information entered.
Work information tab
Work Information tab
--------------------
The :guilabel:`Work Information` tab is where the employee's specific job related information is
housed. Their working schedule, various roles, who approves their specific requests (time off,
timesheets, and expenses), and specific work location details are listed here. Enter the following
information for the new employee.
The Work Information tab is where the employee's specific job related information is housed. Their
working schedule, various roles, who approves their specific requests (time off, timesheets, and
expenses), and specific work location details are listed here. Click on the :guilabel:`Work
Information` tab to access this section, and enter the following information for the new employee.
- :guilabel:`Location`: Select the :guilabel:`Work Address` and :guilabel:`Work Location` from the
corresponding drop-down menus. The work address :guilabel:`External Link` button opens up the
selected company form in a window, and allows for editing. The :guilabel:`Work Location` is the
specific location details, such as a floor or building. If a new work location is needed, add the
location by typing it in the field.
- :guilabel:`Approvers`: Using the drop-down menus, select the users responsible for approving
:guilabel:`Time Off`, :guilabel:`Expenses`, and :guilabel:`Timesheets` for the employee. The
:guilabel:`External Link` button opens a form with the approver's :guilabel:`Name`,
:guilabel:`Email Address`, :guilabel:`Company`, :guilabel:`Phone`, and :guilabel:`Mobile` fields.
These can be modified, if needed. Click :guilabel:`Save` after making any edits.
- :guilabel:`Schedule`: Select the :guilabel:`Working Hours` and :guilabel:`Timezone` (both
required) for the employee. The :guilabel:`External Link` button opens up a detailed view of the
specific daily working hours. Working hours can be modified or deleted here. Click
:guilabel:`Save` to save any changes.
- :guilabel:`Planning`: The :guilabel:`Planning` section affects the *Planning* app, and will only
appear if the *Planning* app is installed. Click on a planning role from the drop-down menu for
both the :guilabel:`Default Planning Role` and the :guilabel:`Planning Roles` fields to add a
role. There is no limit to the amount of :guilabel:`Planning Roles` that can be selected for an
employee, but there can only be one :guilabel:`Default Planning Role`. The default is the
*typical* role that the employee performs, where the :guilabel:`Planning Roles` are *all* the
specific roles the employee is able to perform.
- :guilabel:`Location`: Select the :guilabel:`Work Address` from the drop-down menu. To modify the
address, hover over the first line (if there are multiple lines) of the address to reveal an
:guilabel:`Internal Link` arrow. Click the :guilabel:`Internal Link` arrow to open up the company
form, and make any edits. Use the breadcrumb menu to navigate back to the new employee form when
done. If a new work address is needed, add the address by typing it in the field, then click
:guilabel:`Create (new address)` to add the address, or :guilabel:`Create and edit...` to add the
new address and edit the address form.
- :guilabel:`Approvers`: In order to see this section, the user must have either
:guilabel:`Administrator` or :guilabel:`Officer: Manage all employees` rights set for the
:guilabel:`Employees` application. Using the drop-down menus, select the users responsible for
approving :guilabel:`Expenses`, :guilabel:`Time Off`, and :guilabel:`Timesheets` for the employee.
Hover over any of the selections to reveal the :guilabel:`Internal Link` arrow. Click the
:guilabel:`Internal Link` arrow to open a form with the approver's :guilabel:`Name`,
:guilabel:`Email Address`, :guilabel:`Company`, :guilabel:`Phone`, :guilabel:`Mobile`, and
:guilabel:`Default Warehouse` fields. These can be modified, if needed. Use the breadcrumb menu to
navigate back to the new employee form when done.
- :guilabel:`Homeworking`: Using the drop-down menu, select the specific location the employee will
work from, for each day of the week. The default options are :guilabel:`Home`, :guilabel:`Office`,
or :guilabel:`Other`. A new location can be typed into the field, then click either
:guilabel:`Create (new location)` to add the location, or :guilabel:`Create and edit...` to add
the new location and edit the form. After edits are done, click :guilabel:`Save & Close`, and the
new location is added, and populates the field. For days the employee does not work, for example,
Saturday and Sunday, leave the field blank (:guilabel:`Unspecified`).
.. image:: new_employee/work-info.png
:align: center
:alt: Add the work information to the Work Information tab.
.. note::
It is also possible to add or modify work locations by navigating to :menuselection:`Employees
app --> Configuration --> Employee: Work Locations`. Click :guilabel:`New` to create a new
location, then enter the details on the form. To modify a location, click on an existing
location, then make any changes on the form.
- :guilabel:`Schedule`: Select the :guilabel:`Working Hours` and :guilabel:`Timezone` for the
employee. The :guilabel:`Internal Link` arrow opens up a detailed view of the specific daily
working hours. Working hours can be modified or deleted here.
.. note::
Working hours can also be modified in the *Payroll* application, where they are referred to as
:guilabel:`Working Schedules`. For more information on how to create or modify
:guilabel:`Working Schedules` in Payroll, refer to the :doc:`../../hr/payroll` documentation.
- :guilabel:`Planning`: Click on a role from the drop-down menu for both the :guilabel:`Roles` and
the :guilabel:`Default Role` fields to add a role. There is no limit to the amount of
:guilabel:`Roles` that can be selected for an employee, but there can only be one
:guilabel:`Default Role`. The default role is the *typical* role that the employee performs, where
the :guilabel:`Roles` are *all* the specific roles the employee is able to perform. The
:guilabel:`Default Role` must be selected as a :guilabel:`Role`, if not, when the
:guilabel:`Default Role` is selected, that role is automatically added to the list of
:guilabel:`Roles`.
.. tip::
The :guilabel:`Planning` section affects the *Planning* app, and will only appear if the
*Planning* app is installed. When planning work in the *Planning* app, employees can only be
scheduled for specific work that corresponds to their selected roles. For example, only an
employee with a *Functional Tester* role can be assigned to perform any activity that requires a
*Functional Tester*.
.. important::
The users that appear in the drop-down menu for the :guilabel:`Approvers` section must have
*Administrator* rights set for the corresponding human resources role. To check who has these
rights, go to :menuselection:`Settings app --> Users --> Manage Users`. Click on an employee, and
check the :guilabel:`Human Resources` section of the :guilabel:`Access Rights` tab.
rights, go to :menuselection:`Settings app --> Users --> Manage Users`. Click on an employee,
and check the :guilabel:`Human Resources` section of the :guilabel:`Access Rights` tab.
- In order for the user to appear as an approver for :guilabel:`Expenses`, they must have either
:guilabel:`Team Approver`, :guilabel:`All Approver`, or :guilabel:`Administrator` set for the
@@ -214,125 +283,131 @@ information for the new employee.
go to the :menuselection:`Payroll app --> Configuration --> Working Times`, and add a new working
time or edit an existing one.
After the new working time is created, set the working hours for the employee.
After the new working time is created, or an existing one is modified, select the employee's
working hours using the drop-down menu in the :guilabel:`Schedule` section of the
:guilabel:`Work Information` tab.
Private information tab
Private Information tab
-----------------------
No information in the :guilabel:`Private Information` tab is required, however, some information in
this section may be critical for the company's payroll department. In order to properly process
payslips and ensure all deductions are accounted for, the employee's personal information should be
entered.
No information in the :guilabel:`Private Information` tab is required to create an employee,
however, some information in this section may be critical for the company's payroll department. In
order to properly process payslips and ensure all deductions are accounted for, the employee's
personal information should be entered.
Here, the employee's :guilabel:`Private Contact`, :guilabel:`Marital Status`, :guilabel:`Emergency
Contact`, :guilabel:`Education`, :guilabel:`Citizenship`, :guilabel:`Dependant`, and :guilabel:`Work
Permit` information is entered. Fields are entered either using a drop-down menu, clicking a check
box, or typing in the information.
Here, the employee's :guilabel:`Private Contact`, :guilabel:`Education`, :guilabel:`Work Permit`,
:guilabel:`Family Status`, :guilabel:`Emergency` contact, and :guilabel:`Citizenship` information is
entered. Fields are entered either using a drop-down menu, activating a check box, or typing in the
information.
- :guilabel:`Private Contact`: Enter the personal :guilabel:`Address` for the employee. The
selection can be made with the drop-down menu. If the information is not available, type in the
name for the new address. To edit the new address, click the :guilabel:`External Link` button to
open the address form. On the address form, enter the necessary details, then click
:guilabel:`Save`
name for the new address. To edit the new address, click the :guilabel:`Internal Link` arrow to
open the address form. On the address form, enter or edit the necessary details. Some other
information in the :guilabel:`Private Contact` section may auto-populate, if the address is
already listed in the drop-down menu.
Some other information in the :guilabel:`Private Contact` section may auto-populate, if the
address is already listed in the drop-down menu.
Enter the employee's :guilabel:`Email` address and :guilabel:`Phone` number in the respective
fields. Next, enter the employee's :guilabel:`Bank Account Number` using the drop-down menu. If
the bank is not already configured (the typical situation when creating a new employee) enter the
bank account number, and click :guilabel:`Create and edit..`. A :guilabel:`Create Bank Account
Number` form loads. Fill in the information, then click :guilabel:`Save & Close`.
Next, enter the employee's :guilabel:`Email` address and :guilabel:`Phone` number in the
corresponding fields.
Select the employee's preferred :guilabel:`Language` from the drop-down menu.
Enter the employee's :guilabel:`Bank Account Number` using the drop-down menu. If the bank is not
already configured (the typical situation when creating a new employee) enter the bank account
number, and click :guilabel:`Create and Edit`. A :guilabel:`Create: Bank Account Number` for
appears. Fill in the information, then click :guilabel:`Save`.
Finally, enter the :guilabel:`Home-Work Distance` in the field. This field is only necessary if
the employee is receiving any type of commuter benefits.
- :guilabel:`Marital Status`: Select either :guilabel:`Single`, :guilabel:`Married`,
:guilabel:`Legal Cohabitant`, :guilabel:`Widower`, or :guilabel:`Divorced` from the drop-down
menu.
- :guilabel:`Emergency`: Type in the name and phone number of the employee's emergency contact.
Then, select the employee's preferred :guilabel:`Language` from the drop-down menu. Next, enter
the :guilabel:`Home-Work Distance` in the field. This field is only necessary if the employee is
receiving any type of commuter benefits. Lastly, enter the employee's license plate information in
the :guilabel:`Private Car Plate` field.
- :guilabel:`Education`: Select the highest level of education completed by the employee from the
:guilabel:`Certificate Level` drop-down menu. Options include :guilabel:`Graduate`,
:guilabel:`Bachelor`, :guilabel:`Master`, :guilabel:`Doctor`, or :guilabel:`Other`. Type in the
:guilabel:`Field of Study`, and the name of the :guilabel:`School` in the respective fields.
- :guilabel:`Citizenship`: This section houses all the information relevant to the citizenship of
the employee. Some selections use a drop-down menu, as does the :guilabel:`Nationality (Country)`,
:guilabel:`Gender`, and :guilabel:`Country of Birth` sections. The :guilabel:`Date of Birth` uses
a calendar module to select the date. First, click on the name of the month, then the year, to
- :guilabel:`Work Permit`: If the employee has a work permit, enter the information in this section.
Type in the :guilabel:`Visa No` (visa number) and/or :guilabel:`Work Permit No` (work permit
number) in the corresponding fields. Using the calendar selector, select the :guilabel:`Visa
Expire Date` and/or the :guilabel:`Work Permit Expiration Date` to enter the expiration date(s).
If available, upload a digital copy of the work permit document. Click :guilabel:`Upload Your
File`, navigate to the work permit file in the file explorer, and click :guilabel:`Open`.
- :guilabel:`Family Status`: Select the current :guilabel:`Marital Status` using the drop-down menu,
either :guilabel:`Single`, :guilabel:`Married`, :guilabel:`Legal Cohabitant`, :guilabel:`Widower`,
or :guilabel:`Divorced`. If the employee has any dependent children, enter the :guilabel:`Number
of Dependent Children` in the field.
- :guilabel:`Emergency`: Type in the :guilabel:`Contact Name` and :guilabel:`Contact Phone` number
of the employee's emergency contact in the respective fields.
- :guilabel:`Citizenship`: This section contains all the information relevant to the citizenship of
the employee. Some fields use a drop-down menu, as the :guilabel:`Nationality (Country)`,
:guilabel:`Gender`, and :guilabel:`Country of Birth` fields do. The :guilabel:`Date of Birth` uses
a calendar selector to select the date. First, click on the name of the month, then the year, to
access the year ranges. Use the :guilabel:`< (left)` and :guilabel:`> (right)` arrow icons,
navigate to the correct year range, and click on the year. Next, click on the month. Last, click
on the day to select the date. Type in the information for the :guilabel:`Identification No`,
:guilabel:`Passport No`, and :guilabel:`Place of Birth` fields.
- :guilabel:`Dependant`: If the employee has any children, enter the :guilabel:`Number of Children`
in the field.
- :guilabel:`Work Permit`: If the employee has a work permit, enter the information in this section.
Type in the :guilabel:`Visa No` and/or :guilabel:`Work Permit No` in the corresponding fields.
Using the calendar module, select the :guilabel:`Visa Expire Date` and/or the :guilabel:`Work
Permit Expiration Date` to enter the expiration date(s). If available, upload a digital copy of
the work permit document. Click :guilabel:`Upload Your File`, navigate to the work permit file in
the file explorer, and click :guilabel:`Open`.
on the day to select the date. Type in the information for the :guilabel:`Identification No`
(identification number, :guilabel:`Passport No` (passport number), and :guilabel:`Place of Birth`
fields. Last, if the employee is not a resident of the country they are working in, activate the
check box next to the :guilabel:`Non-resident` field.
.. image:: new_employee/private-info.png
:align: center
:alt: Add the private information to the Private Information tab.
.. _employees/hr-settings:
HR settings tab
HR Settings tab
---------------
This tab provides various fields for different information, depending on the country the company is
located. Different fields are configured for different locations, however some sections appear
regardless.
- :guilabel:`Status`: Select an :guilabel:`Employee Type` and, if applicable, a :ref:`Related User
<employees/related-user>`, with the drop-down menus.
- :guilabel:`Payroll`: Select the :guilabel:`Current Contract` and :guilabel:`Job Position` from the
drop-down menus. If applicable, enter the :guilabel:`Registration Number` in this section.
- :guilabel:`Previous Employer`: This section appears only for Belgian companies, and will not be
visible for other locations. These are days that will be paid to the new employee. Enter any
:guilabel:`Simple Holiday Pay to Recover`, :guilabel:`Number of Days to recover`, and
:guilabel:`Recovered Simple Holiday Pay` from a previous employer, for both N and N-1 categories.
- :guilabel:`Previous Occupations`: This section appears ony for Belgian companies, and will not be
visible for other locations. Click :guilabel:`Add a line` to enter information for each previous
occupation. Enter the number of :guilabel:`Months`, the :guilabel:`Amount`, and the
:guilabel:`Occupational Rate` in the corresponding fields. Click the :guilabel:`🗑 (trash can)`
icon to delete a line.
- :guilabel:`Attendance/Point of Sale`: The employee's :guilabel:`Badge ID` and :guilabel:`PIN Code`
can be entered here, if the employee needs/has one. Click :guilabel:`Generate` next to the
:guilabel:`Badge ID` to create a badge ID.
- :guilabel:`Application Settings`: If applicable, enter the :guilabel:`Fleet Mobility Card` number.
Enter the employee's cost per hour in a $XX.XX format. This is factored in when the employee is
working at a :doc:`work center
- :guilabel:`Status`: Select an :guilabel:`Employee Type` and, if applicable, a :guilabel:`Related
User`, with the drop-down menus. The :guilabel:`Employee Type` options include
:guilabel:`Employee`, :guilabel:`Student`, :guilabel:`Trainee`, :guilabel:`Contractor`, or
:guilabel:`Freelancer`.
.. important::
Employees do not also need to be users. *Employees* do **not** count towards the Odoo
subscription billing, while *Users* **do** count towards billing. If the new employee should also
be a user, the user must be created. After the :guilabel:`User` is created and saved, the new
user will appear in the :guilabel:`Related User` field.
After the employee is created, create the user. Click the :guilabel:` (gear)` icon, then click
:guilabel:`Create User`. A :guilabel:`Create User` form appears. Type in the :guilabel:`Name` and
:guilabel:`Email Address`, and then select the :guilabel:`Company` from the drop-down menu. Click
:guilabel:`Save` after the information is entered, and the employee record is automatically
updated with the newly created user populating the :guilabel:`Related User` field.
Users can also be created manually. For more information on how to manually add a user, refer to
the :doc:`../../general/users/manage_users` document.
- :guilabel:`Payroll`: If applicable, enter the :guilabel:`Registration Number of the Employee` in
this section. The :guilabel:`Attestation (N-1)` and :guilabel:`Attestation (N)` sections appear
only for Belgian companies, and will not be visible for other locations. These sections log the
days that will be paid to the new employee. Enter any :guilabel:`Amount to recover`,
:guilabel:`Number of days`, and :guilabel:`Recovered Amount` of :guilabel:`Holiday Attest (year) -
Simple Holiday Pay from previous employer to recover in (year)`, for both N and N-1 categories.
For the :guilabel:`Holiday Attest (year) - Previous occupation for Double Holiday Pay Recovery in
(year)` section, click :guilabel:`Add a line`, and enter the number of :guilabel:`Months`, the
:guilabel:`Amount`, and :guilabel:`Occupation Rate`. Repeat for all entries. Click the
:guilabel:`🗑️ (trash can)` icon to delete a line.
- :guilabel:`SD WORX`: Enter the employee's seven digit :guilabel:`SDWorx code` in this field, if
applicable.
- :guilabel:`Attendance/Point of Sale/Manufacturing`: The employee's :guilabel:`PIN Code` and
:guilabel:`Badge ID` can be entered here, if the employee needs/has one. Click
:guilabel:`Generate` next to the :guilabel:`Badge ID` to create a badge ID. The :guilabel:`PIN
Code` is used to sign in and out of the *Attendance* app kiosk, and a :abbr:`POS (Point Of Sale)`
system.
- :guilabel:`Application Settings`: Enter the employee's :guilabel:`Hourly Cost` in a XX.XX format.
This is factored in when the employee is working at a :doc:`work center
<../../inventory_and_mrp/manufacturing/management/using_work_centers>`. This value affects the
manufacturing costs for a product, if the value of the manufactured product is not a fixed amount.
This value does not affect the *Payroll* application. If applicable, enter the :guilabel:`Fleet
Mobility Card` number.
.. image:: new_employee/hr-settings.png
:align: center
:alt: Enter any information prompted in the HR Settings tab for the employee.
.. _employees/related-user:
.. important::
Employees do not also need to be users. An employee does **not** count towards billing, while
*Users* **do** count towards billing. If the new employee should also be a user, the user must
be created.
In the :guilabel:`Related User` field, type in the name of the user to add, then click
:guilabel:`Create and Edit...`. A :guilabel:`Create: Related User` form appears. Type in the
:guilabel:`Name`, :guilabel:`Email Address`, and then select the :guilabel:`Company` from the
drop-down menu. Click :guilabel:`Save` after the information is entered. Once the record is
saved, the new user appears in the :guilabel:`Related User` field.
Documents
=========
All documents associated with an employee are stored in the *Documents* app. The number of documents
associated with the employee appear in the :guilabel:`Documents` smart button on the employee form.
Click on the smart button, and all the documents appear. For more information on the *Documents*
app, refer to the :doc:`Documents documentation </applications/finance/documents>`.
All documents associated with an employee are stored in the :guilabel:`Documents` app. The number of
documents associated with the employee appear in the :guilabel:`Documents` smart button above the
employee record. Click on the smart button, and all the documents appear. For more information on
the :guilabel:`Documents` app, refer to the :doc:`../../finance/documents` documentation.
.. image:: new_employee/documents.png
:align: center
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 39 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

+16
View File
@@ -0,0 +1,16 @@
:nosearch:
:show-content:
:show-toc:
=====
Fleet
=====
Odoo *Fleet* organizes all the vehicles, contracts, and repairs of all the vehicles.
.. toctree::
:titlesonly:
fleet/configuration
fleet/new_vehicle
fleet/service
@@ -0,0 +1,266 @@
==================
Configuration menu
==================
This document outlines all of the configurations and settings for the *Fleet* application, including
:ref:`settings <fleet/configuration/settings>`, :ref:`manufacturers
<fleet/configuration/manufacturers>`, :ref:`vehicle models <fleet/configuration/models>`, and
:ref:`model categories <fleet/configuration/categories>`.
.. _fleet/configuration/settings:
Settings
========
To access the settings menu, go to :menuselection:`Fleet application --> Configuration -->
Settings`. There are two settings that need configuration, the vehicle contract end date alert
delay, and a new vehicle request limit.
.. image:: configuration/fleet-settings.png
:align: center
:alt: Settings available for the Fleet application.
End Date Contract Alert
-----------------------
The :guilabel:`End Date Contract Alert` field defines an alert delay for the persons responsible for
vehicle contracts. The responsible person(s) will receive an email informing them a vehicle contract
is about to expire in the number of days defined in this field.
.. note::
To determine who the responsible person is for a contract, open an individual contract. The
person listed as :guilabel:`Responsible` under the :guilabel:`Contract Information` section of
the contract is the person who will receive the alert.
To access all contracts, navigate to :menuselection:`Fleet app --> Fleet --> Contracts` and all
contracts appear in the list. Click on a :guilabel:`Contract` to view it.
An individual contract can also be found by navigating to :menuselection:`Fleet app --> Fleet -->
Fleet` and clicking on an individual vehicle. On the vehicle form, click the
:guilabel:`Contracts` smart button at the top of the page. The contract(s) associated with this
vehicle only appears in the list. Click on an individual contract to open it. The
:guilabel:`Responsible` person is listed on the contract.
New Vehicle Request
-------------------
The :guilabel:`New Vehicle Request` field sets a limit on how many new vehicles are requested based
on fleet availability. An employee filling out the salary configurator form (after being offered a
position), will *not* be able to request a new car if the number of existing cars is greater than
the number specified in the :guilabel:`New Vehicle Request` field. Enter the specific number limit
for existing available cars in this field.
.. example::
If the :guilabel:`New Vehicle Request` limit is set to 20 vehicles, and there are 25 vehicles
available, an employee would not be able to request a new vehicle. If there are only 10 cars
available, then the employee would be able to request a new vehicle.
.. _fleet/configuration/manufacturers:
Manufacturers
=============
Odoo *Fleet* comes pre-configured with sixty-six commonly used car and bicycle manufacturers in the
database, along with their logos. To view the pre-loaded manufacturers, go to :menuselection:`Fleet
app --> Configuration --> Manufacturers`.
The manufacturers appear in a list view in alphabetical order. Each manufacturer's card lists how
many specific models are configured for each particular manufacturer. Odoo comes with forty six
pre-configured :ref:`models <fleet/configuration/models>` from four major auto manufacturers and one
major bicycle manufacturer: Audi, BMW, Mercedes, Opel (cars), and Eddy Merckx (bicycle).
.. image:: configuration/manufacturer.png
:align: center
:alt: Manufacturer card with the amount of models listed.
Add a manufacturer
------------------
To add a new manufacturer to the database, click :guilabel:`Create`. A manufacturer form will load.
Only two pieces of information are needed, the :guilabel:`Name` of the manufacturer, and the logo.
Type the name of the manufacturer in the name field, and select an image to upload for the logo.
When the information is entered, click :guilabel:`Save`.
.. _fleet/configuration/models:
Vehicle Models
==============
Many manufacturers have a variety of models that they produce. When adding a vehicle to the fleet,
it is important to specify the vehicle model being added. Odoo comes with pre-configured car models
from four major auto manufacturers, and one pre-configured bicycle model from one bicycle
manufacturer: Audi, BMW, Mercedes, Opel (cars), and Eddy Merckx (bicycle). If a vehicle *other* than
the pre-configured models from these manufacturers are part of a fleet, the model (and/or
manufacturer) will need to be added to the database.
Preconfigured Models
--------------------
The following models are pre-loaded in Odoo and do not need to be added to the database:
+-------+--------------+-------------+-----------+---------------+
| AUDI | BMW | Eddy Merckx | Mercedes | Opel |
+=======+==============+=============+===========+===============+
| A1 | Serie 1 | SanRemo76 | Class A | Agilia |
+-------+--------------+-------------+-----------+---------------+
| A3 | Serie 3 | | Class B | Ampera |
+-------+--------------+-------------+-----------+---------------+
| A4 | Serie 5 | | Class C | Antara |
+-------+--------------+-------------+-----------+---------------+
| A5 | Serie 6 | | Class CL | Astra |
+-------+--------------+-------------+-----------+---------------+
| A6 | Serie 7 | | Class CLS | AstraGTC |
+-------+--------------+-------------+-----------+---------------+
| A7 | Serie Hybrid | | Class E | Combo Tour |
+-------+--------------+-------------+-----------+---------------+
| A8 | Serie M | | Class GL | Corsa |
+-------+--------------+-------------+-----------+---------------+
| Q3 | Serie X | | Class GLK | Insignia |
+-------+--------------+-------------+-----------+---------------+
| Q5 | Serie Z4 | | Class M | Meriva |
+-------+--------------+-------------+-----------+---------------+
| Q7 | | | Class R | Mokka |
+-------+--------------+-------------+-----------+---------------+
| TT | | | Class S | Zafira |
+-------+--------------+-------------+-----------+---------------+
| | | | Class SLK | Zafira Tourer |
+-------+--------------+-------------+-----------+---------------+
| | | | Class SLS | |
+-------+--------------+-------------+-----------+---------------+
.. _fleet/configuration/add-model:
Add a new model
---------------
New vehicle models can easily be added to the database. To add a new model, navigate to
:menuselection:`Fleet app --> Configuration --> Vehicle Models`. Click :guilabel:`Create` and a
vehicle model form will load. Enter the following information on the form, then click
:guilabel:`Save`. Be advised, some fields are specific to Belgian based companies, so not all fields
or sections may be visible depending on the location of the company.
- :guilabel:`Model name`: enter the model name in the field.
- :guilabel:`Manufacturer`: select the manufacturer from the drop-down menu. If the manufacturer is
not configured, type in the manufacturer and then click :guilabel:`Create` or :guilabel:`Create &
Edit`.
- :guilabel:`Vehicle Type`: select one of two preconfigured vehicle types, either :guilabel:`Car` or
:guilabel:`Bike`, from the drop-down menu. The vehicle types are hardcoded in Odoo and are
integrated with the *Payroll* application since vehicles can be part of an employee's benefits.
Adding additional vehicle types is not possible as it will affect payroll.
- :guilabel:`Category`: select the category the vehicle is categorized under from the drop-down
menu. To create a new category, type in the category and then click :guilabel:`Create (new
category)`.
.. note::
When the manufacturer is selected, the logo for the manufacturer will automatically load in the
image box in the top right corner.
Information tab
~~~~~~~~~~~~~~~
Model
*****
- :guilabel:`Seats Number`: enter how many passengers the vehicle can accommodate.
- :guilabel:`Doors Number`: enter the number of doors the vehicle has.
- :guilabel:`Color`: enter the color of the vehicle.
- :guilabel:`Model Year`: enter the year the vehicle was manufactured.
- :guilabel:`Trailer Hitch`: check this box if the vehicle has a trailer hitch installed.
Salary
******
.. note::
The :guilabel:`Salary` section only appears for Belgian-based companies, and only if the company
has their localization setting set to Belgium. The cost values are all **monthly** with the
exception of the :guilabel:`Catalog Value (VAT Incl.)`.
- :guilabel:`Can be requested`: check this box if employees can request this model vehicle.
- :guilabel:`Catalog Value (VAT Incl.)`: enter the :abbr:`MSRP (Manufacturer's Suggested Retail
Price)` for the vehicle at the time of purchase or lease.
- :guilabel:`C02 fee`: this value is automatically calculated based on Belgian laws and regulations,
and cannot be modified. The value is based on the value entered in the :guilabel:`CO2 Emissions`
field in the :guilabel:`Engine` section of the vehicle form.
.. important::
Modifying the :guilabel:`CO2 Emissions` field will adjust the value in the :guilabel:`CO2 fee`
field.
- :guilabel:`Cost (Depreciated)`: enter the monthly cost for the vehicle, which appears in the
salary configurator that is available to a future employee when they are offered a job position.
This value impacts the gross and net salary of the employee who is assigned to the vehicle. This
figure is depreciated over time according to local tax laws. The :guilabel:`Cost (Depreciated)`
does not depreciate automatically on the *vehicle model*, it only depreciates based on the
*contract* linked to a specific vehicle and not on the general model.
- :guilabel:`Total Cost (Depreciated)`: this value is the :guilabel:`Cost (Depreciated)` and the
:guilabel:`C02 fee` fields combined, and also is depreciated over time.
Engine
******
- :guilabel:`Fuel Type`: select the type of fuel the vehicle uses form the drop-down menu. The
options are :guilabel:`Diesel`, :guilabel:`Gasoline`, :guilabel:`Hybrid Diesel`, :guilabel:`Hybrid
Gasoline`, :guilabel:`Plug-in Hybrid Diesel`, :guilabel:`Plug-in Hybrid Gasoline`,
:guilabel:`CNG`, :guilabel:`LPG`, :guilabel:`Hydrogen`, or :guilabel:`Electric`.
- :guilabel:`CO2 Emissions`: enter the average carbon dioxide emissions the vehicle produces in
grams per kilometer (g/km). This information is provided by the car manufacturer.
- :guilabel:`CO2 Standard`: enter the standard amount of carbon dioxide in grams per kilometer
(g/km) for a similar sized vehicle.
- :guilabel:`Transmission`: select the transmission type from the drop-down menu, either
:guilabel:`Manual` or :guilabel:`Automatic`.
- :guilabel:`Power`: if the vehicle is electric or hybrid, enter the power the vehicle uses in
kilowatts (kW).
- :guilabel:`Horsepower`: enter the vehicle's horsepower in this field.
- :guilabel:`Horsepower Taxation`: enter the amount that is taxed based on the size of the vehicle's
engine. This is determined by local taxes and regulations, and varies depending on the location.
It is recommended to check with the accounting department to ensure this value is correct.
- :guilabel:`Tax Deduction`: this field auto-populates according to the engine specifications, and
cannot be modified. The percentage is based on the localization settings and local tax laws.
Vendors tab
~~~~~~~~~~~
Vehicle specific vendors, such as car dealerships, are not listed separately from other vendors. The
vendors that a vehicle can be purchased from also appear in the list of vendors used by the
*Purchase* app.
The vendor(s) the vehicle can be purchased from may be added in this tab. To add a vendor, click
:guilabel:`Add`, and a pop-up loads with a list of all the vendors currently in the database. Select
the vendor to add by clicking the checkbox next to the vendor name, then click :guilabel:`Select`.
There is no limit to the number of vendors that can be added to this list.
If a vendor is not in the database, add a vendor by clicking :guilabel:`Create`. A vendor form will
load. Enter the information in the vendor tab, then click :guilabel:`Save & Close` to add the vendor
and close the window, or :guilabel:`Save & New` to add the current vendor and create another new
vendor.
.. image:: configuration/vendor.png
:align: center
:alt: Vendor form to fill out when adding a new vendor.
.. _fleet/configuration/categories:
Model Category
==============
To best organize a fleet, it is recommended to have vehicle models housed under a specific category,
to more easily see what kinds of vehicles are in the fleet. Model categories are set on the
:ref:`vehicle model form <fleet/configuration/add-model>`.
To view all the models currently set up, navigate to :menuselection:`Fleet application -->
Configuration --> Model Category`. All models are displayed in a list view.
Add a new model category
------------------------
To add a new category, click :guilabel:`Create`. A new entry line appears at the bottom of the list.
Type in the new category, then click :guilabel:`Save` to save the entry.
To reorganize how the categories appear in the list, click on the up and down arrows to the left of
the category to be moved, and drag the line to the desired position. The order of the list does not
affect the database in any way. However, it may be preferable to view the vehicle categories in a
specific order, for example, by size, or the numbers of passengers the vehicle can carry.
.. image:: configuration/models.png
:align: center
:alt: List view of the models in the fleet.
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@@ -0,0 +1,155 @@
===================
Create new vehicles
===================
Odoo's *Fleet* app manages all vehicles and the accompanying documentation that comes with vehicle
maintenance and driver's records.
All vehicles are organized on the main :guilabel:`Fleet` dashboard. Each vehicle has its own
*vehicle form*, which is displayed as a card in the kanban view, according to it's status. Every
vehicle form is displayed in its current corresponding kanban stage. The default stages are
:guilabel:`New Request`, :guilabel:`To Order`, :guilabel:`Ordered`, :guilabel:`Registered`,
:guilabel:`Downgraded`, :guilabel:`Reserve`, and :guilabel:`Waiting List`.
To add a new vehicle to the fleet, click the :guilabel:`Create` button, and a blank vehicle form
loads. Enter the vehicle information in the vehicle form, then click :guilabel:`Save`.
Vehicle form fields
===================
- :guilabel:`Model`: select the vehicle's model from the drop-down menu. If the model is not listed,
type in the model name and click either :guilabel:`Create` or :guilabel:`Create and Edit`.
- :guilabel:`License Plate`: enter the vehicle's license plate number in this field.
- :guilabel:`Tags`: select any tags from the drop-down menu, or type in a new tag. There is no limit
on the amount of tags that can be selected.
.. note::
The :guilabel:`Model` is the only required field on the new vehicle form. When a model is
selected, other fields will appear on the vehicle form, and relevant information will
auto-populate fields that apply to the model. If some of the fields do not appear, this may
indicate there is no model selected.
Driver section
--------------
This section of the vehicle form relates to the person who is currently driving the car, as well as
any plans for a change in the driver in the future, and when.
- :guilabel:`Driver`: select the driver from the drop-down menu, or type in a new driver and click
either :guilabel:`Create` or :guilabel:`Create and Edit`.
- :guilabel:`Mobility Card`: if the selected driver has a mobility card listed on their employee
card in the *Employees* application, the mobility card number will appear in this field. If there
is no mobility card listed and one should be added, :ref:`edit the employee card
<employees/hr-settings>` in the *Employees* application.
- :guilabel:`Future Driver`: if the next driver for the vehicle is known, select the next driver
from the drop-down menu, or type in the next driver and click either :guilabel:`Create` or
:guilabel:`Create and Edit`.
- :guilabel:`Plan To Change Car`: if the current driver set for this vehicle plans to change their
vehicle, either because they are waiting on a new vehicle that is being ordered, or this is a
temporary vehicle assignment and they know which vehicle they will be driving next, check this
box. If the current driver does not plan to change their vehicle and use this current vehicle, do
not check this box.
- :guilabel:`Assignment Date`: select the date the vehicle will be available for another driver
using the drop-down calendar. Select the date by navigating to the correct month and year using
the :guilabel:`⬅️ (left arrow)` and :guilabel:`➡️ (right arrow)` icons, then click on the specific
day. If this field is blank, this indicates the vehicle is currently available and can be
reassigned to another driver. If it is populated, the vehicle will not be available to assign to
another driver until the date entered.
.. important::
A driver does **not** have to be an employee, but a driver must be listed in the *Contacts*
application. When creating a new driver, the driver is added to the *Contacts* application, not
the *Employees* application.
Vehicle section
---------------
This section of the vehicle form relates to the physical vehicle, it's various properties, when it
was added, where it is located, and who is managing it.
- :guilabel:`Immatriculation Date`: select the date the vehicle is acquired using the drop-down
calendar.
- :guilabel:`Cancellation Date`: select the date the vehicle lease will expire, or when the vehicle
will be no longer available, using the drop-down calendar.
- :guilabel:`Chassis Number`: enter the chassis number in the field. This is known in some countries
as the :abbr:`VIN (Vehicle Identification Number)` number.
- :guilabel:`Last Odometer`: enter the last known odometer reading in the number field. Using the
drop-down menu next to the number field, select whether the odometer reading is in kilometers
:guilabel:`(km)` or miles :guilabel:`(mi)`.
- :guilabel:`Fleet Manager`: select the fleet manager from the drop-down menu, or type in a new
fleet manager and click either :guilabel:`Create` or :guilabel:`Create and Edit`.
- :guilabel:`Location`: type in the location for the vehicle in the field. The most common scenario
for when this field would be populated is if a company has several office locations. The typical
office location where the vehicle is located would be the location entered.
- :guilabel:`Company`: select the company that the vehicle will be used for and associated with from
the drop-down menu, or type in a new company and click either :guilabel:`Create` or
:guilabel:`Create and Edit`.
.. important::
Creating a new company may cause a subscription price change depending on the current plan. Refer
to `Odoo's pricing plan <https://www.odoo.com/pricing-plan>`_ for more details.
.. image:: new_vehicle/new-vehicle-type.png
:align: center
:alt: The new vehicle form, showing the vehicle tax section.
Tax Info tab
------------
Fiscality
~~~~~~~~~
- :guilabel:`Horsepower Taxation`: enter the amount that is taxed based on the size of the vehicles
engine. This is determined by local taxes and regulations, and varies depending on the location.
It is recommended to check with the accounting department to ensure this value is correct.
- :guilabel:`Disallowed Expense Rate`: this is the amount of non-deductible expenses for the
vehicle. This amount is not counted towards any deductions on a tax return or as an allowable
expense when calculating taxable income. It is recommended to check with the accounting department
to ensure the value(s) entered are correct.
- :guilabel:`Start Date`: enter the :guilabel:`Start Date` and :guilabel:`(%) Percentage` for when
the :guilabel:`Disallowed Expense Rate` value goes into effect. Click :guilabel:`Add a line` to
enter a date. Click on the blank line to display a calendar. Select the date by navigating to
the correct month and year using the :guilabel:`⬅️ (left arrow)` and :guilabel:`➡️ (right
arrow)` icons, then click on the specific day. Enter the percentage that is disallowed in the
:guilabel:`% (percent)` field to the right of the date. The percentage should be entered in an
XX.XX format. Repeat this for all entries needed.
Contract
~~~~~~~~
- :guilabel:`First Contract Date`: select the start date for the vehicle's first contract using the
drop-down calendar. Typically this is the day the vehicle is purchased or leased.
- :guilabel:`Catalog Value (VAT Incl.)`: enter the MSRP (Manufacturer's Suggested Retail Price) for
the vehicle at the time of purchase or lease.
- :guilabel:`Purchase Value`: enter the purchase price or the value of the lease for the vehicle.
- :guilabel:`Residual Value`: enter the current value of the vehicle.
.. note::
The values listed above will affect the accounting department. It is recommended to check with
the accounting department for more information and/or assistance with these values.
.. image:: new_vehicle/new-vehicle-tax.png
:align: center
:alt: The new vehicle form, showing the vehicle tax section.
Model tab
---------
If the model for the new vehicle is already configured in the database, the :guilabel:`Model` tab
will be populated with the corresponding information. If the model is not already in the database
and the :guilabel:`Model` tab needs to be configured, :ref:`configure the new vehicle model
<fleet/configuration/add-model>`.
Check the information in the :guilabel:`Model` tab to ensure it is accurate. For example, the color
of the vehicle, or whether there is a trailer hitch installed or not, are examples of information
that may need updating.
.. image:: new_vehicle/model-tab.png
:align: center
:alt: The new vehicle form, showing the vehicle tax section.
Note tab
--------
Enter any notes for the vehicle in this section.
Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

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