Compare commits

...

65 Commits

Author SHA1 Message Date
tsm-odoo
8d892fb87f [FIX] deploy: add set_headers, fixing wrong $host value
X-original-commit: 8b92b734b2
2023-02-20 11:57:37 +01:00
Jonathan Castillo (jcs)
318eb5b04f [FIX] legal: RST cleanup (headings delimiters characters)
This commit changes the characters used as heading delimiters in the
/legal/ folder of the documentation. This makes it easier for writers to
figure out the heading order as all other files in this repository use
the same order of heading delimiters characters.

closes odoo/documentation#3626

X-original-commit: bab84c61a0
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-20 09:45:53 +01:00
KC (ksc)
d6dbc4ba18 [ADD] events: added complete documentation
closes odoo/documentation#3596

X-original-commit: b76b3fa3f3
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-02-17 20:56:14 +01:00
Donatienne Pirlot
1ff3ad946e [IMP] accounting: update cheat sheet
This PR change the cheat sheet of the accounting documentation.
Change done:
* Change name of the file: memento to cheat_sheet
* Adding explanation to the doc (Ex: Invoices and bills status)
* Correcting some sentences

closes odoo/documentation#3624

Task-id: 2847663
X-original-commit: 2fa9de17e1
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-17 18:12:37 +01:00
Jonathan Castillo (jcs)
5f7815c7ae [IMP] install/maintain: add section about search engine indexation
task-3179504

closes odoo/documentation#3619

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

closes odoo/documentation#3608

Taskid: 3086649
X-original-commit: d43a9b2598
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-17 16:09:10 +01:00
Brandon Seltenrich (BRSE)
0bf005c84a [IMP] inventory: update automated inventory valuation
closes odoo/documentation#3605

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

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

Do not merge for Odoo 16 - configuration flow to modify

closes odoo/documentation#3571

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

closes odoo/documentation#3591

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

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

closes odoo/documentation#3585

X-original-commit: 7a9d807bcc
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Luca Vitali <luvi@odoo.com>
2023-02-15 15:48:36 +01:00
Jonathan Castillo (jcs)
7ae76bad42 [FIX] *: RST cleanup
RST cleanup to comply with the RST guidelines. This is required so we
can use "make test", as there are currently hundreds of errors. For now,
it is unusable because of the oldest code in this repo.

closes odoo/documentation#3584

Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-15 14:38:43 +01:00
Amelia Williams
23dacbb122 [FIX] 02_setup: remove gramatical error
closes odoo/documentation#3582

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

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

closes odoo/documentation#3577

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

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

closes odoo/documentation#3573

Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-02-14 15:41:58 +01:00
LoredanaLrpz
a7fd40ab56 [IMP] pos: invoice issuance via qr code on receipts
Task ID: 3100959

closes odoo/documentation#3560

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

closes odoo/documentation#3558

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

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

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

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

closes odoo/documentation#3543

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

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

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

In saas-16.1 force the content of 16.0

closes odoo/documentation#3533

X-original-commit: 566449f3d4
Related: odoo/enterprise#36934
Related: odoo/odoo#112382
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-02-10 11:30:58 +01:00
“Chiara
5f939fb57d [IMP] accounting/l10n: Italian Localization
closes odoo/documentation#3528

Taskid: 3067241
X-original-commit: 3cfee5c99e
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-02-10 10:18:51 +01:00
Donatienne Pirlot
ef90822f76 [ADD] accounting: localization page for uk
closes odoo/documentation#3518

X-original-commit: 0550374968
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-02-09 16:15:38 +01:00
Tom Aarab (toaa)
ef0d3887da [ADD] ecommerce: new payment providers page
Adding a documentation on payment providers specifically for the
ecommerce section.

closes odoo/documentation#3520

Taskid: 3138597
X-original-commit: 6b45da21c1
Signed-off-by: Aarab Tom (toaa) <toaa@odoo.com>
2023-02-09 15:10:57 +01:00
Tom Aarab (toaa)
4c51026bbd [ADD] eCommerce: checkout process page
Adding new page on checkout process for eCommerce. Forward to master.

closes odoo/documentation#3512

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

closes odoo/documentation#3508

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

closes odoo/documentation#3506

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

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

closes odoo/documentation#3497

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

closes odoo/documentation#3495

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

closes odoo/documentation#3492

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

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

closes odoo/documentation#3481

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

closes odoo/documentation#3482

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

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

closes odoo/documentation#3464

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

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

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

closes odoo/documentation#3455

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

closes odoo/documentation#3449

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

opw:3131547

closes odoo/documentation#3440

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

X-original-commit: 2fb777e3e8
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Melanie Nguyen (meng) <meng@odoo.com>
2023-01-30 20:47:42 +01:00
Sam Lieber (sali)
71754851a3 [ADD] inventory: setup sendcloud shipping
closes odoo/documentation#3438

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

closes odoo/documentation#3427

X-original-commit: 9a0bf7bb0e
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-27 14:20:51 +01:00
avg-odoo
1f5a37a764 [IMP] install/maintain: update content of upgrade SLA
The maintenance fees cover the maintenance of the custom code (whoever
did it) and are not specifically dedicated to custom code written by
Odoo development teams

closes odoo/documentation#3421

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

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

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

Related to task-3059229

closes odoo/documentation#3407

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

X-original-commit: 78d3cf489a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Pirlot Donatienne (dopi) <dopi@odoo.com>
2023-01-26 08:19:10 +01:00
Jess Rogers (jero)
2cf6eeb953 [IMP] helpdesk: close_ticket.rst cleanup
closes odoo/documentation#3387

X-original-commit: 8396c2a4ad
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-01-24 20:09:50 +01:00
Nishant Jain (niai)
fbf63527c8 [ADD] accounting/l10n: add section about E-waybill (India)
closes odoo/documentation#3394

X-original-commit: 97e914b340
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-24 19:03:42 +01:00
Victor Feyens
c1da9bbf11 [ADD] finance: explain how to disable online invoice payment
closes odoo/documentation#3390

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

closes odoo/documentation#3389

X-original-commit: 8796ff1310
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-24 09:12:17 +01:00
LoredanaLrpz
246905ab12 [IMP] POS: improve and update the barcode page (text & screenshots)
Task ID: 3004918

closes odoo/documentation#3368

X-original-commit: 8138b95b0b
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Perazzo Loredana (lrpz) <lrpz@odoo.com>
2023-01-20 14:59:42 +01:00
nle-odoo
7ce506c2b2 [FIX] developer/guidelines: odoo addons import order
The example for import order is a little confusing since it is wrong.

closes odoo/documentation#3380

X-original-commit: f7b1f66b8c
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Nicolas Lempereur (nle) <nle@odoo.com>
2023-01-20 13:50:59 +01:00
pedrambiria
5a39a14721 [FW][FIX] productivity/outlook: correct link for plugin installation
Forward-port of a8c58815f3 for 16.0+

closes odoo/documentation#3373

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

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

closes odoo/documentation#3358

X-original-commit: 7f6535dcc8
Signed-off-by: Castillo Jonathan (jcs) <jcs@odoo.com>
2023-01-18 20:04:28 +01:00
fdardenne
906ec0988d [FIX] developer: remove merge text in chapter 6
closes odoo/documentation#3351

X-original-commit: a70665ef34
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-01-18 16:40:43 +01:00
Sam Lieber (sali)
9cc91f99e9 [FW][ADD] maintain: connect office365 with azure oauth
closes odoo/documentation#3350

X-original-commit: 5b9d1cba2a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-01-18 16:40:40 +01:00
Wesley Kao (weka)
8fb3e7dc52 [IMP] MRP: edited semi-finished products user doc
closes odoo/documentation#3339

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

closes odoo/documentation#3344

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

task-2941335

closes odoo/documentation#3335

X-original-commit: f51633fdd5
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Xavier Bol (xbo) <xbo@odoo.com>
2023-01-16 19:32:47 +01:00
Antoine Vandevenne (anv)
50908eb7f3 [REL] freeze saas-16.1 2023-01-16 17:00:44 +01:00
777 changed files with 6941 additions and 3728 deletions

View File

@@ -1,63 +1,68 @@
[main]
host = https://www.transifex.com
type = PO
[odoo-14-doc.applications]
[o:odoo:p:odoo-16-doc:r:administration]
file_filter = locale/<lang>/LC_MESSAGES/administration.po
source_file = locale/sources/administration.pot
source_lang = en
[o:odoo:p:odoo-16-doc:r:applications]
file_filter = locale/<lang>/LC_MESSAGES/applications.po
source_file = locale/sources/applications.pot
source_lang = en
[odoo-14-doc.finance]
[o:odoo:p:odoo-16-doc:r:finance]
file_filter = locale/<lang>/LC_MESSAGES/finance.po
source_file = locale/sources/finance.pot
source_lang = en
[odoo-14-doc.general]
[o:odoo:p:odoo-16-doc:r:general]
file_filter = locale/<lang>/LC_MESSAGES/general.po
source_file = locale/sources/general.pot
source_lang = en
[odoo-14-doc.index]
[o:odoo:p:odoo-16-doc:r:index]
file_filter = locale/<lang>/LC_MESSAGES/index.po
source_file = locale/sources/index.pot
source_lang = en
[odoo-14-doc.inventory_and_mrp]
[o:odoo:p:odoo-16-doc:r:inventory_and_mrp]
file_filter = locale/<lang>/LC_MESSAGES/inventory_and_mrp.po
source_file = locale/sources/inventory_and_mrp.pot
source_lang = en
[odoo-14-doc.marketing]
[o:odoo:p:odoo-16-doc:r:marketing]
file_filter = locale/<lang>/LC_MESSAGES/marketing.po
source_file = locale/sources/marketing.pot
source_lang = en
[odoo-14-doc.productivity]
[o:odoo:p:odoo-16-doc:r:productivity]
file_filter = locale/<lang>/LC_MESSAGES/productivity.po
source_file = locale/sources/productivity.pot
source_lang = en
[odoo-14-doc.sales]
[o:odoo:p:odoo-16-doc:r:sales]
file_filter = locale/<lang>/LC_MESSAGES/sales.po
source_file = locale/sources/sales.pot
source_lang = en
[odoo-14-doc.services]
[o:odoo:p:odoo-16-doc:r:services]
file_filter = locale/<lang>/LC_MESSAGES/services.po
source_file = locale/sources/services.pot
source_lang = en
[odoo-14-doc.theme]
[o:odoo:p:odoo-16-doc:r:theme]
file_filter = locale/<lang>/LC_MESSAGES/sphinx.po
source_file = locale/sources/sphinx.pot
source_lang = en
[odoo-14-doc.user_settings]
[o:odoo:p:odoo-16-doc:r:user_settings]
file_filter = locale/<lang>/LC_MESSAGES/settings.po
source_file = locale/sources/settings.pot
source_lang = en
[odoo-14-doc.websites]
[o:odoo:p:odoo-16-doc:r:websites]
file_filter = locale/<lang>/LC_MESSAGES/websites.po
source_file = locale/sources/websites.pot
source_lang = en

View File

@@ -26,7 +26,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-16.1
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
@@ -42,6 +42,7 @@ help:
@echo " html to build the documentation to HTML"
@echo " fast to build the documentation to HTML with shallow menu (faster)"
@echo " clean to delete the build files"
@echo " test to run the guidelines tests"
clean:
@echo "Cleaning build files..."
@@ -82,3 +83,6 @@ fast: html
static: $(HTML_BUILD_DIR)/_static/style.css
cp -r extensions/odoo_theme/static/* $(HTML_BUILD_DIR)/_static/
cp -r static/* $(HTML_BUILD_DIR)/_static/
test:
python tests/rst_style.py $(SOURCE_DIR)

View File

@@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
# `version` is the version info for the project being documented, acts as replacement for |version|,
# also used in various other places throughout the built documents.
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
version = release = 'master'
version = release = 'saas-16.1'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
@@ -210,6 +210,7 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'saas-16.1': "Odoo Online",
'16.0': "Odoo 16",
'saas-15.2': "Odoo Online",
'15.0': "Odoo 15",
@@ -224,10 +225,12 @@ languages_names = {
'en': 'EN',
'es': 'ES',
'fr': 'FR',
'it': 'IT',
'nl': 'NL',
'pt_BR': 'PT',
'uk': 'UA',
'zh_CN': 'ZH',
'zh_CN': 'ZH (CN)',
'zh_TW': 'ZH (TW)'
}
# The directory in which files holding redirect rules used by the 'redirects' extension are listed.

View File

@@ -309,12 +309,6 @@ in ``/etc/nginx/sites-enabled/odoo.conf`` set:
proxy_connect_timeout 720s;
proxy_send_timeout 720s;
# Add Headers for odoo proxy mode
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;
# SSL parameters
ssl_certificate /etc/ssl/nginx/server.crt;
ssl_certificate_key /etc/ssl/nginx/server.key;
@@ -340,6 +334,11 @@ 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-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Real-IP $remote_addr;
proxy_redirect off;
proxy_pass http://odoo;
}
@@ -429,6 +428,11 @@ by intercepting all requests to :samp:`/{MODULE}/static/{FILE}`, and looking up
# Serve static files right away
location ~ ^/[^/]+/static/.+$ {
# Add Headers for odoo proxy mode
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;
root /usr/lib/python3/dist-packages/odoo/addons;
try_files $uri @odoo;
expires 24h;
@@ -608,6 +612,7 @@ security-related topics:
Blocking Brute Force Attacks
----------------------------
For internet-facing deployments, brute force attacks on user passwords are very common, and this
threat should not be neglected for Odoo servers. Odoo emits a log entry whenever a login attempt
is performed, and reports the result: success or failure, along with the target login and source IP.

View File

@@ -4,19 +4,22 @@ Email gateway
The Odoo mail gateway allows you to inject directly all the received emails in Odoo.
Its principle is straightforward: your SMTP server executes the "mailgate" script for every new incoming email.
Its principle is straightforward: your SMTP server executes the "mailgate" script for every new
incoming email.
The script takes care of connecting to your Odoo database through XML-RPC, and send the emails via
the `MailThread.message_process()` feature.
Prerequisites
-------------
- Administrator access to the Odoo database.
- Your own mail server such as Postfix or Exim.
- Technical knowledge on how to configure an email server.
For Postfix
-----------
In you alias config (:file:`/etc/aliases`):
.. code-block:: text
@@ -33,6 +36,7 @@ In you alias config (:file:`/etc/aliases`):
For Exim
--------
.. code-block:: text
*: |/odoo-directory/addons/mail/static/scripts/odoo-mailgate.py -d <database-name> -u <userid> -p <password>

View File

@@ -7,6 +7,7 @@ Maintain
.. toctree::
maintain/domain_names
maintain/azure_oauth
maintain/google_oauth
maintain/mailjet_api
maintain/update

View File

@@ -0,0 +1,216 @@
=======================================================
Connect Microsoft Outlook 365 to Odoo using Azure OAuth
=======================================================
Odoo is compatible with Microsoft's Azure OAuth for Microsoft 365. In order to send and receive
secure emails from a custom domain, all that is required is to configure a few settings on the
Azure platform and on the back end of the Odoo database. This configuration works with either a
personal email address or an address created by a custom domain.
.. seealso::
`Microsoft Learn: Register an application with the Microsoft identity platform
<https://learn.microsoft.com/azure/active-directory/develop/quickstart-register-app>`_
Setup in Microsoft Azure Portal
===============================
Create a new application
------------------------
To get started, go to `Microsoft's Azure Portal <https://portal.azure.com/>`_. Log in with the
:guilabel:`Microsoft Outlook Office 365` account if there is one, otherwise log in with the
personal :guilabel:`Microsoft account`. A user with administrative access to the Azure Settings
will need to connect and perform the following configuration. Next, navigate to the section
labeled :guilabel:`Manage Azure Active Directory`.
Now, click on :guilabel:`Add (+)`, located in the top menu, and then select :guilabel:`App
registration`. On the :guilabel:`Register an application` screen, rename the :guilabel:`Name` to
`Odoo` or something recognizable. Under the :guilabel:`Supported account types` section select
:guilabel:`Accounts in any organizational directory (Any Azure AD directory - Multitenant) and
personal Microsoft accounts (e.g. Skype, Xbox)`.
Under the :guilabel:`Redirect URL` section, select :guilabel:`Web` as the platform, and then input
`https://<odoo base url>/microsoft_outlook/confirm` in the :guilabel:`URL` field. The Odoo base URL
is the canonical domain at which your Odoo instance can be reached in the URL field.
.. example::
*mydatabase.odoo.com*, where *mydatabase* is the actual prefix of the database's subdomain,
assuming it's hosted on Odoo.com
After the URL has been added to the field, :guilabel:`Register` the application so it is created.
API permissions
---------------
The :guilabel:`API permissions` should be set next. Odoo will need specific API permissions to be
able to read (IMAP) and send (IMAP) emails in the Microsoft 365 setup. First, click the
:guilabel:`API permissions` link, located in the left menu bar. Next, click on the :guilabel:`(+)
Add a Permission` button and select :guilabel:`Microsoft Graph` under :guilabel:`Commonly Used
Microsoft APIs`. After, select the :guilabel:`Delegated Permissions` option.
In the search bar, search for the following :guilabel:`Deregulated permissions` and click
:guilabel:`Add permissions` for each one:
- :guilabel:`SMTP.Send`
- :guilabel:`IMAP.AccessAsUser.All`
.. note::
The :guilabel:`User.Read` permission will be added by default.
.. image:: azure_oauth/permissions.png
:align: center
:alt: API permissions needed for Odoo integration are listed under the Microsoft Graph.
Assign users and groups
=======================
After adding the API permissions, navigate back to the :guilabel:`Overview` of the
:guilabel:`Application` in the top of the left sidebar menu.
Now, add users to this application. Under the :guilabel:`Essentials` overview table, click on the
link labeled :guilabel:`Managed Application in Local Directory`, or the last option on the bottom
right-hand side of the table.
.. image:: azure_oauth/managed-application.png
:align: center
:alt: Add users/groups by clicking the Managed application in local directory link for the
created application.
In the left sidebar menu, select :guilabel:`Users and Groups`. Next, click on :guilabel:`(+) Add
User/Group`. Depending on the account, either a :guilabel:`Group` and a :guilabel:`User` can be
added, or only :guilabel:`Users`. Personal accounts will only allow for :guilabel:`Users` to be
added.
Under :guilabel:`Users` or :guilabel:`Groups`, click on :guilabel:`None Selected` and add the users
or group of users that will be sending emails from the :guilabel:`Microsoft account` in Odoo.
:guilabel:`Add` the users/groups, click :guilabel:`Select`, and then :guilabel:`Assign` them to the
application.
Create credentials
------------------
Now that the Microsoft Azure app is set up, credentials need to be created for the Odoo setup.
These include the :guilabel:`Client ID` and :guilabel:`Client Secret`. To start, the
:guilabel:`Client ID` can be copied from the :guilabel:`Overview` page of the app. The
:guilabel:`Client ID` or :guilabel:`Application ID` is located under the :guilabel:`Display Name`
in the :guilabel:`Essentials` overview of the app.
.. image:: azure_oauth/application-id.png
:align: center
:alt: Application/Client ID located in the Overview of the app.
Next, the :guilabel:`Client Secret Value` needs to be retrieved. To get this value, click on
:guilabel:`Certificates & Secrets` in the left sidebar menu. Then, a :guilabel:`Client Secret`
needs to be produced. In order to do this, click on the :guilabel:`(+) New Client Secret` button.
A window on the right will populate with a button labeled :guilabel:`Add a client secret`. Under
:guilabel:`Description`, type in `Odoo Fetchmail` or something recognizable, and then set the
:guilabel:`expiration date`.
.. important::
A new :guilabel:`Client Secret` will need to be produced and configured if the first one
expires. In this event, there could be an interruption of service, so the expiration date should
be noted and set to the furthest possible date.
Next, click on :guilabel:`Add` when these two values are entered. A :guilabel:`Client Secret Value`
and :guilabel:`Secret ID` will be created. It is important to copy the :guilabel:`Value` or
:guilabel:`Client Secret Value` into a notepad as it will become encrypted after leaving this page.
The :guilabel:`Secret ID` is not needed.
.. image:: azure_oauth/secretvalue.png
:align: center
:alt: Client Secret Value or Value in the app's credentials.
After these steps, the following items should be ready to be set up in Odoo:
- A client ID (:guilabel:`Client ID` or :guilabel:`Application ID`)
- A client secret (:guilabel:`Value` or :guilabel:`Client Secret Value`)
This completes the setup on the :guilabel:`Microsoft Azure Portal` side.
Setup in Odoo
=============
Enter Microsoft Outlook credentials
-----------------------------------
First, open the Odoo database and navigate to the :guilabel:`Apps` module. Then, remove the
:guilabel:`Apps` filter from the search bar and type in `Outlook`. After that, install the module
called :guilabel:`Microsoft Outlook`.
Next, navigate to :menuselection:`Settings --> General Settings`, and under the :guilabel:`Discuss`
section, ensure that the checkbox for :guilabel:`Custom Email Servers` is checked. This populates
a new option for :guilabel:`Outlook Credentials`.
:guilabel:`Save` the progress.
Then, copy and paste the :guilabel:`Client ID` (Application ID) and :guilabel:`Client Secret
(Client Secret Value)` into the respective fields and :guilabel:`Save` the settings.
.. image:: azure_oauth/outlookcreds.png
:align: center
:alt: Outlook Credentials in Odoo General Settings.
Configure outgoing email server
-------------------------------
On the :guilabel:`General Settings` page, under the :guilabel:`Custom Email Servers` setting,
click the :guilabel:`Outgoing Email Servers` link to configure the Microsoft account.
Then, create a new email server and check the box for :guilabel:`Outlook`. Next, fill in the
:guilabel:`Name` (it can be anything) and the Microsoft Outlook email :guilabel:`Username`.
If the :guilabel:`From Filter` field is empty, enter either a :ref:`domain or email address
<email_communication/default_from>`.
Then, cick on :guilabel:`Connect your Outlook account`.
A new window from Microsoft opens to complete the :guilabel:`authorization process`. Select the
appropriate email address that is being configured in Odoo.
.. image:: azure_oauth/verify-outlook.png
:align: center
:alt: Permission page to grant access between newly created app and Odoo.
Then, allow Odoo to access the Microsoft account by clicking on :guilabel:`Yes`. After this, the
page will navigate back to the newly configured :guilabel:`Outgoing Mail Server` in Odoo. The
configuration automatically loads the :guilabel:`token` in Odoo, and a tag stating
:guilabel:`Outlook Token Valid` appears in green.
.. image:: azure_oauth/outlook-token.png
:align: center
:alt: Valid Outlook Token indicator.
Finally, click :guilabel:`Test Connection`. A confirmation message should appear. The Odoo database
can now send safe, secure emails through Microsoft Outlook using OAuth authentication.
Multiple user configuration
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Each user should have a separate server set up. The :guilabel:`from-filter` should be set so that
only the user's email is sent from that server. In other words, only a user with an email address
that matches the set :guilabel:`from-filter` is able to use this server.
After setting the :guilabel:`from-filter`, set up a fallback email account to allow for the sending
of :guilabel:`notifications`. The fallback email must be configured as a :guilabel:`general
transactional server`. The :guilabel:`mail.default.from` system parameter must be set to the
:guilabel:`username` of the general transactional server account. For more information see
:ref:`Use a default email address <email_communication/default>`.
.. note::
The :guilabel:`System Parameters` can be accessed by activating
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical
--> Parameters --> System Parameters` menu.
Configure incoming email server
-------------------------------
The incoming account should be configured in a similar way to the outgoing email account. Navigate
to the :guilabel:`Incoming Mail Servers` in the :guilabel:`Technical Menu` and :guilabel:`Create` a
new configuration. Check or Select the button next to :guilabel:`Outlook Oauth Authentication` and
enter the :guilabel:`Microsoft Outlook username`. Click on :guilabel:`Connect your Outlook
account`. Odoo will state: :guilabel:`Outlook Token Valid` Now :guilabel:`Test and Confirm` the
account. The account should be ready to receive email to the Odoo database.
.. seealso::
:doc:`../../applications/general/email_communication/email_servers`

Binary file not shown.

After

Width:  |  Height:  |  Size: 54 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

View File

@@ -45,6 +45,36 @@ All domain names are referenced in the **Domain Name System**, or **DNS**, which
directory for the Internet. There are many DNS servers, so any modification to the DNS can take up
to 72 hours to propagate worldwide on all servers.
.. _domain-name/indexing:
Indexing of domain names by search engines
------------------------------------------
Search engines, such as Google and Bing, rely on web crawlers (:dfn:`robots that explore and analyze
the web`) to index all websites and their related domain names. These crawlers discover new URLs
thanks to links on known web pages. As a result, search engines should index domain names
automatically after a while, as long as their URLs are mentioned elsewhere on the Internet.
Improving the appearance and positioning of web pages on search engines is a practice named "Search
Engine Optimization" (SEO).
.. tip::
Adding relevant content, optimizing metadata, and building high-quality backlinks can all help
improve a website's search engine visibility.
Some search engines provide tools for web admins, such as
`Google Search Console <https://search.google.com/search-console>`_ and
`Bing Webmaster Tools <https://www.bing.com/webmasters>`_, to help you analyze and improve your
page ranking. To use these services, you must prove that you are the owner of your domain name. One
way to verify the ownership of your domain name is by adding a DNS record. You can do this for
:ref:`domain names registered with Odoo <domain-name/odoo-manage>` and for domain names managed by
other providers.
.. seealso::
- :doc:`/applications/websites/website/optimize/seo`
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
.. _domain-name/odoo-register:
Register a free domain name with Odoo
@@ -324,7 +354,7 @@ In the :guilabel:`Domain` field, fill in the web address of your website (e.g.,
If both addresses are already indexed, it may take some time before Google removes the indexation
of the second address. You may also try using the `Google Search Console
<https://search.google.com/search-console/welcome>`_ to fix this.
<https://search.google.com/search-console>`_ to fix this.
.. note::
If you have multiple websites and companies on your database, make sure that you select the

View File

@@ -208,7 +208,7 @@ Connection`.
`yourdomain.com`. Replace `yourdomain` with the custom domain for the Odoo database. If there
isn't one, then use the :guilabel:`mail.catchall.domain` system parameter.
For more information see :ref:`Using a default email address <email_domain/default>`.
For more information see :ref:`Using a default email address <email_communication/default>`.
The :guilabel:`System Parameters` can be accessed by activating
:doc:`../../applications/general/developer_mode` in the :menuselection:`Settings --> Technical

View File

@@ -19,12 +19,12 @@ If you are unable to register your database, you will likely encounter this
message:
.. image:: on_premise/error_message_sub_code.png
:align: center
:alt: Something went wrong while registering your database,
you can try again or contact Odoo Help
:align: center
:alt: Something went wrong while registering your database, you can try again or contact Odoo
Help
Solutions
'''''''''
~~~~~~~~~
* Do you have a valid Enterprise subscription?
@@ -42,15 +42,13 @@ Solutions
<https://accounts.odoo.com/my/subscription>`__ with the button "Unlink database"
.. image:: on_premise/unlink_single_db.png
:align: center
:align: center
A confirmation message will appear; make sure this is the correct database as
it will be deactivated shortly:
.. image:: on_premise/unlink_confirm_enterprise_edition.png
:align: center
:align: center
* Do you have the updated version of Odoo 9?
@@ -63,8 +61,7 @@ Solutions
specifying which database is problematic:
.. image:: on_premise/unlink_db_name_collision.png
:align: center
:align: center
In this case, you need to change the UUID on your test databases to solve this
issue. You will find more information about this in :ref:`this section <duplicate_premise>`.
@@ -85,8 +82,6 @@ Solutions
* Once you activated your database, you must keep these ports open, as the
Update notification runs once a week.
Error message due to too many users
-----------------------------------
@@ -94,16 +89,15 @@ If you have more users in your local database than provisionned in your
Odoo Enterprise subscription, you may encounter this message:
.. image:: on_premise/add_more_users.png
:align: center
:alt: This database will expire in X days, you
have more users than your subscription allows
:align: center
:alt: This database will expire in X days, you have more users than your subscription allows
When the message appears you have 30 days before the expiration.
The countdown is updated everyday.
Solutions
'''''''''
~~~~~~~~~
- **Add more users** on your subscription: follow the link and Validate
the upsell quotation and pay for the extra users.
@@ -123,15 +117,14 @@ If your database reaches its expiration date before your renew your subscription
you will encounter this message:
.. image:: on_premise/database_expired.png
:align: center
:alt: This database has expired.
:align: center
:alt: This database has expired.
This **blocking** message appears after a non-blocking message that lasts 30 days.
If you fail to take action before the end of the countdown, the database is expired.
Solutions
'''''''''
~~~~~~~~~
* Renew your subscription: follow the link and renew your subscription - note that
if you wish to pay by Wire Transfer, your subscription will effectively be renewed
@@ -142,7 +135,6 @@ Solutions
None of those solutions worked for you? Please contact our
`Support <https://www.odoo.com/help>`__
.. _force_ping:
.. _duplicate_premise:
@@ -155,8 +147,7 @@ server (<odoo-server>/web/database/manager). In this page, you can easily
duplicate your database (among other things).
.. image:: on_premise/db_manager.gif
:align: center
:align: center
When you duplicate a local database, it is **strongly** advised to change
the duplicated database's uuid (Unniversally Unique Identifier), since this
@@ -164,8 +155,9 @@ uuid is how your database identifies itself with our servers. Having two
databases with the same uuid could result in invoicing problems or registration
problems down the line.
.. note:: From July 2016 onward, Odoo 9 now automatically change the uuid of a
duplicated database; a manual operation is no longer required.
.. note::
From July 2016 onward, Odoo 9 now automatically change the uuid of a duplicated database; a
manual operation is no longer required.
The database uuid is currently accessible from the menu :menuselection:`Settings --> Technical -->
System Parameters`, we advise you to use a `uuid generator <https://www.uuidtools.com>`_ or to
@@ -173,4 +165,4 @@ use the unix command ``uuidgen`` to generate a new uuid. You can then simply rep
other record by clicking on it and using the edit button.
.. image:: on_premise/db_uuid.png
:align: center
:align: center

View File

@@ -28,9 +28,9 @@ This matrix shows the support status of every version.
+=================+=============+==========+=============+================+========================+
| **Odoo 16.0** | |green| | |green| | |green| | October 2022 | October 2025 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | |
| Odoo saas~15.2 | |green| | N/A | N/A | March 2022 | January 2023 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | |
| Odoo saas~15.1 | |red| | N/A | N/A | February 2022 | July 2022 |
+-----------------+-------------+----------+-------------+----------------+------------------------+
| **Odoo 15.0** | |green| | |green| | |green| | October 2021 | October 2024 (planned) |
+-----------------+-------------+----------+-------------+----------------+------------------------+

View File

@@ -104,6 +104,7 @@ and you're all set.
Source Install (Tarball)
------------------------
If you have originally installed Odoo with the "tarball" version (source code archive), you have
to replace the installation directory with a newer version. First download the latest tarball
from Odoo.com. They are updated daily and include the latest security fixes (see step #1)
@@ -123,6 +124,7 @@ Finally, restart the Odoo service or reboot the machine, and you are all set.
Source Install (Github)
-----------------------
If you have originally installed Odoo with a full Github clone of the official repositories, the
update procedure requires you to pull the latest source code via git.
Change into the directory for each repository (the main Odoo repository, and the Enterprise

View File

@@ -1,8 +1,8 @@
:nosearch:
=================
========
Advanced
=================
========
.. toctree::
:titlesonly:

View File

@@ -1,7 +1,7 @@
==================================
==========
Containers
==================================
==========
Overview
========

View File

@@ -1,9 +1,9 @@
.. _odoosh-advanced-frequent_technical_questions:
==================================
============================
Frequent Technical Questions
==================================
============================
"Scheduled actions do not run at the exact time they were expected"
-------------------------------------------------------------------

View File

@@ -1,9 +1,9 @@
.. _odoosh-advanced-submodules:
==================================
==========
Submodules
==================================
==========
Overview
========
@@ -64,7 +64,7 @@ On Github, you can get the repository URL with the *Clone or download* button of
.. _odoosh-advanced-submodules-withgit:
With Git (advanced)
---------------------
-------------------
In a terminal, in the folder where your Git repository is cloned,
checkout the branch in which you want to add a submodule:

View File

@@ -1,8 +1,8 @@
:nosearch:
=================
===========
Get started
=================
===========
.. toctree::
:titlesonly:

View File

@@ -1,7 +1,6 @@
==================================
========
Branches
==================================
========
Overview
========
@@ -14,7 +13,7 @@ The branches view gives you an overview of the different branches your repositor
.. _odoosh-gettingstarted-branches-stages:
Stages
===============
======
Odoo.sh offers three different stages for your branches: production, staging and development.
@@ -27,6 +26,7 @@ You can change the stage of a branch by drag and dropping it into the stage sect
Production
----------
This is the branch holding the code on which your production database runs.
There can be only one production branch.
@@ -59,6 +59,7 @@ will automatically be set back to the development stage after 30 days.
Staging
-------
Staging branches are meant to test your new features using the production data without compromising
the actual production database with test records. They will create databases that are neutralized
duplicates of the production database.
@@ -83,9 +84,9 @@ The unit tests are not performed as, in Odoo, they currently rely on the demo da
production database. In the future, if Odoo supports to run the unit tests without the demo data,
Odoo.sh will then consider running the tests on staging databases.
Development
-----------
Development branches create new databases using the demo data to run the unit tests.
The installed modules are the ones included in your branches. You can change this list of modules
to install in your :ref:`project Settings <odoosh-gettingstarted-settings-modules-installation>`.
@@ -107,6 +108,7 @@ After that, they can be automatically garbage collected to make room for new dat
Merging your branches
---------------------
You can merge your branches easily by drag and dropping them into each other.
.. image:: branches/interface-branches-merge.png
@@ -147,10 +149,11 @@ If you test configuration changes in staging branches, and want them to be appli
.. _odoosh-gettingstarted-branches-tabs:
Tabs
=============
====
History
-------
An overview of your branch history:
* The messages of the commits and their authors,
@@ -168,6 +171,7 @@ When an operation is successful, you can access the database thanks to the *conn
Mails
-----
This tab contains the mail catcher. It displays an overview of the emails sent by your database.
The mail catcher is available for your development and
staging branches as the emails of your production database are really sent instead of being intercepted.
@@ -178,6 +182,7 @@ staging branches as the emails of your production database are really sent inste
Shell
-----
A shell access to your container. You can perform basic linux commands (:code:`ls`, :code:`top`)
and open a shell on your database by typing :code:`psql`.
@@ -187,13 +192,13 @@ and open a shell on your database by typing :code:`psql`.
You can open multiple tabs and drag-and-drop them to arrange the layout as you wish,
for instance side by side.
.. Note::
Long running shell instances are not guaranteed. Idle shells can be
disconnected at anytime in order to free up resources.
Editor
------
An online integrated development environment (IDE) to edit the source code.
You can also open terminals, Python consoles and even Odoo Shell consoles.
@@ -205,6 +210,7 @@ for instance side by side.
Monitoring
----------
This link contains various monitoring metrics of the current build.
.. image:: branches/interface-branches-monitoring.png
@@ -217,6 +223,7 @@ On the graphs, annotations help you relate to changes on the build (database imp
Logs
----
A viewer to have a look to your server logs.
.. image:: branches/interface-branches-logs.png
@@ -240,6 +247,7 @@ The fetching is automatically stopped after 5 minutes. You can restart it using
Backups
-------
A list of the backups available for download and restore, the ability to perform a manual backup and to import a
database.
@@ -398,14 +406,13 @@ settings to increase the deliverability of your outgoing emails.
The configuration steps are explained in the documentation about :ref:`SPF
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
.. Warning::
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
delivery of your emails as spam in your contacts inbox.
Shell commands
==============
In the top right-hand corner of the view, different shell commands are available.
.. image:: branches/interface-branches-shellcommands.png
@@ -418,6 +425,7 @@ such as ``<URL>``, ``<PATH>``, ...
Clone
-----
Download the Git repository.
.. code-block:: bash
@@ -433,6 +441,7 @@ The *run* button is not available for this command, as it is meant to be used on
Fork
----
Create a new branch based on the current branch.
.. code-block:: bash
@@ -449,6 +458,7 @@ Uploads the new branch *feature-1* on your remote repository.
Merge
-----
Merge the current branch in another branch.
.. code-block:: bash
@@ -465,8 +475,10 @@ Uploads the changes you just added in the *master* branch on your remote reposit
SSH
---
Setup
~~~~~
In order to use SSH, you have to set up your profile SSH public key (if it is not already done).
To do so, follow these steps:
@@ -506,7 +518,6 @@ you'll be granted ssh access to the build.
Long running ssh connections are not guaranteed. Idle connections will be
disconnected in order to free up resources.
Submodule
---------

View File

@@ -1,17 +1,18 @@
.. _odoosh-gettingstarted-builds:
==================================
======
Builds
==================================
======
Overview
========
In Odoo.sh, a build is considered as a database loaded by an Odoo server
(`odoo/odoo <https://github.com/odoo/odoo>`_ & `odoo/enterprise <https://github.com/odoo/enterprise>`_)
running on a specific revision of your project repository in a containerized environment.
Its purpose is to test the well-behavior of the server, the database and the features with this revision.
(`odoo/odoo <https://github.com/odoo/odoo>`_ & `odoo/enterprise
<https://github.com/odoo/enterprise>`_) running on a specific revision of your project repository in
a containerized environment. Its purpose is to test the well-behavior of the server, the database
and the features with this revision.
.. image:: builds/interface-builds.png
:align: center
@@ -28,13 +29,13 @@ A successful build is highlighted in green.
A build is considered failed if errors come up during its creation.
A failed build is highlighted in red.
If warnings come up during the creation, but there are no errors, the build is considered almost successful.
It is highlighted in yellow to notify the developer warnings were raised.
If warnings come up during the creation, but there are no errors, the build is considered almost
successful. It is highlighted in yellow to notify the developer warnings were raised.
Builds do not always create a database from scratch.
For instance, when pushing a change on the production branch, the build created just starts the server
with your new revision and tries to load the current production database on it.
If no errors come up, the build is considered successful, and otherwise failed.
Builds do not always create a database from scratch. For instance, when pushing a change on the
production branch, the build created just starts the server with your new revision and tries to load
the current production database on it. If no errors come up, the build is considered successful, and
otherwise failed.
Stages
======
@@ -48,14 +49,15 @@ If this build is successful, this database is considered as the production datab
From then, pushes on the production branch will create new builds that attempt to load the database
using a server running with the new revision.
If the build is successful, or has warnings but no errors, the production database will now run with this build, along
with the revision associated to this build.
If the build is successful, or has warnings but no errors, the production database will now run with
this build, along with the revision associated to this build.
If the build fails to load or update the database, then the previous successful build is re-used to load the database,
and therefore the database will run using a server running with the previous successful revision.
If the build fails to load or update the database, then the previous successful build is re-used to
load the database, and therefore the database will run using a server running with the previous
successful revision.
The build used to run the production database is always the first of the builds list. If a build fails, it is
put after the build currently running the production database.
The build used to run the production database is always the first of the builds list. If a build
fails, it is put after the build currently running the production database.
Staging
-------
@@ -63,18 +65,17 @@ Staging
Staging builds duplicate the production database,
and try to load this duplicate with the revisions of the staging branches.
Each time you push a new revision on a staging branch, the build created uses a new copy of the production database.
The databases are not re-used between builds of the same branch. This ensures:
Each time you push a new revision on a staging branch, the build created uses a new copy of the
production database. The databases are not re-used between builds of the same branch. This ensures:
* staging builds use databases that are close to what the production looks like,
so you do not make your tests with outdated data,
* staging builds use databases that are close to what the production looks like, so you do not make
your tests with outdated data,
* you can play around as much as you want in the same staging database,
and you can then ask for a rebuild when you want to restart with a new copy of the production.
* you can play around as much as you want in the same staging database, and you can then ask for a
rebuild when you want to restart with a new copy of the production.
Nevertheless, this means that if you make configuration changes in staging databases
and do not apply them in the production,
they will not be passed on the next build of the same staging branch.
Nevertheless, this means that if you make configuration changes in staging databases and do not
apply them in the production, they will not be passed on the next build of the same staging branch.
Development
-----------
@@ -86,30 +87,30 @@ as they are meant to raise errors if something wrong occurs.
If all tests pass, and there is no error, the build will be considered successful.
According to the list of modules to install and test, a development build can take up to 1 hour to be ready.
This is due to the large number of tests set in the default Odoo modules suite.
According to the list of modules to install and test, a development build can take up to 1 hour to
be ready. This is due to the large number of tests set in the default Odoo modules suite.
Features
========
The production branch will always appear first,
and then the other branches are ordered by last build created. You can filter out the branches.
The production branch will always appear first, and then the other branches are ordered by last
build created. You can filter out the branches.
.. image:: builds/interface-builds-branches.png
:align: center
For each branch, you can access the last build's database using the *Connect* link and jump to the branch code using
the *Github* link. For other branches than the production, you can create a new build which will use the latest revision
of the branch using the link *rebuild*. This last link is not available when there is already a build in progress for
the branch.
For each branch, you can access the last build's database using the *Connect* link and jump to the
branch code using the *Github* link. For other branches than the production, you can create a new
build which will use the latest revision of the branch using the link *rebuild*. This last link is
not available when there is already a build in progress for the branch.
.. image:: builds/interface-builds-build.png
:align: center
For each build, you can access the revision changes using the button with the Github icon.
You can access the build's database as the administrator using the *Connect* button.
Also, you can access the database with another user using the *Connect as* button,
in the dropdown menu of the *Connect* button.
For each build, you can access the revision changes using the button with the Github icon. You can
access the build's database as the administrator using the *Connect* button. Also, you can access
the database with another user using the *Connect as* button, in the dropdown menu of the *Connect*
button.
.. _odoosh-gettingstarted-builds-download-dump:
@@ -118,6 +119,6 @@ in the dropdown menu of the *Connect* button.
.. _odoosh-gettingstarted-builds-dropdown-menu:
In the dropdown menu of the build, you can access the same features than in :ref:`the branches view <odoosh-gettingstarted-branches-tabs>`:
*Logs*, *Web Shell*, *Editor*, *Outgoing e-mails*.
You also have the possibility to *Download a dump* of the build's database.
In the dropdown menu of the build, you can access the same features than in :ref:`the branches view
<odoosh-gettingstarted-branches-tabs>`: *Logs*, *Web Shell*, *Editor*, *Outgoing e-mails*. You also
have the possibility to *Download a dump* of the build's database.

View File

@@ -1,9 +1,9 @@
.. _odoosh-gettingstarted-create:
==================================
===================
Create your project
==================================
===================
Deploy your platform
====================
@@ -16,7 +16,8 @@ Go to `Odoo.sh <https://www.odoo.sh/>`_ and hit the *Deploy your platform* butto
Sign in with Github
===================
Sign in with your Github account. If you do not have an account yet, hit the *Create an account* link.
Sign in with your Github account. If you do not have an account yet, hit the *Create an account*
link.
.. image:: create/github-signin.png
:align: center
@@ -33,34 +34,44 @@ Odoo.sh basically needs:
* to know your Github login and email,
* to create a new repository in case you decide to start from scratch,
* to read your existing repositories, including the ones of your organizations, in case you want to start from an existing repository,
* to read your existing repositories, including the ones of your organizations, in case you want to
start from an existing repository,
* to create a webhook to be notified each time you push changes,
* to commit changes to make your deployment easier, merging branches or adding new `submodules <https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ for example.
* to commit changes to make your deployment easier, merging branches or adding new `submodules
<https://git-scm.com/book/en/v2/Git-Tools-Submodules>`_ for example.
Submit your project
===================
Choose if you want to start from scratch by creating a new repository, or if you want to use an existing repository.
Choose if you want to start from scratch by creating a new repository, or if you want to use an
existing repository.
Then, choose a name or select the repository you want to use.
Choose the Odoo version you want to use. If you plan to import an existing database or an existing set of applications, you might need to choose the according version. If you start from scratch, use the latest version.
Choose the Odoo version you want to use. If you plan to import an existing database or an existing
set of applications, you might need to choose the according version. If you start from scratch, use
the latest version.
Enter your *subscription code*. This is also called *subscription referral*, *contract number* or *activation code*.
Enter your *subscription code*. This is also called *subscription referral*, *contract number* or
*activation code*.
It should be the code of your Enterprise subscription that includes Odoo.sh.
Partners can use their partnership codes to start a trial. Should their clients start a project, they ought to get an Enterprise subscription including Odoo.sh and use its subscription code. The partner will get the full amount as back commission.
Contact your sales representative or account manager in order to get it.
Partners can use their partnership codes to start a trial. Should their clients start a project,
they ought to get an Enterprise subscription including Odoo.sh and use its subscription code. The
partner will get the full amount as back commission. Contact your sales representative or account
manager in order to get it.
When submitting the form, if you are notified your subscription is not valid, it either means:
* it is not an existing subscription,
* it is not a partnership subscription,
* it is an enterprise subscription, but which does not include Odoo.sh,
* it is neither a partnership subscription or an enterprise subscription (e.g. an online subscription).
* it is neither a partnership subscription or an enterprise subscription (e.g. an online
subscription).
In case of doubt with your subscription, please contact the `Odoo support <https://www.odoo.com/help>`_.
In case of doubt with your subscription, please contact the `Odoo support
<https://www.odoo.com/help>`_.
.. image:: create/deploy-form.png
:align: center
@@ -68,7 +79,8 @@ In case of doubt with your subscription, please contact the `Odoo support <https
You're done !
=============
You can start using Odoo.sh. Your first build is about to be created. You will soon be able to connect to your first database.
You can start using Odoo.sh. Your first build is about to be created. You will soon be able to
connect to your first database.
.. image:: create/deploy-done.png
:align: center
@@ -88,9 +100,10 @@ If you use community or custom modules, add them in a branch in your Github repo
Databases hosted on the Odoo.com online platform do not have any custom modules.
Users of these databases can therefore skip this step.
You can structure your modules as you wish, Odoo.sh will automatically detect the folders containing Odoo addons.
For instance, you can put all your modules folder in the root directory of your repository,
or group the modules in folders by categories that you define (accounting, project, ...).
You can structure your modules as you wish, Odoo.sh will automatically detect the folders containing
Odoo addons. For instance, you can put all your modules folder in the root directory of your
repository, or group the modules in folders by categories that you define (accounting, project,
...).
For community modules available in public Git repositories,
you can also consider to add them using :ref:`Submodules <odoosh-advanced-submodules>`.
@@ -111,7 +124,8 @@ Access the URL :file:`/web/database/manager` of your on-premise database and dow
If you cannot access the database manager, it may have been disabled by your system administrator.
See the :ref:`database manager security documentation <db_manager_security>`.
You will need the master password of your database server. If you do not have it, contact your system administrator.
You will need the master password of your database server. If you do not have it, contact your
system administrator.
.. image:: create/create-import-onpremise-backup.png
:align: center
@@ -124,10 +138,11 @@ Choose a zip including the filestore as the backup format.
Odoo Online databases
~~~~~~~~~~~~~~~~~~~~~
`Access your databases manager <https://accounts.odoo.com/my/databases/manage>`_ and download a backup of your database.
`Access your databases manager <https://accounts.odoo.com/my/databases/manage>`_ and download a
backup of your database.
.. image:: create/create-import-online-backup.png
:align: center
:align: center
.. Warning::
@@ -136,52 +151,55 @@ Odoo Online databases
Upload the backup
-----------------
Then, in your Odoo.sh project, in the backups tab of your production branch, import the backup you just downloaded.
Then, in your Odoo.sh project, in the backups tab of your production branch, import the backup you
just downloaded.
.. image:: create/create-import-production.png
:align: center
Once the backup imported, you can access the database using the *Connect* button in the history of the branch.
Once the backup imported, you can access the database using the *Connect* button in the history of
the branch.
.. image:: create/create-import-production-done.png
:align: center
:align: center
Check your outgoing email servers
---------------------------------
There is a default mail server provided with Odoo.sh.
To use it, there must be no enabled outgoing mail server configured in your database in
:menuselection:`Settings --> Technical --> Outgoing Mail Servers`
(:ref:`Developer mode <developer-mode>` must be activated).
:menuselection:`Settings --> Technical --> Outgoing Mail Servers` (:ref:`Developer mode
<developer-mode>` must be activated).
After the import of your database,
all outgoing email servers are disabled so you use the Odoo.sh email server provided by default.
After the import of your database, all outgoing email servers are disabled so you use the Odoo.sh
email server provided by default.
.. Warning::
Port 25 is (and will stay) closed. If you want to connect to an external SMTP server, you should use ports 465 and 587.
.. warning::
Port 25 is (and will stay) closed. If you want to connect to an external SMTP server, you should
use ports 465 and 587.
Check your scheduled actions
----------------------------
All scheduled actions are disabled after the import.
This is to prevent your newly imported database to perform actions that could impact your running production,
such as sending the mails remaining in the queue, processing mass mailings, or third-party services synchronization
(Calendars, files hosting, ...).
This is to prevent your newly imported database to perform actions that could impact your running
production, such as sending the mails remaining in the queue, processing mass mailings, or
third-party services synchronization (Calendars, files hosting, ...).
If you plan to make the imported database your production, enable the scheduled actions you need.
You can check what is enabled in the database of origin and enable the same actions in the imported database.
Scheduled actions are located under :menuselection:`Settings --> Technical --> Automation --> Scheduled Actions`.
You can check what is enabled in the database of origin and enable the same actions in the imported
database. Scheduled actions are located under :menuselection:`Settings --> Technical --> Automation
--> Scheduled Actions`.
Register your subscription
--------------------------
Your subscription is unlinked after the import.
The imported database is considered a duplicate by default and the enterprise subscription is therefore removed,
as you can only have one database linked per subscription.
The imported database is considered a duplicate by default and the enterprise subscription is
therefore removed, as you can only have one database linked per subscription.
If you plan to make it your production,
unlink your former database from the subscription, and register the newly imported database.
Read the :doc:`database registration documentation <../../maintain/on_premise>` for instructions.
If you plan to make it your production, unlink your former database from the subscription, and
register the newly imported database. Read the :doc:`database registration documentation
<../../maintain/on_premise>` for instructions.

View File

@@ -27,7 +27,7 @@ Create the development branch
=============================
From Odoo.sh
-------------
------------
In the branches view:
@@ -43,20 +43,18 @@ In the branches view:
.. |pic2| image:: first_module/firstmodule-development-fork.png
:width: 45%
Once the build created, you can access the editor and browse to the folder *~/src/user* to access
to the code of your development branch.
.. image:: first_module/firstmodule-development-editor.png
:align: center
:align: center
.. image:: first_module/firstmodule-development-editor-interface.png
:align: center
:align: center
From your computer
------------------
Clone your Github repository on your computer:
.. code-block:: bash
@@ -72,7 +70,6 @@ Create a new branch:
$ git checkout -b feature-1 master
Create the module structure
===========================
@@ -119,11 +116,11 @@ The below structure will be generated:
├── templates.xml
└── views.xml
.. Warning::
.. warning::
Do not use special characters other than the underscore ( _ ) for your module name, not even an
hyphen ( - ). This name is used for the Python classes of your module, and having classes name
with special characters other than the underscore is not valid in Python.
Do not use special characters other than the underscore ( _ ) for your module name, not even an
hyphen ( - ). This name is used for the Python classes of your module, and having classes name
with special characters other than the underscore is not valid in Python.
Uncomment the content of the files:
@@ -222,7 +219,6 @@ install.
You can then play around with your module, create new records and test your features and buttons.
Test with the production data
=============================
@@ -237,12 +233,12 @@ You can either:
title.
.. image:: first_module/firstmodule-test-devtostaging.png
:align: center
:align: center
* Merge it in an existing staging branch, by drag and dropping it onto the given staging branch.
.. image:: first_module/firstmodule-test-devinstaging.png
:align: center
:align: center
You can also use the :code:`git merge` command to merge your branches.
@@ -250,7 +246,7 @@ This will create a new staging build, which will duplicate the production databa
using a server updated with your latest changes of your branch.
.. image:: first_module/firstmodule-test-mergedinstaging.png
:align: center
:align: center
Once the database ready, you can access it using the *Connect* button.
@@ -419,7 +415,7 @@ Or, from your computer terminal:
The platform will then create a new build for the branch *feature-1*.
.. image:: first_module/firstmodule-test-addachange-build.png
:align: center
:align: center
Once you tested your changes, you can merge your changes in the production branch, for instance by
drag-and-dropping the branch on the production branch in the Odoo.sh interface. As you increased the

View File

@@ -1,9 +1,9 @@
.. _odoosh-gettingstarted-online-editor:
==================================
=============
Online Editor
==================================
=============
Overview
========
@@ -120,24 +120,23 @@ In this last command,
.. image:: online-editor/interface-editor-commit-push.png
:align: center
.. Note::
The SSH Github remote is not used because your SSH private key
is not hosted in your build containers (for obvious security concerns)
nor forwarded through an SSH Agent (as you access this editor through a web browser)
and you therefore cannot authenticate yourself to Github using SSH.
You have to use the HTTPS remote of your Github repository to push your changes,
which is added automatically named as *https* in your Git remotes.
You will be prompted to enter your Github username and password.
If you activated the two-factor authentication on Github,
you can create a
`personal access token <https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>`_
and use it as password. Granting the ``repo`` permission suffices.
.. note::
The SSH Github remote is not used because your SSH private key
is not hosted in your build containers (for obvious security concerns)
nor forwarded through an SSH Agent (as you access this editor through a web browser)
and you therefore cannot authenticate yourself to Github using SSH.
You have to use the HTTPS remote of your Github repository to push your changes,
which is added automatically named as *https* in your Git remotes.
You will be prompted to enter your Github username and password.
If you activated the two-factor authentication on Github,
you can create a `personal access token
<https://help.github.com/articles/creating-a-personal-access-token-for-the-command-line/>`_
and use it as password. Granting the ``repo`` permission suffices.
.. Note::
The Git source folder *~/src/user* is not checked out on a branch but rather on a detached revision:
This is because builds work on specific revisions rather than branches.
In other words, this means you can have multiple builds on the same branch, but on different revisions.
.. note::
The Git source folder *~/src/user* is not checked out on a branch but rather on a detached revision:
This is because builds work on specific revisions rather than branches.
In other words, this means you can have multiple builds on the same branch, but on different revisions.
Once your changes are pushed,
according to your :ref:`branch push behavior <odoosh-gettingstarted-branches-tabs-settings>`,
@@ -166,12 +165,11 @@ You can also open an Odoo Shell console to play around
with the Odoo registry and model methods of your database. You can also directly read or write
on your records.
.. Warning::
In an Odoo Console, transactions are automatically committed.
This means, for instance, that changes in records are applied effectively in the database.
If you change the name of a user, the name of the user is changed in your database
as well.
You therefore should use Odoo consoles carefully on production databases.
.. warning::
In an Odoo Console, transactions are automatically committed.
This means, for instance, that changes in records are applied effectively in the database.
If you change the name of a user, the name of the user is changed in your database as well.
You therefore should use Odoo consoles carefully on production databases.
You can use *env* to invoke models of your database registry, e.g. :code:`env['res.users']`.
@@ -196,4 +194,4 @@ You can also use
to display graphs.
.. image:: online-editor/interface-editor-console-odoo-graph.png
:align: center
:align: center

View File

@@ -1,7 +1,6 @@
==================================
========
Settings
==================================
========
Overview
========
@@ -21,8 +20,8 @@ The name of your project.
This defines the address that will be used to access your production database.
Addresses of your staging and development builds are derived from this name and assigned automatically.
However, when you change your project name, only future builds will use the new name.
Addresses of your staging and development builds are derived from this name and assigned
automatically. However, when you change your project name, only future builds will use the new name.
.. _odoosh-gettingstarted-settings-collaborators:
@@ -39,10 +38,10 @@ There are two levels of users:
* Admin: has access to all features of Odoo.sh.
* User: does not have access to the project settings nor to the production and staging databases.
The user group is meant for developers who can make modifications in your code but are not allowed to access the
production data.
Users of this group cannot connect to the production and staging databases using the *1-click connect* feature,
but they can of course use their regular account on these databases if they have one, using their regular credentials.
The user group is meant for developers who can make modifications in your code but are not allowed
to access the production data. Users of this group cannot connect to the production and staging
databases using the *1-click connect* feature, but they can of course use their regular account on
these databases if they have one, using their regular credentials.
In addition, they cannot use the webshell nor have access to the server logs.
@@ -90,7 +89,8 @@ Allow public access to your development builds.
.. image:: settings/interface-settings-public.png
:align: center
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your development builds.
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your
development builds.
In addition, visitors have access to the logs, shell and mails of your development builds.
@@ -98,11 +98,11 @@ Production and staging builds are excluded, visitors can only see their status.
.. _odoosh-gettingstarted-settings-modules-installation:
Custom domains
==============
To configure additional domains please refer to the corresponding branch's :ref:`settings tab <odoosh-gettingstarted-branches-tabs-settings>`.
To configure additional domains please refer to the corresponding branch's :ref:`settings tab
<odoosh-gettingstarted-branches-tabs-settings>`.
.. _odoosh-gettingstarted-settings-submodules:
@@ -112,10 +112,10 @@ Submodules
Configure the deploy keys for the private repositories you use
as submodules in your branches to allow Odoo.sh to download them.
.. Warning::
These settings are required for **private repositories** only.
If you are looking on how to set up your submodules,
instructions are available in the chapter :ref:`Submodules <odoosh-advanced-submodules>` of this documentation.
.. warning::
These settings are required for **private repositories** only. If you are looking on how to set
up your submodules, instructions are available in the chapter :ref:`Submodules
<odoosh-advanced-submodules>` of this documentation.
.. image:: settings/interface-settings-submodules.png
:align: center
@@ -130,7 +130,8 @@ To configure the deploy key for a private repository, proceed as follows:
* in the input, paste the SSH URL of your private sub-repository and click on *Add*,
* e.g. *git@github.com:USERNAME/REPOSITORY.git*
* it can be another Git server than Github, such as Bitbucket, Gitlab or even your own self-hosted server
* it can be another Git server than Github, such as Bitbucket, Gitlab or even your own self-hosted
server
* copy the public key,
@@ -157,8 +158,9 @@ Storage size is computed as follows:
* the size of the disk files available in your container: database filestore, sessions storage directory...
.. Warning::
In case you want to analyze disk usage, you can run the tool `ncdu <https://dev.yorhel.nl/ncdu/man>`_ in your Web Shell.
.. warning::
In case you want to analyze disk usage, you can run the tool `ncdu
<https://dev.yorhel.nl/ncdu/man>`_ in your Web Shell.
Should your production database size grow to exceed what's provisioned in your subscription, it
will automatically be synchronized with it.
@@ -191,7 +193,8 @@ add more, it will automatically be synchronized with your subscription.
Activation
==========
Shows the status of the project's activation. You can change the project's activation code if needed.
Shows the status of the project's activation. You can change the project's activation code if
needed.
.. image:: settings/interface-settings-activation.png
:align: center

View File

@@ -1,12 +1,12 @@
==================================
======
Status
==================================
======
Overview
========
The status page shows statistics regarding the servers your project uses. It includes the servers availability.
The status page shows statistics regarding the servers your project uses. It includes the servers
availability.
.. image:: status/interface-status.png
:align: center

View File

@@ -1,8 +1,8 @@
:nosearch:
=================
========
Overview
=================
========
.. toctree::
:titlesonly:

View File

@@ -1,7 +1,6 @@
==============================
=======================
Introduction to Odoo.sh
==============================
=======================
.. youtube:: QuNsa9n9PMg
:align: right

View File

@@ -225,15 +225,14 @@ Service Level Agreement
What is covered by the Enterprise Licence?
------------------------------------------
Databases hosted on Odoos Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
Databases hosted on Odoo's Cloud platforms (Odoo Online and Odoo.sh) or On-Premise (Self-Hosting)
enjoy the following services at all times.
The upgrade of:
* standard applications
* Studio customization (as long as the :guilabel:`Studio` app is still active)
* customizations done by our consulting and developer services *if* they are covered by a
Maintenance of Customisations subscription
* customizations *if* they are covered by a "Maintenance of Customizations" subscription
The Upgrade Service is limited to your database's technical conversion and adaptation (standard
modules and data) to make it compatible with the targeted version.
@@ -244,6 +243,7 @@ What upgrading does NOT cover
* The cleaning of pre-existing data & configuration while upgrading
* Any new developments and/or upgrades of your own :ref:`custom modules
<upgrade-faq/custom-modules>`
* Lines of code added to standard modules that are not created with Odoo Studio.
* `Training <https://www.odoo.com/learn>`_ on the latest version
You can get more information about your Enterprise Licence on our :ref:`Odoo Enterprise Subscription

View File

@@ -12,3 +12,4 @@ Finance
finance/documents
finance/sign
finance/payment_providers
finance/fiscal_localizations

View File

@@ -16,7 +16,7 @@ accounts, smart matching suggestions, etc.
.. seealso::
- `Odoo Tutorials: Accounting <https://www.odoo.com/slides/accounting-19>`_
- :doc:`Accounting Cheat Sheet <accounting/getting_started/memento>`
- :doc:`Accounting Cheat Sheet <accounting/getting_started/cheat_sheet>`
.. toctree::
@@ -29,4 +29,3 @@ accounts, smart matching suggestions, etc.
accounting/taxation
accounting/reporting
accounting/others
accounting/fiscal_localizations

View File

@@ -1,11 +0,0 @@
:nosearch:
====================
Fiscal localizations
====================
.. toctree::
:titlesonly:
fiscal_localizations/overview
fiscal_localizations/localizations

View File

@@ -1,28 +0,0 @@
:nosearch:
=============
Localizations
=============
.. toctree::
:titlesonly:
localizations/argentina
localizations/australia
localizations/chile
localizations/colombia
localizations/colombia_ES
localizations/egypt
localizations/france
localizations/germany
localizations/india
localizations/indonesia
localizations/italy
localizations/italy_IT
localizations/kenya
localizations/luxembourg
localizations/mexico
localizations/netherlands
localizations/peru
localizations/spain
localizations/switzerland

View File

@@ -1,189 +0,0 @@
=====
India
=====
.. _india/installation:
Installation
============
:ref:`Install <general/install>` the following modules to get all the features of the Indian
localization:
.. list-table::
:header-rows: 1
* - Name
- Technical name
- Description
* - :guilabel:`Indian - Accounting`
- `l10n_in`
- Default :doc:`fiscal localization package <../overview/fiscal_localization_packages>`
* - :guilabel:`Indian E-invoice Integration`
- `l10n_in_edi`
- :ref:`Indian e-invoicing integration <india/e-invoicing>`
.. _india/e-invoicing:
Indian e-invoicing
==================
Odoo is compliant with the **Indian Good and Services Tax (GST) e-Invoice system** requirements.
.. important::
Indian e-invoicing is available from Odoo 15.0. If needed, :doc:`upgrade
</administration/upgrade>` your database.
.. _india/e-invoicing-api:
Registration on your NIC e-Invoice web portal
---------------------------------------------
You must register on the **NIC e-Invoice** web portal to get your **API credentials**. You need
these credentials to :ref:`configure your Odoo Accounting app <india/e-invoicing-configuration>`.
#. Login to the NIC e-Invoice web portal on - https://einvoice1.gst.gov.in/ by clicking on
:guilabel:`Login` and entering your :guilabel:`Username` and :guilabel:`Password`.
.. note::
If you have already registered on the NIC Eway Bill Production portal, then you can use the
same login credentials here.
.. image:: india/e-invoice-system-login.png
:align: center
:alt: Register Odoo ERP system on e-invoice web portal
#. From your dashboard, go to :menuselection:`API Registration --> User Credentials --> Create API
User`.
.. image:: india/e-invoice-create-api-user.png
:align: center
:alt: Click on User Credentials and Create API User
#. After that, you receive an :abbr:`OTP (one-time password)` code to your registered mobile number.
#. Enter the OTP code and click on :guilabel:`Verify OTP`.
.. image:: india/trigger-otp.png
:align: center
:alt: Trigger an OTP to your registerd phone number
#. Select :guilabel:`Through GSP` in the first field, select :guilabel:`Tera Software Limited`
as your GSP, and type in a :guilabel:`Username` and :guilabel:`Password` for your API.
.. image:: india/submit-api-registration-details.png
:align: center
:alt: Submit API specific Username and Password
#. Click on :guilabel:`Submit`.
.. _india/e-invoicing-configuration:
Configuration on Odoo
---------------------
To set up the e-invoice service, go to :menuselection:`Accounting --> Configuration --> Settings -->
Indian Electronic Invoicing`, and enter the :guilabel:`Username` and :guilabel:`Password`.
.. image:: india/e-invoice-setup.png
:align: center
:alt: Setup e-invoice service
.. _india/e-invoicing-journals:
Journals
~~~~~~~~
Your default *sales* journal should be already configured correctly. You can check it or configure
other journals by going to :menuselection:`Accounting --> Configuration --> Journals`. Then, open
your *sales* journal, and in the :guilabel:`Advanced Settings` tab, under :guilabel:`Electronic Data
Interchange`, check :guilabel:`E-Invoice (IN)` and :guilabel:`Save`.
.. image:: india/journal-configuration.png
:align: center
:alt: Journal configuration
.. _india/e-invoicing-workflow:
Workflow
--------
To start invoicing from Odoo, an invoice must be created using the standard invoicing flow, that is,
either from a sales order or the invoice menu in the Accounting application.
.. _india/invoice-validation:
Invoice validation
~~~~~~~~~~~~~~~~~~
Once the invoice is validated, a confirmation message is displayed at the top.
Odoo automatically uploads the JSON-signed file to the government portal after a while. If you want
to process the invoice immediately, you can click on :guilabel:`Process Now`.
.. image:: india/e-invoice-process.png
:align: center
:alt: Indian e-invoicing confirmation message: "The invoice will be processed asynchronously by
the following E-invoicing service : E-Invoice (IN)"
.. note::
- You can find the JSON-signed file in the attached files, in the chatter.
- You can check the status of EDI with web-service under the :guilabel:`EDI Document` tab or the
:guilabel:`Electronic invoicing` field.
.. _india/invoice-pdf-report:
Invoice PDF Report
~~~~~~~~~~~~~~~~~~
Once the invoice is submitted and validated, you can print the invoice PDF report. The report
includes the :abbr:`IRN (Invoice Reference Number)`, acknowledgment number and date, and QR code.
They certify that the invoice is a valid fiscal document.
.. image:: india/invoice-report.png
:align: center
:alt: IRN and QR code
.. _india/edi-cancellation:
EDI Cancellation
~~~~~~~~~~~~~~~~
If you want to cancel an e-invoice, go to the :guilabel:`Other info` tab of the invoice and fill out
the :guilabel:`Cancel reason` and :guilabel:`Cancel remarks` fields. Then, click on
:guilabel:`Request EDI cancellation`. The status of the :guilabel:`Electronic invoicing` field
changes to :guilabel:`To Cancel`.
.. image:: india/e-invoice-cancellation.png
:align: center
:alt: cancel reason and remarks
.. note::
If you want to abort the cancellation before processing the invoice, then click on
:guilabel:`Call Off EDI Cancellation`.
Once you request to cancel the e-invoice, Odoo automatically submits the JSON Signed file to the
government portal. If you want to process the invoice immediately, you can process it by clicking on
:guilabel:`Process Now`.
.. _india/verify-e-invoice:
Verify the e-invoice from the GST
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
After submitting an e-invoice, you can also verify the signed invoice from the GST e-Invoice system
website.
#. Download the JSON file from the attached files.
#. Open the e-invoice portal: https://einvoice1.gst.gov.in/ and go to :menuselection:`Search -->
Verify Signed Invoice`.
#. Select the JSON file and submit it.
.. image:: india/verify-invoice.png
:align: center
:alt: select the JSON file for verify invoice
#. You can check the verified signed e-invoice here.
.. image:: india/signed-invoice.png
:align: center
:alt: verified e-invoice

View File

@@ -1,79 +0,0 @@
=====
Italy
=====
Allow the user to generate the EDI document for Italian invoicing.
This module allows the creation of the EDI documents and the communication with the SDICoop web
service of FatturaPA to send or receive invoices and notifications.
.. warning::
Once this module is installed, it's no longer possible to send invoices via :ref:`PEC mails
<italy/pec>`.
SDICoop
=======
Configuration
-------------
Setup the Codice Destinatario on FatturaPA
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To receive invoices and notifications from third parties, you need to inform the FatturaPA service
that Odoo is the allowed party to process files for you. To do so, you must setup Odoo's *Codice
Destinatario* on the FatturaPA portal. The *Codice Destinatario* is ``K95IV18``.
#. Go to https://ivaservizi.agenziaentrate.gov.it/portale/ and authenticate.
#. Go to section :menuselection:`Fatture e Corrispettivi`.
#. Set the user as Legal Party for the VAT number you wish to configure the electronic adress.
#. In :menuselection:`Servizi Disponibili --> Fatturazione Elettronica --> Registrazione
dellindirizzo telematico dove ricevere tutte le fatture elettroniche`, input Odoo's Codice
Destinatario (**K95IV18**), then confirm.
Give Odoo permission to process files
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Since the files are transmitted through Odoo's server before being sent to SDICoop or received by
your database, you need to authorize Odoo to process your files from your database.
To do this, go to :menuselection:`Accounting --> Settings --> Electronic Invoicing` and click on
*Register*.
.. image:: italy/register.png
:align: center
:alt: Register button to allow Odoo to process invoices.
.. Note::
All your files are encrypted upon reception in such a way that only you are able to decrypt them.
Enable FatturaPA on the Sales journal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Open your sales journal. Under the *Advanced Settings* tab, in the **Electronic invoicing** field,
check *FatturaPA* and *Save*.
.. image:: italy/journal.png
:align: center
:alt: FatturaPA feature in the sales journal's settings
Issue invoices
--------------
Send an invoice the way you would do it normally. The EDI process proceeds automatically.
.. image:: italy/sending.png
:align: center
:alt: Asynchronous sending on a customer invoice
You can check the current status of your customer invoice under the **Electronic invoicing** field.
.. image:: italy/processing.png
:align: center
:alt: Electronic invoicing status (waiting for confirmation)
Receive invoices
~~~~~~~~~~~~~~~~
This process is ran automatically once a day.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -1,130 +0,0 @@
==========
Italy (IT)
==========
.. _italy/pec:
PEC mail
========
Questa guida spiegherà come utilizzare la fattura elettronica in Odoo e
come configurare correttamente i dati aziendali, i contatti e la
contabilità. Per testare la fattura elettronica i dati devono essere
reali e non inventati, altrimenti il sistema dellagenzia delle entrate
non riconoscerà linterscambio di informazioni.
Configurare le informazioni sulla tua Azienda
---------------------------------------------
Il passo successivo è la configurazione delle informazioni necessarie al
funzionamento della fatturazione elettronica. Si può accedere alla
schermata dallapplicazione Impostazioni: selezionare “Utenti e aziende”
e scegliere Aziende. Accedere quindi alle informazioni sulla Azienda per
cui si desidera configurare la fatturazione elettronica.
I dati necessari al funzionamento dello strumento di fatturazione
elettronica sono i seguenti:
- Server PEC. Le informazioni sul server utilizzato dal tuo indirizzo
di posta elettronica certificata sono fornite dal tuo fornitore o dal
Ministero. Lo stesso server deve essere configurato come server che
gestisce tutta la corrispondenza mail in Odoo, per saperne di più si
può consultare la relativa :doc:`guida </applications/general/email_communication/email_servers>`.
- Indirizzo PEC dellAzienda, tale indirizzo deve essere lo stesso
registrato presso lAgenzia delle Entrate per lutilizzo dei servizi
di fatturazione elettronica.
- Indirizzo PEC dellAgenzia delle Entrate. La mail sarà fornito al
momento della registrazione della tua PEC presso lAgenzia delle
Entrate, ricorda che lAgenzia delle Entrate potrebbe cambiare questo
indirizzo in seguito, previa comunicazione.
- Partita IVA e Codice Fiscale. Per far sì che la Fatturazione
Elettronica funzioni correttamente, questi campi devono essere
compilati correttamente.
- Regime Fiscale. Il regime fiscale a cui è sottoposta lAzienda deve
essere selezionato scegliendo dalla lista precompilata fornita da
Odoo. Chiedi al commercialista qual è il corretto regime fiscale!
- Numero di Iscrizione nel registro delle Imprese.
.. image:: italy_IT/italy_IT01.png
:align: center
Configurare le impostazioni per la Fatturazione Elettronica
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
- Numero di iscrizione nel registro Imprese tenuto presso la Camera di
Commercio.
- Rappresentate Fiscale. Questa opzione è dedicata ad aziende con sede
al di fuori del territorio nazionale ma conducenti attività
commerciali in Italia rilevanti ai fini dellIVA. È possibile
indicare in questo campo se lAzienda si avvale di un Rappresentate
Fiscale in Italia.
.. image:: italy_IT/italy_IT02.png
:align: center
Configurare il profilo dei clienti
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Per un corretto utilizzo dellapplicazione, il profilo di clienti e
fornitori, nellapplicazione contatti, deve essere configurato con le
necessarie informazioni legali.
Selezionando il nome del cliente e accedendo quindi ai suoi dati, si
trovano i seguenti campi che devono essere compilati: Indirizzo PEC,
Codice Fiscale e Indice PA *che deve contere i 6-7 caratteri
contenuti nellindice PA e necessari per la comunicazione tramite
fattura elettronica*.
.. image:: italy_IT/italy_IT03.png
:align: center
Il processo di fatturazione
---------------------------
Si può procedere ad emettere una fattura seguendo le indicazioni
dellapplicazione. Il momento che determina il formale invio della
fattura è il momento in cui viene selezionata lopzione “Valida”. La
fattura viene quindi inviata: lo stato della sua consegna verrà
notificato allutente tramite pop-up sulla parte iniziale della
schermata della fattura.
.. image:: italy_IT/italy_IT04.png
:align: center
.. image:: italy_IT/italy_IT05.png
:align: center
I messaggi che possono apparire sono i seguenti:
#. Fattura invitata. In attesa di accettazione
#. Invio fallito. Puoi modificare la fattura ed inviarla di nuovo
#. La fattura è stata correttamente inviata ed accettata dal
destinatario.
I vari stadi di spedizione e recezione della fattura sono visibili anche
dallelenco delle Fatture nella forma di icone, accanto alla colonna
“Stato” dallapplicazione contabilità.
*Icona Rossa*: Invio fallito
*Icona Gialla*: Fattura invitata. In attesa di accettazione
*Icona Verde*: Fattura inviata e accettata dal destinatario
Per inviare la fattura tramite PEC e generare il file XML, basterà
cliccare su invia. Il documento verrà poi mostrato tra gli allegati.
.. image:: italy_IT/italy_IT06.png
:align: center

View File

@@ -1,11 +0,0 @@
:nosearch:
========
Overview
========
.. toctree::
:titlesonly:
overview/fiscal_localization_packages
overview/localizations_list

View File

@@ -1,44 +0,0 @@
============================
Fiscal localization packages
============================
**Fiscal Localization Packages** are country-specific modules that install pre-configured taxes,
fiscal positions, chart of accounts, and legal statements on your database. Some additional features,
such as the configuration of specific certificates, are also added to your Accounting app, following
your fiscal administration requirements.
.. note::
Odoo continuously adds new localizations and improves the existing packages.
Configuration
=============
Odoo automatically installs the appropriate package for your company, according to the country
selected at the creation of the database.
.. important::
As long as you haven't posted any entry, you can still add and select another package.
To install a new package, go to :menuselection:`Accounting --> Configuration --> Fiscal
Localization`, click on **Install More Packages**, and install your country's module.
Once done, select your country's package, and click on *Save*.
.. image:: fiscal_localization_packages/fiscal_localization_packages_selection.png
:align: center
:alt: Select your country's fiscal localization package in Odoo Accounting.
Use
===
These packages require you to fine-tune your chart of accounts according to your needs, activate the
taxes you use, and configure your country-specific statements and certifications.
Please refer to the documentation listed below for more information.
.. seealso::
- :doc:`localizations_list`
- :doc:`../../getting_started/initial_configuration/chart_of_accounts`
- :doc:`../../taxation/taxes/taxes`
.. todo:: update list of linked docs, and link with the future one about country-specific statements.

View File

@@ -1,86 +0,0 @@
===========================
List of supported countries
===========================
Odoo Accounting can be used in many countries out of the box by installing the appropriate module.
Here is a list of all :doc:`Fiscal Localization Packages <fiscal_localization_packages>` that are
available on Odoo.
Fiscal localization packages available
======================================
- Algeria - Accounting
- Argentina - Accounting
- Australian - Accounting
- Austria - Accounting
- Belgium - Accounting
- Bolivia - Accounting
- Brazilian - Accounting
- Canada - Accounting
- Chile - Accounting
- China - Accounting
- Colombia - Accounting
- Costa Rica - Accounting
- Croatia - Accounting (RRIF 2012)
- Czech - Accounting
- Denmark - Accounting
- Dominican Republic - Accounting
- Ecuadorian - Accounting
- Egypt - Accounting
- Ethiopia - Accounting
- Finnish Localization
- France - Accounting
- Generic - Accounting
- Germany
- Germany SKR03 - Accounting
- Germany SKR04 - Accounting
- Greece - Accounting
- Guatemala - Accounting
- Honduras - Accounting
- Hong Kong - Accounting
- Hungarian - Accounting
- Indian - Accounting
- Indonesian - Accounting
- Ireland - Accounting
- Israel - Accounting
- Italy - Accounting
- Japan - Accounting
- Kenya - Accounting
- Lithuania - Accounting
- Luxembourg - Accounting
- Maroc - Accounting
- Mexico - Accounting
- Mongolia - Accounting
- Netherlands - Accounting
- New Zealand - Accounting
- Norway - Accounting
- OHADA - Accounting
- Pakistan - Accounting
- Panama - Accounting
- Peru - Accounting
- Poland - Accounting
- Portugal - Accounting
- Romania - Accounting
- Saudi Arabia - Accounting
- Singapore - Accounting
- Slovak - Accounting
- Slovenian - Accounting
- South Africa - Accounting
- Spain - Accounting (PGCE 2008)
- Sweden - Accounting
- Switzerland - Accounting
- Taiwan - Accounting
- Thailand - Accounting
- Turkey - Accounting
- U.A.E. - Accounting
- UK - Accounting
- Ukraine - Accounting
- United States - Accounting
- Uruguay - Accounting
- Venezuela - Accounting
- Vietnam - Accounting
.. seealso::
- :doc:`fiscal_localization_packages`

View File

@@ -8,6 +8,6 @@ Getting started
:titlesonly:
getting_started/main_concept
getting_started/memento
getting_started/cheat_sheet
getting_started/initial_configuration
getting_started/process_overview

View File

@@ -0,0 +1,253 @@
:code-column:
:custom-css: accounting.css
:custom-js: accounts.js,chart-of-accounts.js,entries.js,misc.js,reconciliation.js
======================
Accounting cheat sheet
======================
.. h:div:: intro-list
.. rst-class:: intro-balance
The **Balance Sheet** is a snapshot of the company's finances at a specific date (as opposed to
the Profit and Loss, which is an analysis over a period).
* .. rst-class:: intro-assets
**Assets** represent the company's wealth and the goods it owns. Fixed assets include buildings
and offices, while current assets include bank accounts and cash. The money owed by a client is
an asset. An employee is not an asset.
* .. rst-class:: intro-liabilities
**Liabilities** are obligations from past events that the company will have to pay in the
future (utility bills, debts, unpaid suppliers). Liabilities could also be defined as a source
of financing which is provided to the company, also called *leverage*.
* .. rst-class:: intro-equity
**Equity** is the amount of the funds contributed by the owners of the company (founders or
shareholders) plus previously retained earnings (or losses). Each year, net profits (or losses)
may be reported as retained earnings or distributed to the shareholders (as a dividend).
What is owned (an asset) has been financed through debts to reimburse (liabilities) or equity
(profits, capital).
A difference is made between **assets** and **expenses**:
- An **asset** is a resource with economic value that an individual, corporation, or country owns
or controls with the expectation that it will provide a future benefit. Assets are reported on
a company's balance sheet. They are bought or created to increase a firm's value or benefit its
operations.
- An **expense** is the costs of operations a company bears to generate revenues.
.. h:div:: intro-list
.. rst-class:: intro-p-l
The **profit and loss** (P&L) report shows the company's performance over a specific period of
time, usually a quarter or a fiscal year.
* .. rst-class:: intro-gross-profit
The **revenue** refers to the money earned by the company by selling goods and/or services.
* .. rst-class:: intro-gross-profit
The **cost of goods sold** (COGS, or also known as "Cost of Sale") refers to the sale of
goods' costs (e.g., the cost of the materials and labor used to create the goods).
* .. rst-class:: intro-gross-profit
The **Gross profit** equals the revenues from sales minus the cost of goods sold.
* .. rst-class:: intro-opex
**Operating expenses** (OPEX) include administration, sales and R&D salaries, rent and
utilities, miscellaneous costs, insurances, and anything beyond the costs of products sold
or the cost of sale.
.. h:div:: doc-aside accounts-table
.. placeholder
.. rst-class:: doc-aside
.. highlights:: Assets = Liabilities + Equity
Chart of accounts
=================
The **chart of accounts** lists all the company's accounts: both Balance sheet accounts and P&L
accounts. Every transaction is recorded by debiting and crediting multiple accounts in a journal
entry. In a way, a chart of accounts is like a company's DNA!
Every account listed in the chart of accounts belongs to a specific category. In Odoo, each account
has a unique code and belongs to one of these categories:
- **Equity and subordinated debts**
- **Equity** is the amount of money invested by a company's shareholders to finance the
company's activities.
- **Subordinated debts** are the amount of money lent by a third party to a company to finance
its activities. In the event of the dissolution of a company, these third parties are
reimbursed before the shareholders.
- **Fixed assets** are tangible (i.e., physical) items or properties that a company purchases and
uses to produce its goods and services. Fixed assets are long-term assets. This means the assets
have a useful life of more than one year. They also include properties, plants, and equipments
(also known as "PP&E") and are recorded on the balance sheet with that classification.
- **Current assets and liabilities**
- The **current assets** account is a balance sheet line item listed under the Assets section,
which accounts for all company-owned assets that can be converted to cash within one year.
Current assets include cash, cash equivalents, accounts receivable, stock inventory,
marketable securities, prepaid liabilities, and other liquid assets.
- **Current liabilities** are a company's short-term financial obligations due within one year.
An example of a current liability is money owed to suppliers in the form of accounts payable.
- **Bank and cash accounts**
- A **bank account** is a financial account maintained by a bank or other financial institution
in which the financial transactions between the bank and a customer are recorded.
- A **cash account**, or cash book, may refer to a ledger in which all cash transactions are
recorded. The cash account includes both the cash receipts and the cash payment journals.
- **Expenses and income**
- An **expense** is the costs of operations a company bears to generate revenues. It is simply
defined as the cost one is required to spend on obtaining something. Common expenses include
supplier payments, employee wages, factory leases, and equipment depreciation.
- The term "**income**" generally refers to the amount of money, property, and other transfers
of value received over a set period of time in exchange for services or products.
Example
-------
.. h:div:: example
\*: Customer Refund and Customer Payment boxes cannot be simultaneously selected as they are contradictory.
.. h:div:: doc-aside
.. highlights:: Balance = Debit - Credit
.. h:div:: chart-of-accounts
.. placeholder
Journal entries
===============
Every financial document of the company (e.g., an invoice, a bank statement, a pay slip, a capital
increase contract) is recorded as a journal entry, impacting several accounts.
For a journal entry to be balanced, the sum of all its debits must be equal to the sum of all its
credits.
.. h:div:: doc-aside journal-entries
examples of accounting entries for various transactions. (see entries.js)
.. _accounting/reconciliation:
Reconciliation
==============
:doc:`Reconciliation <../../accounting/bank/reconciliation/use_cases>` is the process of linking
journal items of a specific account and matching credits and debits.
Its primary purpose is to link payments to their related invoices to mark them as paid. This is done
by doing a reconciliation on the accounts receivable account and/or the accounts payable account.
Reconciliation is performed automatically by the system when:
- the payment is registered directly on the invoice
- the links between the payments and the invoices are detected at the bank matching process
.. h:div:: doc-aside reconciliation-example
.. rubric:: Customer Statement Example
.. rst-class:: table-sm d-c-table
+-------------------------+-------------------------+-----------------------+
|Accounts Receivable |Debit |Credit |
+=========================+=========================+=======================+
|Invoice 1 |100 | |
+-------------------------+-------------------------+-----------------------+
|Partial payment 1/2 | |70 |
+-------------------------+-------------------------+-----------------------+
|Invoice 2 |65 | |
+-------------------------+-------------------------+-----------------------+
|Partial payment 2/2 | |30 |
+-------------------------+-------------------------+-----------------------+
|Payment 2 | |65 |
+-------------------------+-------------------------+-----------------------+
|Invoice 3 |50 | |
+-------------------------+-------------------------+-----------------------+
| | | |
+-------------------------+-------------------------+-----------------------+
|Total to pay |50 | |
+-------------------------+-------------------------+-----------------------+
Bank Reconciliation
===================
Bank reconciliation is the matching of bank statement lines (provided by your bank) with
transactions recorded internally (payments to suppliers or from customers). For each line in a bank
statement, it can be:
- **matched with a previously recorded payment**: a payment is registered when a check is received
from a customer, then matched when checking the bank statement.
- **recorded as a new payment**: the payment's journal entry is created and reconciled with the
related invoice when processing the bank statement.
- **recorded as another transaction**: bank transfer, direct charge, etc.
Odoo should automatically reconcile most transactions; only a few should need manual review. When
the bank reconciliation process is finished, the balance on the bank account in Odoo should match
the bank statement's balance.
.. rst-class:: checks-handling
Checks Handling
===============
There are two approaches to managing checks and internal wire transfers:
- Two journal entries and a reconciliation
- One journal entry and a bank reconciliation
.. h:div:: doc-aside
The first journal entry is created by registering the payment on the
invoice. The second one is created when registering the bank statement.
.. rst-class:: table-sm d-c-table
+-------------------------+--------------+------------+---------------+
|Account |Debit |Credit |Reconciliation |
+=========================+==============+============+===============+
|Account Receivable | |100 |Invoice ABC |
+-------------------------+--------------+------------+---------------+
|Undeposited funds |100 | |Check 0123 |
+-------------------------+--------------+------------+---------------+
.. rst-class:: table-sm d-c-table
+-------------------------+--------------+------------+---------------+
|Account |Debit |Credit |Reconciliation |
+=========================+==============+============+===============+
|Undeposited funds | |100 |Check 0123 |
+-------------------------+--------------+------------+---------------+
|Bank |100 | | |
+-------------------------+--------------+------------+---------------+
.. h:div:: doc-aside
A journal entry is created by registering the payment on the invoice. When
reconciling the bank statement, the statement line is linked to the
existing journal entry.
.. rst-class:: table-sm d-c-table
+-------------------------+--------------+------------+---------------+---------------+
|Account |Debit |Credit |Reconciliation |Bank Statement |
+=========================+==============+============+===============+===============+
|Account Receivable | |100 |Invoice ABC | |
+-------------------------+--------------+------------+---------------+---------------+
|Bank |100 | | |Statement XYZ |
+-------------------------+--------------+------------+---------------+---------------+

View File

@@ -182,7 +182,8 @@ them unusable by using the **Deprecated** feature.
To do so, check the :guilabel:`Deprecated` box in the account's settings, and save.
.. seealso::
* :doc:`../cheat_sheet`
* :doc:`../../payables/supplier_bills/assets`
* :doc:`../../payables/supplier_bills/deferred_expenses`
* :doc:`../../receivables/customer_invoices/deferred_revenues`
* :doc:`../../fiscal_localizations/overview/fiscal_localization_packages`
* :doc:`../../../fiscal_localizations`

View File

@@ -12,9 +12,8 @@ The settings visible in the onboarding banner can still be modified later by goi
.. note::
Odoo Accounting automatically installs the appropriate **Fiscal Localization Package** for your
company, according to the country selected at the creation of the database. This way, the right
accounts, reports, and taxes are ready-to-go. :doc:`Click here
<../../fiscal_localizations/overview/fiscal_localization_packages>` for more information about
Fiscal Localization Packages.
accounts, reports, and taxes are ready-to-go. :ref:`Click here <fiscal_localizations/packages>`
for more information about Fiscal Localization Packages.
Accounting onboarding banner
============================
@@ -190,5 +189,5 @@ Send yourself a sample invoice by email to make sure everything is correctly con
* :doc:`../../bank/setup/bank_accounts`
* :doc:`chart_of_accounts`
* :doc:`../../bank/feeds/bank_synchronization`
* :doc:`../../fiscal_localizations/overview/fiscal_localization_packages`
* :doc:`../../../fiscal_localizations`
* `Odoo Tutorials: Accounting Basics <https://www.odoo.com/r/lsZ>`_

View File

@@ -14,7 +14,7 @@ entries are automatically balanced (sum of debits = sum of credits).
.. seealso::
- :doc:`Understand Odoo's accounting transactions per document
<memento>`
<cheat_sheet>`
Accrual and Cash Basis Methods
==============================

View File

@@ -1,249 +0,0 @@
:code-column:
:custom-css: accounting.css
:custom-js: accounts.js,chart-of-accounts.js,entries.js,misc.js,reconciliation.js
======================
Accounting cheat sheet
======================
.. h:div:: intro-list
.. rst-class:: intro-p-l
The **Profit and Loss** (P&L) report shows the performance of the company
over a specific period (usually the current year).
* .. rst-class:: intro-gross-profit
The **Gross Profit** equals the revenues from sales minus the cost of
goods sold.
* .. rst-class:: intro-opex
**Operating Expenses** (OPEX) include administration, sales and R&D
salaries as well as rent and utilities, miscellaneous costs, insurances,
… anything beyond the costs of products sold.
.. rst-class:: intro-balance
The **Balance Sheet** is a snapshot of the company's finances at a specific
date (as opposed to the Profit and Loss which is an analysis over a period)
* .. rst-class:: intro-assets
**Assets** represent the company's wealth, things it owns. Fixed assets
includes building and offices, current assets include bank accounts and
cash. A client owing money is an asset. An employee is not an asset.
* .. rst-class:: intro-liabilities
**Liabilities** are obligations from past events that the company will
have to pay in the future (utility bills, debts, unpaid suppliers).
* .. rst-class:: intro-equity
**Equity** is the amount of the funds contributed by the owners (founders
or shareholders) plus previously retained earnings (or losses).
.. rst-class:: intro-retained
Each year, net profits (or losses) are reported to retained earnings.
.. h:div:: doc-aside accounts-table
.. placeholder
What is owned (an asset) has been financed through debts to reimburse
(liabilities) or equity (profits, capital).
A difference is made between buying an assets (e.g. a building) and expenses
(e.g. fuel). Assets have an intrinsic value over time, versus expenses having
value in them being consumed for the company to "work".
.. rst-class:: doc-aside
.. highlights:: Assets = Liabilities + Equity
Chart of Accounts
=================
The **chart of accounts** lists all the accounts, whether they are balance
sheet accounts or P&L accounts. Every financial transaction (e.g. a payment, an
invoice) impacts accounts by moving value from one account (credit) to an other
account (debit).
.. h:div:: doc-aside
.. highlights:: Balance = Debit - Credit
.. h:div:: chart-of-accounts
.. placeholder
Journal Entries
===============
Every financial document of the company (e.g. an invoice, a bank statement, a
pay slip, a capital increase contract) is recorded as a journal entry,
impacting several accounts.
For a journal entry to be *balanced*, the sum of all its debits must be equal
to the sum of all its credits.
.. h:div:: doc-aside journal-entries
examples of accounting entries for various transactions. Example:
Example 1: Customer Invoice:
Explanation:
- You generate a revenue of $1,000
- You have a tax to pay of $90
- The customer owes $1,090
Configuration:
- Income: defined on the product, or the product category
- Account Receivable: defined on the customer
- Tax: defined on the tax set on the invoice line
The fiscal position used on the invoice may have a rule that
replaces the Income Account or the tax defined on the product by another
one.
Example 2: Customer Payment:
Explanation:
- Your customer owes $1,090 less
- Your receive $1,090 on your bank account
Configuration:
- Bank Account: defined on the related bank journal
- Account Receivable: defined on the customer
.. _accounting/reconciliation:
Reconciliation
==============
Reconciliation is the process of linking journal items of a specific account,
matching credits and debits.
Its primary purpose is to link payments to their related invoices in order to
mark invoices that are paid and clear the customer statement. This is done by
doing a reconciliation on the *Accounts Receivable* account.
An invoice is marked as paid when its Accounts Receivable journal items are
reconciled with the related payment journal items.
Reconciliation is performed automatically by the system when:
* the payment is registered directly on the invoice
* the links between the payments and the invoices are detected at the bank
matching process
.. h:div:: doc-aside reconciliation-example
.. rubric:: Customer Statement Example
.. rst-class:: table-sm d-c-table
+-------------------------+-------------------------+-----------------------+
|Accounts Receivable |Debit |Credit |
+=========================+=========================+=======================+
|Invoice 1 |100 | |
+-------------------------+-------------------------+-----------------------+
|Payment 1.1 | |70 |
+-------------------------+-------------------------+-----------------------+
|Invoice 2 |65 | |
+-------------------------+-------------------------+-----------------------+
|Payment 1.2 | |30 |
+-------------------------+-------------------------+-----------------------+
|Payment 2 | |65 |
+-------------------------+-------------------------+-----------------------+
|Invoice 3 |50 | |
+-------------------------+-------------------------+-----------------------+
| | | |
+-------------------------+-------------------------+-----------------------+
|Total To Pay |50 | |
+-------------------------+-------------------------+-----------------------+
Bank Reconciliation
===================
Bank reconciliation is the matching of bank statement lines (provided by your
bank) with transactions recorded internally (payments to suppliers or from
customers). For each line in a bank statement, it can be:
matched with a previously recorded payment:
a payment is registered when a check is received from a customer, then
matched when checking the bank statement
recorded as a new payment:
the payment's journal entry is created and :ref:`reconciled
<accounting/reconciliation>` with the related invoice when processing the
bank statement
recorded as another transaction:
bank transfer, direct charge, etc.
Odoo should automatically reconcile most transactions, only a few of them
should need manual review. When the bank reconciliation process is finished,
the balance on the bank account in Odoo should match the bank statement's
balance.
.. rst-class:: checks-handling
Checks Handling
===============
There are two approaches to manage checks and internal wire transfer:
* Two journal entries and a reconciliation
* One journal entry and a bank reconciliation
.. h:div:: doc-aside
The first journal entry is created by registering the payment on the
invoice. The second one is created when registering the bank statement.
.. rst-class:: table-sm d-c-table
+-------------------------+--------------+------------+---------------+
|Account |Debit |Credit |Reconciliation |
+=========================+==============+============+===============+
|Account Receivable | |100 |Invoice ABC |
+-------------------------+--------------+------------+---------------+
|Undeposited funds |100 | |Check 0123 |
+-------------------------+--------------+------------+---------------+
.. rst-class:: table-sm d-c-table
+-------------------------+--------------+------------+---------------+
|Account |Debit |Credit |Reconciliation |
+=========================+==============+============+===============+
|Undeposited funds | |100 |Check 0123 |
+-------------------------+--------------+------------+---------------+
|Bank |100 | | |
+-------------------------+--------------+------------+---------------+
.. h:div:: doc-aside
A journal entry is created by registering the payment on the invoice. When
reconciling the bank statement, the statement line is linked to the
existing journal entry.
.. rst-class:: table-sm d-c-table
+-------------------------+--------------+------------+---------------+---------------+
|Account |Debit |Credit |Reconciliation |Bank Statement |
+=========================+==============+============+===============+===============+
|Account Receivable | |100 |Invoice ABC | |
+-------------------------+--------------+------------+---------------+---------------+
|Bank |100 | | |Statement XYZ |
+-------------------------+--------------+------------+---------------+---------------+

View File

@@ -1,157 +1,102 @@
=========================
Manage a financial budget
=========================
================
Financial budget
================
Overview
========
Managing budgets is an essential part of running a business. Budgets help
people become more intentional with the way money is spent and direct people
to organize and prioritize their work to meet financial goals. They allows
you to plan your desired financial outcome and then measure your actual
performance against the plan. Odoo manages budgets using both General and Analytic
Accounts.
We will use the following example to illustrate. We just started a
project with Smith&Co and we would like to budget the incomes and
expenses of that project. We plan to have a revenue of 1000 and we don't
want to spend more than 700.
Managing budgets is an essential part of running a business. Budgets help people become more
intentional with how money is spent and direct people to organize and prioritize their work to meet
financial goals. They allow the planning of a desired financial outcome and then measure the actual
performance against the plan. Odoo manages budgets using both **general** and **analytic accounts**.
Configuration
=============
First we need to install the relevant apps to use budgeting. The main
module is the accounting app. Go in the app module and install the
**Accounting and Finance** app.
Go to :menuselection:`Accounting --> Configuration --> Settings --> Analytics section`, and enable
:guilabel:`Budget Management`.
.. image:: budget/budget01.png
:align: center
Further configuration is as well necessary. Go to :menuselection:`Accounting
module --> Configuration --> Settings` and enable the **Budget
management** feature
.. image:: budget/budget02.png
:align: center
Budgetary Positions
Budgetary positions
-------------------
Budgetary positions are lists of accounts for which you want to keep
budgets (typically expense or income accounts). They need to be defined
so Odoo can know it which accounts he needs to go get the budget
information.
Budgetary positions are lists of accounts for which you want to keep budgets (typically expense or
income accounts).
The budgetary positions act as a type of restriction on what can be recorded
in the 'practical amount' column in a budget.
Each budgetary position can have any number of accounts from the general
ledger (the main chart of accounts) assigned to it, though it must have at least one.
If you record a transaction that has an analytic account assigned to it that *is*
included in a budget line but one of the general ledger accounts *is not* included
in the budgetary position for that same budget line, it will not appear within the
'practical amount' column of that budget line.
Some budgetary positions might be already installed with your chart of
To define budgetary positions, go to :menuselection:`Accounting --> Configuration --> Management:
Budgetary Positions` and :guilabel:`New`. Add a :guilabel:`Name` to your budgetary position and
select the :guilabel:`Company` it applies to. Click :guilabel:`Add a line` to add one or more
accounts.
To define the positions enter the :menuselection:`Accounting module --> Configuration -->
Budgetary Positions`.
.. note::
Each budgetary position can have any number of accounts from the chart of accounts, though it
must have at least one.
For our example we need to define what accounts relates to our project's
expenses. Create a position and add items to select the accounts.
Use case
========
.. image:: budget/budget03.png
Lets illustrate this with an example.
We just started a project with *Smith & Co*, and we would like to budget the income and expenses of
that project. We plan on having a revenue of 1000, and we dont want to spend more than 700.
First, we need to define what accounts relate to our projects expenses. Go to
:menuselection:`Accounting --> Configuration --> Management: Budgetary positions`, and click
:guilabel:`New` to add a position. Add the accounts wherein expenses will be booked.
.. image:: budget/smith-and-co-expenses.png
:align: center
:alt: display the Smith and Co expenses
In this case we select the three relevant accounts used wherein we will
book our expenses.
Let's repeat the steps to create a budgetary position that reflects the revenue.
.. image:: budget/budget04.png
.. image:: budget/smith-and-co-revenue.png
:align: center
:alt: display the Smith and Co revenue
Click on *Select*.
Analytical accounts
-------------------
.. image:: budget/budget05.png
Odoo needs to know which costs or expenses are relevant to a specified budget, as the above general
accounts may be used for different projects. Go to :menuselection:`Accounting --> Configuration -->
Analytic Accounting: Analytic Accounts` and click :guilabel:`New` to add a new **Analytic Account**
called *Smith & Co*.
The :guilabel:`Plan` field has to be completed. Plans group multiple analytic accounts; they
distribute costs and benefits to analyze business performance. **Analytic Plans** can be created or
configured by going to :menuselection:`Accounting --> Configuration --> Analytic Accounting:
Analytic Plans`.
When creating a new customer invoice and/or vendor bill, you have to refer to this analytic account.
.. image:: budget/analytic-accounts.png
:align: center
:alt: add analytic accounts in a new invoice or bill.
Save the changes to confirm your Budgetary position.
Define the budget
-----------------
Repeat this steps to create a revenue budgetary position. Only in this
case select the relevant income accounts.
Lets set our targets. We specified that we expect to gain 1000 with this project, and we would like
not to spend more than 700. Go to :menuselection:`Accounting --> Management: Budgets` and click
:guilabel:`New` to create a new budget for *Smith & Co* project.
Analytical account
------------------
First, fill in your :guilabel:`Budget Name`. Then, select the :guilabel:`Period` wherein the budget
is applicable. Next, add the :guilabel:`Budgetary Position` you want to track, define the related
:guilabel:`Analytic Account`, and add the :guilabel:`Planned Amount`.
Odoo needs to know which costs or
expenses are relevant to a specified budget. To do so we need to link
our invoices and expenses to a defined analytical account. Create an
analytical account by entering the Accounting module and clicking
:menuselection:`Advisers --> Analytic Accounts --> Open Charts`. Create a new Account
called Smith&Co project and select the related partner.
.. image:: budget/budget06.png
.. image:: budget/define-the-budget.png
:align: center
:alt: budget lines display
Set a budget
============
Let's now set our targets for our budget. We specified that we expect to
gain 1000 with this project and we would like not to spend more than
700.
To set those targets, enter the accounting app, select :menuselection:`Advisers -->
Budgets` and create a new Budget.
We have to give a name to the budget. In this case we'll call it "Smith
Project". Select the period wherein the budget will be applicable. Next
add an item to specify your targets in the Budget Line.
.. image:: budget/budget07.png
:align: center
Select the Budgetary Position related to the Budget Line. In other
words, select the position that points to the accounts you want to
budget. In this case we will start with our 700 maximum charge target.
Select the "Cost" Budgetary Position and specify the Planned Amount.
As we are recording a cost, we need to specify a **negative amount**.
Finally, select the corresponding analytic account.
.. image:: budget/budget08.png
:align: center
Click on **Save & new** to input the revenue budget. The Budgetary
Position is Revenue and the Planned Amount is 1000. Save and close
You'll need to **Confirm** and **Approve** the budget.
.. Note::
When recording a planned amount related to expenses, the amount must be negative.
Check your budget
=================
-----------------
You can check your budget at any time. To see the evolution, let's book
some Invoices and Vendors Bills.
Go to :menuselection:`Accounting --> Management: Budgets` and find the *Smith & Co* Project to see
how it evolves according to the expenses or income for the related analytic account.
.. tip::
If you use analytical accounts remember that you need to specify the account in the invoice
and/or purchase line.
The :guilabel:`Practical Amount` evolves when a new journal entry related to your analytic account
and an account from your budgetary position is created.
.. seealso::
For more information about booking invoices and purchase orders see
:doc:`../../receivables/customer_invoices/overview`
Go back in the budget list and find the Smith Project.
Via the analytical account, Odoo can account the invoice lines and
purchase lines booked in the accounts and will display them in the
**Practical Amount** column.
.. image:: budget/budget09.png
:align: center
.. note::
The theoretical amount represents the amount of money you theoretically could
have spend / should have received in function of the date. When your budget
is 1200 for 12 months (january to december), and today is 31 of january, the
theoretical amount will be 100, since this is the actual amount that could
have been realised.
The :guilabel:`Theoretical Amount` represents the amount of money you theoretically could have spent
or should have received based on the date. For example, suppose your budget is 1200 for 12 months
(January to December), and today is 31 of January. In that case, the theoretical amount will be 100
since this is the actual amount that could have been made.

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -59,7 +59,7 @@ Repeat the operation to create the Cedric Digory employee. Don't forget
to specify its related user and **Timesheet Costs**.
Issue a Sales Order
--------------------
-------------------
We created two employees called Harry Potter and Cedric Diggory in the
**Employee** app. Both of them will work on a consultancy contract for our
@@ -148,7 +148,7 @@ We can thus filter this information from the **Analytic Entries**.
Enter the **Accounting** app, and click on :menuselection:`Adviser --> Analytic Entries`.
In this menu we have several options to analyse the human resource cost.
1. We filter on the **Analytic account** so we can see the cost and revenues
#. We filter on the **Analytic account** so we can see the cost and revenues
of the project. Add a custom **Filter** where the **Analytic Account**
contains the **Sales Order** number.
@@ -161,7 +161,7 @@ In this menu we have several options to analyse the human resource cost.
.. image:: timesheets/timesheets09.png
:align: center
2. We can group the different analytical accounts together and check
#. We can group the different analytical accounts together and check
their respective revenues. Simply group by **Analytic account** and
select the **Graph view** to have a clear overview.

View File

@@ -6,8 +6,8 @@ Odoo offers the possibility of grouping multiple bills' payments into one, facil
reconciliation process.
.. seealso::
- :doc:`../supplier_bills/manage`
- :doc:`../../bank/reconciliation/use_cases`
- :doc:`/applications/inventory_and_mrp/purchase/manage_deals/manage`
- :doc:`/applications/finance/accounting/bank/reconciliation/use_cases`
Group payments
==============
@@ -43,9 +43,11 @@ Partial group payments with cash discounts
------------------------------------------
In case of **partial group payments with cash discounts**, you can follow the steps found on the
:doc:`cash discount documentation page <../../receivables/customer_invoices/cash_discounts>`. Make
sure to apply the :doc:`payment terms <../../receivables/customer_invoices/payment_terms>` to the
**bills** *instead* of the invoices.
:doc:`cash discount documentation page
</applications/finance/accounting/receivables/customer_invoices/cash_discounts>`. Make sure to
apply the :doc:`payment terms
</applications/finance/accounting/receivables/customer_invoices/payment_terms>` to the **bills**
*instead* of the invoices.
.. seealso::
:doc:`../../receivables/customer_invoices/payment_terms`
:doc:`/applications/finance/accounting/receivables/customer_invoices/payment_terms`

View File

@@ -7,7 +7,6 @@ Vendor bills
.. toctree::
:titlesonly:
supplier_bills/manage
supplier_bills/purchase_receipts
supplier_bills/deferred_expenses
supplier_bills/assets

View File

@@ -48,7 +48,7 @@ Post an expense to the right account
------------------------------------
Select the account on a draft bill
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On a draft bill, select the right account for all the products of which the expenses must be
deferred.
@@ -72,7 +72,7 @@ save.
`Automate the Deferred Expenses`_).
Change the account of a posted journal item
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To do so, open your Purchases Journal by going to :menuselection:`Accounting --> Accounting -->
Purchases`, select the journal item you want to modify, click on the account, and select the right

View File

@@ -41,5 +41,5 @@ needs, and click on *Post*.
:alt: Change the accounts used in the journal entry to record a purchase receipt.
.. seealso::
- :doc:`manage`
- :doc:`/applications/inventory_and_mrp/purchase/manage_deals/manage`
- :doc:`/applications/finance/expenses`

View File

@@ -1,6 +1,7 @@
========================
Credit notes and refunds
========================
A **credit note**, or **credit memo**, is a document issued
to a customer that notifies them that they have been credited
a certain amount.
@@ -18,6 +19,7 @@ There are several reasons that can lead to a credit note, such as:
Issue a Credit Note
===================
You can create a credit note from scratch by going to
:menuselection:`Accounting --> Customers --> Credit Notes`,
and by clicking on *Create*. Filling the Credit Notes form
@@ -42,6 +44,7 @@ You can choose between three options:
Partial Refund
--------------
Odoo creates a draft credit note already prefilled with all the
necessary information from the original invoice.
@@ -53,6 +56,7 @@ want to modify any detail on the credit note.
Full Refund
-----------
Odoo creates a credit note, automatically validates it, and
reconciles the original invoice with it.
@@ -64,6 +68,7 @@ a validated invoice.
Full refund and new draft invoice
---------------------------------
Odoo creates a credit note, automatically validates it, reconciles
the original invoice with it, and open a new draft invoice
prefilled with the same details from the original invoice.
@@ -72,6 +77,7 @@ This is the option to choose to modify the content of a validated invoice.
Record a Vendor Refund
======================
**Vendor Refunds** are recorded the same way you would do with invoices credit notes:
You can either create a credit note from scratch by going
@@ -81,6 +87,7 @@ and clicking on *Add Credit Note*.
Journal Entries
===============
Issuing a credit note from an invoice creates a **reverse entry**
that zeroes out the journal items generated by the original invoice.

View File

@@ -71,7 +71,7 @@ save.
`Automate the Deferred Revenues`_).
Change the account of a posted journal item
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To do so, open your Sales Journal by going to
:menuselection:`Accounting --> Accounting --> Sales`, select the journal item you

View File

@@ -47,9 +47,13 @@ Odoo supports, among others, the following formats.
- For Dutch companies
* - EHF 3.0
- For Norwegian companies
* - A-NZ BIS Billing 3.0
- For Australian/New Zealand companies
.. seealso::
- :doc:`../../fiscal_localizations/overview/fiscal_localization_packages`
:ref:`fiscal_localizations/packages`
.. _e-invoicing/configuration:
Configuration
=============

View File

@@ -1,6 +1,7 @@
============================
Add EPC QR Codes to invoices
============================
European Payments Council Quick Response Code,
or **EPC QR Code**, are two-dimensional barcodes
that customers can scan with their **mobile banking
@@ -18,6 +19,7 @@ make for payment issues.
Configuration
=============
Go to :menuselection:`Accounting --> Configuration --> Settings`
and activate the **SEPA QR Code** feature.
@@ -26,6 +28,7 @@ and activate the **SEPA QR Code** feature.
Configure your Bank Accounts journal
-------------------------------------
Make sure that your *Bank Account* is correctly configured
on Odoo with your IBAN and BIC.
@@ -38,6 +41,7 @@ To do so, go to :menuselection:`Accounting --> Configuration
Issue Invoices with EPC QR Codes
================================
EPC QR Codes are added automatically to your invoices, as
long as you issue them to customers that are located in a
country where this feature is available.

View File

@@ -149,7 +149,7 @@ It remains possible to resequence the invoices but with some restrictions:
current year without starting over from the beginning.
Invoice digitization with optical character recognition (OCR)
---------------------------------------------------------------
-------------------------------------------------------------
**Invoice digitization** is the process of automatically encoding traditional paper invoices into
invoices forms in your accounting.

View File

@@ -1,7 +1,13 @@
:show-content:
======================
Invoice online payment
======================
.. toctree::
online_payment/install_portal_patch
To make it more convenient for your customers to pay the invoices you issue, you can activate the
**Invoice Online Payment** feature, which adds a *Pay Now* button on their **Customer Portal**. This
allows your customers to see their invoices online and pay directly with their favorite payment

View File

@@ -0,0 +1,57 @@
===================================================
Install the patch to disable online invoice payment
===================================================
Following recent changes in Odoo 16, you might be warned that disabling the :guilabel:`Invoice
Online Payment` setting will uninstall modules. If you want to disable the feature without
uninstalling modules, follow the steps below to install the module **Payment - Account / Invoice
Online Payment Patch**.
.. note::
| If your Odoo database is created after the module **Payment - Account / Invoice Online Payment
Patch** was released, you don't have anything to do.
| To check if the module is already installed, go to :guilabel:`Apps`, remove the `Apps` filter,
and search for `account_payment`. If the module **Payment - Account / Invoice Online Payment
Patch** is present and marked as installed, your Odoo database is already up-to-date and you
are able to disable the feature without side-effect.
Update Odoo to the latest release
=================================
The possibility to disable the :guilabel:`Invoice Online Payment` setting without side-effect is
made available through a new Odoo module; to be able to install it, you must make sure that your
Odoo source code is up-to-date.
If you use Odoo on Odoo.com or Odoo.sh platform, your code is already up-to-date and you can proceed
to the next step.
If you use Odoo with an on-premise setup or through a partner, you must update your installation as
detailed in :doc:`this documentation page </administration/maintain/update>`, or by contacting your
integrating partner.
Update the list of available modules
====================================
New modules must be *discovered* by your Odoo instance to be available in the **Apps** menu.
To do so, activate the :ref:`developer mode <developer-mode>`, and go to :menuselection:`Apps -->
Update Apps List`. A wizard will ask for confirmation.
Install the module Invoice Online Payment Patch
===============================================
.. warning::
You should never install new modules in your production database without first testing them in a
duplicate or staging environment. For Odoo.com customers, a duplicate database can be created
from the database management page. For Odoo.sh users, you should use a staging or duplicate
database. For on-premise users, you should use a staging environment---contact your integrating
partner for more information regarding how to test a new module in your particular setup.
The module should now be available in your :guilabel:`Apps` menu. Remove the ``Apps`` filter and
search for ``account_payment``; the module :guilabel:`Payment - Account / Invoice Online Payment Patch`
should be available for installation. If you cannot find the module after having updated the list
of available modules, it means your Odoo source code is not up-to-date; refer to step one of this
page.
Once the module is installed, disabling the feature will work as intended and will not ask you to
uninstall installed applications or modules.

View File

@@ -9,3 +9,4 @@ Reporting
reporting/overview
reporting/declarations
reporting/silverfin

View File

@@ -60,9 +60,9 @@ grids that are used to record invoices or credit notes.
:alt: Configure taxes and their tax grids in Odoo Accounting
.. note::
Taxes and reports are usually already pre-configured in Odoo: a
:doc:`Fiscal Localization Package <../../fiscal_localizations/overview/fiscal_localization_packages>`
is installed according to the country you select at the creation of your database.
Taxes and reports are usually already pre-configured in Odoo: a :ref:`fiscal localization package
<fiscal_localizations/packages>` is installed according to the country you select at the creation
of your database.
Close a tax period
==================
@@ -109,4 +109,4 @@ report to the tax authorities, along with the amount you have to pay or be refun
.. seealso::
* :doc:`../../taxation/taxes/taxes`
* :doc:`../../getting_started/initial_configuration/setup`
* :doc:`../../fiscal_localizations/overview/fiscal_localization_packages`
* :doc:`../../../fiscal_localizations`

View File

@@ -0,0 +1,66 @@
=====================
Silverfin integration
=====================
`Silverfin <https://www.silverfin.com>`_ is a third-party service provider that offers a cloud
platform for accountants.
Odoo and Silverfin provide an integration to automate the synchronization of data.
Configuration
=============
To configure this integration, you need to input the following data into your Silverfin account:
- user's email address
- :ref:`Odoo API key <silverfin/api-key>`
- URL of the Odoo database
- name of your Odoo database
.. _silverfin/api-key:
Odoo API key
------------
You can create Odoo external API keys either :ref:`for a single database <silverfin/api-singledb>`
(hosting: Odoo Online, On-premise, and Odoo.sh) or :ref:`for multiple databases managed by a user
<silverfin/api-multipledb>` (hosting: Odoo Online).
.. important::
- These API keys are personal and provide full access to your user account. Store it securely.
- You can copy the API key only at its creation, and you cannot retrieve it later.
- If you need it again, create a new API key (and delete the old one).
.. seealso::
:doc:`/developer/api/external_api`
.. _silverfin/api-singledb:
One key per database
~~~~~~~~~~~~~~~~~~~~
To create a new API key valid for a single database, click on the user menu, then on
:guilabel:`My Profile`. Under the :guilabel:`Account Security` tab, click on :guilabel:`New API
key`, confirm your password, give a descriptive name to your new key, and copy the new API key.
.. image:: silverfin/api-key-db.png
:align: center
:alt: creation of an Odoo external API key for a database
.. seealso::
:ref:`api/external_api/keys`
.. _silverfin/api-multipledb:
One key for multiple databases (fiduciaries)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To create a new API key valid for all the databases of a single user **(the easiest for
fiduciaries)**, navigate to `Odoo's website <https://www.odoo.com>`_ and sign in with your
administrator account. Next, open `your account security settings in developer mode
<https://www.odoo.com/my/security?debug=1>`_, click on :guilabel:`New API Key`, confirm your
password, give a descriptive name to your new key, and copy the new API key.
.. image:: silverfin/api-key-user.png
:align: center
:alt: creation of an Odoo external API key for an Odoo user

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

View File

@@ -19,8 +19,8 @@ Configuration
=============
**Default Taxes** are automatically set up according to the country selected at the creation of your
database, or when you set up a :doc:`Fiscal Localization Package
<../../fiscal_localizations/overview/fiscal_localization_packages>` for your company.
database, or when you set up a :ref:`fiscal localization package <fiscal_localizations/packages>`
for your company.
To change your **Default Taxes**, go to :menuselection:`Accounting --> Configuration --> Settings
--> Taxes --> Default Taxes`, select the appropriate taxes for your default **Sales Tax** and
@@ -37,4 +37,4 @@ To change your **Default Taxes**, go to :menuselection:`Accounting --> Configura
- :doc:`taxes`
- :doc:`fiscal_positions`
- :doc:`../../fiscal_localizations/overview/fiscal_localization_packages`
- :doc:`../../../fiscal_localizations`

View File

@@ -20,8 +20,8 @@ They can be applied in various ways:
- :ref:`assigned to a partner, on its contact form <fiscal_positions/transaction>`
.. note::
A few Fiscal Positions are already preconfigured on your database, as part of your :doc:`Fiscal
Localization Package <../../fiscal_localizations/overview/fiscal_localization_packages>`.
A few Fiscal Positions are already preconfigured on your database, as part of your :ref:`fiscal
localization package <fiscal_localizations/packages>`.
Configuration
=============
@@ -81,7 +81,7 @@ Application
.. _fiscal_positions/partner:
Assign a Fiscal Position to a partner
--------------------------------------
-------------------------------------
You can manually define which Fiscal Position must be used by default for a specific partner.

View File

@@ -11,10 +11,9 @@ supports all kinds of uses and computations.
Activate Sales Taxes from the List view
=======================================
As part of your :doc:`Fiscal Localization Package
<../../fiscal_localizations/overview/fiscal_localization_packages>`, most of your country's sales
taxes are already preconfigured on your database. However, only a few of them are activated by
default, so that you can activate only the ones relevant for your business.
As part of your :ref:`fiscal localization package <fiscal_localizations/packages>`, most of your
country's sales taxes are already preconfigured on your database. However, only a few of them are
activated by default, so that you can activate only the ones relevant for your business.
To activate Sale Taxes, go to :menuselection:`Accounting --> Configuration --> Taxes` and use the
*Activate* toggle button to activate or deactivate a tax.

View File

@@ -209,4 +209,4 @@ digitize, click on :guilabel:`Create Bill`, :guilabel:`Create Customer Invoice`
:guilabel:`Create credit note`, and then click on :guilabel:`Send for Digitization`.
.. seealso::
:doc:`AI-powered document digitization <../finance/accounting/payables/supplier_bills/invoice_digitization>`
:doc:`AI-powered document digitization <../finance/accounting/payables/supplier_bills/invoice_digitization>`

View File

@@ -0,0 +1,156 @@
:show-content:
====================
Fiscal localizations
====================
.. _fiscal_localizations/packages:
Fiscal localization packages
============================
**Fiscal Localization Packages** are country-specific modules that install pre-configured taxes,
fiscal positions, chart of accounts, and legal statements on your database. Some additional features,
such as the configuration of specific certificates, are also added to your Accounting app, following
your fiscal administration requirements.
.. note::
Odoo continuously adds new localizations and improves the existing packages.
Configuration
-------------
Odoo automatically installs the appropriate package for your company, according to the country
selected at the creation of the database.
.. important::
As long as you haven't posted any entry, you can still add and select another package.
To install a new package, go to :menuselection:`Accounting --> Configuration --> Fiscal
Localization`, click on **Install More Packages**, and install your country's module.
.. image:: fiscal_localizations/packages_modules.png
:align: center
:alt: Install the appropriate module as fiscal localization package in Odoo Accounting.
Once done, select your country's package, and click on *Save*.
.. image:: fiscal_localizations/packages_selection.png
:align: center
:alt: Select your country's fiscal localization package in Odoo Accounting.
Use
---
These packages require you to fine-tune your chart of accounts according to your needs, activate the
taxes you use, and configure your country-specific statements and certifications.
.. seealso::
- :doc:`accounting/getting_started/initial_configuration/chart_of_accounts`
- :doc:`accounting/taxation/taxes/taxes`
.. _fiscal_localizations/countries-list:
List of supported countries
===========================
Odoo Accounting can be used in many countries out of the box by installing the appropriate module.
Here is a list of all :ref:`fiscal localization package <fiscal_localizations/packages>` that are
available on Odoo.
- Algeria - Accounting
- :doc:`Argentina - Accounting <fiscal_localizations/argentina>`
- :doc:`Australian - Accounting <fiscal_localizations/australia>`
- Austria - Accounting
- Belgium - Accounting
- Bolivia - Accounting
- Brazilian - Accounting
- Canada - Accounting
- :doc:`Chile - Accounting <fiscal_localizations/chile>`
- China - Accounting
- :doc:`Colombia - Accounting <fiscal_localizations/colombia>` (:doc:`doc in Spanish
<fiscal_localizations/colombia_ES>`)
- Costa Rica - Accounting
- Croatia - Accounting (RRIF 2012)
- Czech - Accounting
- Denmark - Accounting
- Dominican Republic - Accounting
- Ecuadorian - Accounting
- :doc:`Egypt - Accounting <fiscal_localizations/egypt>`
- Ethiopia - Accounting
- Finnish Localization
- :doc:`France - Accounting <fiscal_localizations/france>`
- Generic - Accounting
- :doc:`Germany <fiscal_localizations/germany>`
- Germany SKR03 - Accounting
- Germany SKR04 - Accounting
- Greece - Accounting
- Guatemala - Accounting
- Honduras - Accounting
- Hong Kong - Accounting
- Hungarian - Accounting
- :doc:`Indian - Accounting <fiscal_localizations/india>`
- :doc:`Indonesian - Accounting <fiscal_localizations/indonesia>`
- Ireland - Accounting
- Israel - Accounting
- :doc:`Italy - Accounting <fiscal_localizations/italy>`
- Japan - Accounting
- :doc:`Kenya - Accounting <fiscal_localizations/kenya>`
- Lithuania - Accounting
- :doc:`Luxembourg - Accounting <fiscal_localizations/luxembourg>`
- Maroc - Accounting
- :doc:`Mexico - Accounting <fiscal_localizations/mexico>`
- Mongolia - Accounting
- :doc:`Netherlands - Accounting <fiscal_localizations/netherlands>`
- New Zealand - Accounting
- Norway - Accounting
- OHADA - Accounting
- Pakistan - Accounting
- Panama - Accounting
- :doc:`Peru - Accounting <fiscal_localizations/peru>`
- Poland - Accounting
- Portugal - Accounting
- Romania - Accounting
- Saudi Arabia - Accounting
- Singapore - Accounting
- Slovak - Accounting
- Slovenian - Accounting
- South Africa - Accounting
- :doc:`Spain - Accounting (PGCE 2008) <fiscal_localizations/spain>`
- Sweden - Accounting
- :doc:`Switzerland - Accounting <fiscal_localizations/switzerland>`
- Taiwan - Accounting
- Thailand - Accounting
- Turkey - Accounting
- U.A.E. - Accounting
- :doc:`UK - Accounting <fiscal_localizations/united_kingdom>`
- Ukraine - Accounting
- United States - Accounting
- Uruguay - Accounting
- Venezuela - Accounting
- Vietnam - Accounting
.. toctree::
:titlesonly:
fiscal_localizations/argentina
fiscal_localizations/australia
fiscal_localizations/chile
fiscal_localizations/colombia
fiscal_localizations/colombia_ES
fiscal_localizations/egypt
fiscal_localizations/france
fiscal_localizations/germany
fiscal_localizations/india
fiscal_localizations/indonesia
fiscal_localizations/italy
fiscal_localizations/kenya
fiscal_localizations/luxembourg
fiscal_localizations/mexico
fiscal_localizations/netherlands
fiscal_localizations/peru
fiscal_localizations/spain
fiscal_localizations/switzerland
fiscal_localizations/united_kingdom

View File

@@ -28,9 +28,9 @@ localization:
- Description
* - :guilabel:`Argentina - Accounting`
- `l10n_ar`
- Default :doc:`fiscal localization package <../overview/fiscal_localization_packages>`, which
represents the minimal configuration to operate in Argentina under the :abbr:`AFIP
(Administración Federal de Ingresos Públicos)` regulations and guidelines.
- Default :ref:`fiscal localization package <fiscal_localizations/packages>`, which represents
the minimal configuration to operate in Argentina under the :abbr:`AFIP (Administración
Federal de Ingresos Públicos)` regulations and guidelines.
* - :guilabel:`Argentinean Accounting Reports`
- `l10n_ar_reports`
- VAT Book report and VAT summary report.
@@ -86,8 +86,7 @@ into the **Production** environment. As these two environments are completely is
other, the digital certificates of one instance are not valid in the other one.
To select a database environment, go to :menuselection:`Accounting --> Settings --> Argentinean
Localization` and choose either :guilabel:`Prueba (Testing)` or :guilabel:`Produccion (Production)`
.
Localization` and choose either :guilabel:`Prueba (Testing)` or :guilabel:`Produccion (Production)`.
.. image:: argentina/select-environment.png
:align: center
@@ -562,9 +561,9 @@ Troubleshooting and auditing
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
For auditing and troubleshooting purposes, it is possible to obtain detailed information of an
invoice number that has been previously sent to the AFIP. To retrieve this information, go into
:doc:`Developer Mode <../../../../general/developer_mode>`, then go to the
:menuselection:`Accounting` menu and click on the button :guilabel:`Consult Invoice` button in AFIP.
invoice number that has been previously sent to the AFIP. To retrieve this information, activate the
:ref:`developer mode <developer-mode>`, then go to the :menuselection:`Accounting` menu and click on
the button :guilabel:`Consult Invoice` button in AFIP.
.. image:: argentina/consult-invoice-in-afip.png
:align: center

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