Compare commits

..

214 Commits

Author SHA1 Message Date
Sébastien Theys 5b44b70c30 [IMP] tests: make post_install the default 2024-01-30 14:29:26 +01:00
John Holton (hojo) 9e75bca747 [IMP] Quality: Take a Picture check Shop Floor
closes odoo/documentation#7573

X-original-commit: 93b47e7896
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-30 09:18:04 +00:00
Donatienne (dopi) 7c3abb5af5 [IMP] accounting: reconciliation models update
task-3377307

closes odoo/documentation#7514

X-original-commit: e5a19771c1
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-01-30 09:18:00 +00:00
John Holton (hojo) 89cfd364dc [IMP] Quality: Instructions check Shop Floor
closes odoo/documentation#7557

X-original-commit: 58365b78c4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Felicious <feku@odoo.com>
Co-authored-by: ksc-odoo <ksc@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
2024-01-29 20:00:14 +00:00
MaxKeilOdoo 8d9d0c90ed [IMP] misc: IAP grammar updates and new image
closes odoo/documentation#7554

X-original-commit: 07333c0061
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
Co-authored-by: tiku-odoo <tiku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: StraubCreative <zst@odoo.com>
2024-01-29 20:00:14 +00:00
Lara Martini (larm) cce9456f93 [ADD] Time Off: new documentation needed
closes odoo/documentation#7537

X-original-commit: a838df1660
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2024-01-29 20:00:11 +00:00
Augusto Perez 1febb15453 [ADD] Upgrade documentation: Upgrade scripts and Util package
closes odoo/documentation#7550

X-original-commit: 16a209c750
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-26 09:56:30 +00:00
John Holton (hojo) 832628a8c7 [IMP] MRP: Update Manufacturing step docs for Shop Floor
closes odoo/documentation#7500

X-original-commit: 71a9b4efac
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-26 07:30:48 +00:00
Donatienne (dopi) b84e81d3a1 [IMP] elearning: set prerequisite courses
taskid-3433600

closes odoo/documentation#7542

X-original-commit: 2d4a3cc883
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-01-25 14:56:28 +00:00
nni-odoo 4f098945d7 [ADD] localizations: indonesia qris
Adding QRIS documentation from the following PR https://github.com/odoo/odoo/pull/146926

closes odoo/documentation#7477

Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-25 13:11:23 +00:00
“Audrey 86fac322d3 [IMP] payment_providers: payment methods + restructure doc page
task-3570280

closes odoo/documentation#7527

X-original-commit: 67894e33f6
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-01-25 05:49:20 +00:00
Julien Alardot (jual) 958fa599e1 [FIX] reference/user_interface: filter element name is mandatory
The filter element attribute 'name' is now required since
odoo/odoo/commit/4ddc3231

closes odoo/documentation#7523

X-original-commit: cbe72a69bb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Alardot (jual) <jual@odoo.com>
2024-01-24 10:52:51 +00:00
“Audrey 0604fb56f9 [IMP] Studio: new report editor
task-3553091

closes odoo/documentation#7518

X-original-commit: cf389c1c3e
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2024-01-24 09:20:37 +00:00
Loredana Perazzo 3fe09dd653 [IMP] pos: note about products loading
task-3095675

closes odoo/documentation#7509

X-original-commit: 5ec37fbb7f
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-01-23 16:03:41 +00:00
tiku-odoo 06eaf3a0c7 [IMP]Productivity WhatsApp Enterprise Edit
closes odoo/documentation#7502

X-original-commit: 474d0b7b94
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-01-23 14:35:31 +00:00
Antoine Vandevenne (anv) 14c0438764 [IMP] reference/user_interface: reformat and clarify views reference
In particular, the following changes are made:
- Use the `class` and `attribute` admonitions along with custom
  attributes to define classes, views' root attributes, views'
  components, and attribute values. This allows re-using the responsive
  design that was made for reference lists, and getting rid of the
  previous implementation that relied on class attributes, which were not
  intended for this usage and reduce readability while hindering further
  contributions due to a lack of flexibility (no admonitions,
  sub-attributes...)
- Use definition lists to define view types to allow for clearer and
  longer descriptions.
- Rewrite and restructure the explanations when there is a lack clarity.
- Extract duplicated content to included RST files.
- Display SVG images into dedicated admonitions.
- Fix RST and English mistakes.
- Rename `view_architecture` to `view_architectures`, as it lists all
  existing architectures and doesn't describe "the architecture of a
  view".
- Replace underscores with hyphens in image file names to improve SEO.

task-3458320

closes odoo/documentation#5237

closes odoo/documentation#7497

X-original-commit: a17eaf4c6f
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-23 10:51:24 +00:00
tiku-odoo db3db3c727 [IMP] IoT Printer doc edits
closes odoo/documentation#7496

X-original-commit: bfe57fdbdd
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-23 10:51:20 +00:00
Donatienne (dopi) 1be6f341dd [IMP] Website: menus
Update screenshots to reflect V17

closes odoo/documentation#7400

X-original-commit: 7e45e144a6
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-01-23 10:51:14 +00:00
Loredana Perazzo 39541bb745 [ADD] POS: page to setup and use product combos
Task-3604850

closes odoo/documentation#7485

X-original-commit: 539435d14d
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2024-01-23 09:08:09 +00:00
tiku-odoo 157c1e18ea [RMV]Sales: remove snyc menu line ebay connector
closes odoo/documentation#7471

X-original-commit: 9db684fe86
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-01-22 19:21:43 +00:00
nni-odoo ab5c9feb40 [ADD] payment_providers: Xendit
Documentation for Xendit payment provider

taskid-2946329

closes odoo/documentation#7475

X-original-commit: 05637af163
Signed-off-by: Nigel Nicholas (nni) <nni@odoo.com>
2024-01-22 02:56:57 +00:00
Martin Trigaux (mat) 6c3385cf90 [I18N] *: export 16.0 translations
closes odoo/documentation#7473

X-original-commit: aecf49d6c8
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2024-01-21 08:58:23 +00:00
KC (ksc) b53427ddde [IMP] subscriptions: update renewals doc
closes odoo/documentation#7433

X-original-commit: 6a7bc2d449
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2024-01-20 01:18:24 +00:00
tiku-odoo e6dbd3d9e4 [IMP] Microsoft Azure Email Phrasing update
closes odoo/documentation#7462

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

X-original-commit: 055e332ef3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2024-01-19 15:05:16 +00:00
Felicious e620f27378 [ADD] inventory: least packages removal strategy
closes odoo/documentation#7417

X-original-commit: bc6c92d786
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
2024-01-18 03:28:49 +00:00
Brandon Seltenrich (BRSE) f10c8d4ad2 [IMP] barcode: update adjustments doc
closes odoo/documentation#7424

X-original-commit: a7af9a59ff
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-17 07:54:25 +00:00
Christophe Monniez b4cab2a3db [FIX] requirements: fix sphinxcontrib versions
It seems that the latest version if sphinx contrib libs needs sphinx 5.0.

closes odoo/documentation#7413

X-original-commit: 38bd71fa13
Signed-off-by: Christophe Monniez (moc) <moc@odoo.com>
2024-01-16 19:28:39 +00:00
Ricardo Gomes Rodrigues 999c8db465 [IMP] l10n: Codabox for Belgium
Add Codabox Belgium documentation following the introduction of the
module introduced in https://github.com/odoo/enterprise/pull/47607

task-id 3592955

closes odoo/documentation#7405

X-original-commit: 4895a3b55c
Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2024-01-16 17:58:53 +00:00
Felicious 6ec9eb1fcc [ADD] inventory: lifo removal strategy
closes odoo/documentation#7373

X-original-commit: fd598899c2
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
2024-01-16 16:40:25 +00:00
Donatienne (dopi) baab56946f [IMP] sign: tags, signing orders, reminders, expiration dates
task-3609727

New features are available in v17:
Modify tags on signed documents.
Send automatic email reminders to people who have yet to sign a document after a set delay.
Signing order available as soon as you have more than one signer
Setting expiration dates on signature requests.

closes odoo/documentation#7275

X-original-commit: 054801995e
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Donatienne Pirlot (dopi) <dopi@odoo.com>
2024-01-16 16:40:23 +00:00
aliya 73499c595e [IMP] accounting: peppol
In 17.0 we have introduced some additional features in Peppol:
- switching between the demo mode/test mode/live
- better UI that allows fetch peppol message status, new documents, etc from the accounting dashboard
- peppol ready filter to filter customer invoices that are ready to be sent via peppol

part of:
task-3614809

closes odoo/documentation#7402

X-original-commit: 47300c10bf
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Aliya Tastemirova (alta) <alta@odoo.com>
2024-01-16 10:03:50 +00:00
“Chiara 2c1277d0f7 [IMP] accounting: internal transfers
taskid-3663508

closes odoo/documentation#7401

X-original-commit: 9223318b05
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-16 10:03:49 +00:00
Felicious fc98af5814 [ADD] inventory: closest locations removal strat
closes odoo/documentation#7367

X-original-commit: a926fbf998
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
2024-01-16 03:09:35 +00:00
Olivier Dony d0b7363de5 [IMP] conf: special case alt lang links for legal terms
Legal terms live under specific URL as their translations are not
managed in the same manner.

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

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

closes odoo/documentation#7382

closes odoo/documentation#7384

closes odoo/documentation#7387

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

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

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

Part-of: odoo/documentation#7387
2024-01-15 22:56:16 +01:00
Jonathan Castillo (jcs) 3d28850a40 [FIX] redirects: redirection loop on install.rst
closes odoo/documentation#7392

X-original-commit: f4bad01680
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-15 13:04:21 +00:00
Donatienne (dopi) 83a68e4b9b [MOV] geo ip installation: move page to install
Page moved from Websites to Install section

taskid-3512515

X-original-commit: a9004e844f
Part-of: odoo/documentation#7392
2024-01-15 13:04:21 +00:00
Rémy Voet (ryv) be60243eff [IMP] orm: update changelog for the new flush strategy
closes odoo/documentation#7194

Related: odoo/upgrade#5469
Related: odoo/odoo#144747
Related: odoo/enterprise#53380
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2024-01-15 13:04:08 +00:00
KC (ksc) d07052aa57 [IMP] sales: updated amazon order management
closes odoo/documentation#7381

X-original-commit: f751e9548a
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-14 21:38:51 +00:00
KC (ksc) b89d3e56c2 [IMP] sales: amazon connector features doc for 16
closes odoo/documentation#7380

X-original-commit: a43a65992e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2024-01-14 21:38:50 +00:00
Felicious 8d87bfe462 [ADD] inventory: fefo removal
closes odoo/documentation#7366

X-original-commit: 8ebfc5cd2a
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-01-14 02:15:41 +00:00
Sam Lieber (sali) b72d340b3c [FIX] l10n_cl: Chile typo corrections
closes odoo/documentation#7363

X-original-commit: 505547264e
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
Signed-off-by: Marco Antonio Iribe Sepulveda (masi) <masi@odoo.com>
2024-01-13 05:40:53 +00:00
Felicious a197b6c57d [ADD] inventory: fifo removal strategy
closes odoo/documentation#7354

X-original-commit: 5f416e028f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
2024-01-13 04:31:50 +00:00
Joren Van Onder f0cf3c68ac [IMP] accounting: direct customers to official fork of Taxcloud modules
Also improve wording a bit.

closes odoo/documentation#7353

X-original-commit: 968177ade5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Renee Carano <rca@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-01-13 03:20:49 +00:00
Tom Aarab (toaa) 1f31ba3f06 [REM] accounting: multiple payments
Removing redundant page (see task)

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

taskid-3466400

closes odoo/documentation#7350

X-original-commit: 2ef7150ebf
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-13 03:20:48 +00:00
Marion (masp) 2f0d98c9f7 [ADD] website: address autocomplete configuration
Task-3618264

closes odoo/documentation#7316

X-original-commit: ca160e4e1a
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2024-01-12 16:21:15 +00:00
Nicolas Viseur (vin) 4210a31408 [REF] l10n_au_keypay: remove au dependency
Keypay, now called Employment Hero, is not limited to Australia
but also supports Singapore, Malaysia,...

This task will:
- remove dependencies to Australia, to make it usable with other
localisation.
- Rename the module and all references to keypay and au in order to
keep the module clean for future use.
- Implement better error messages when the api returns one.
- Render the api key, and url company specific to support using
two different API on two separate companies.

Task id # 2925767

closes odoo/documentation#7276

Related: odoo/enterprise#53685
Related: odoo/upgrade#5494
Signed-off-by: Nicolas Viseur (vin) <vin@odoo.com>
2024-01-12 11:22:55 +00:00
Nathan Marotte (nama) 080dc64e54 [ADD] Upgrade documentation: How-to-guide for developers
closes odoo/documentation#7336

X-original-commit: 44f4683519
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-11 17:21:54 +00:00
Felicious 95f8067ed5 [IMP] inventory: split removal strategy doc
closes odoo/documentation#7329

X-original-commit: 9c417efadc
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2024-01-11 05:37:14 +00:00
masi-odoo f453b2266f [IMP] payment_provider/mercado pago: content updates
This commit will add important clarifications to use and test the Mercado Pago payment provider and add visual documentation similar to other provider's documentation

closes odoo/documentation#7326

X-original-commit: 1596413d4b
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Marco Antonio Iribe Sepulveda (masi) <masi@odoo.com>
Co-authored-by: samueljlieber <sali@odoo.com>
2024-01-11 05:37:07 +00:00
Tom Aarab (toaa) d88b185c27 [IMP] localization: spain missing reports
Missing tax reports for

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

taskid-3673259

closes odoo/documentation#7320

X-original-commit: e808a28f3a
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-10 09:02:55 +00:00
Tom Aarab (toaa) 62a4db0c7d [IMP] accounting: taxes
Updated the tax documentation for 16.4 onwards. Forward to master.

taskid-3621461

closes odoo/documentation#7303

X-original-commit: 73fc5e9be4
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-10 06:28:01 +00:00
Tom Aarab (toaa) de2999c01d [IMP] accounting: payments doc update
Updated the payments doc page.

Forward to master.

16.3 -> Change reconciliation section

taskid-3610834

closes odoo/documentation#7273

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

Forward to master

taskid-3644544

closes odoo/documentation#7292

X-original-commit: c438e5a3aa
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-08 12:52:43 +00:00
Donatienne (dopi) 283c843eeb [ADD] blogs: documentation
task-3492925

closes odoo/documentation#7282

X-original-commit: 4bc2742413
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-08 12:52:42 +00:00
Julien Castiaux b0cc13d4fe [FIX] developer/reference/cli: log on stderr
Odoo is actually logging on sys.stderr and not sys.stdout[^1][^2][^3].

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

Fixes: #7210

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

closes odoo/documentation#7274

X-original-commit: c55e8f251a
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2024-01-04 23:00:59 +00:00
Donatienne (dopi) 6016ed4e93 [IMP] to-do: create a new to-do with ctrl k shortcut
taskid-3501306

closes odoo/documentation#7252

X-original-commit: a1eaf3af64
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2024-01-04 20:40:46 +00:00
Tom Aarab (toaa) 6c561112a8 [FIX] Project: broken URL
One of the link is broken

taskid-3658558

closes odoo/documentation#7250

X-original-commit: 0311faee2f
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-04 19:10:10 +00:00
Tom Aarab (toaa) 7a8f551d67 [IMP] accounting: Incoterms
Updated the Incoterms page to add "location" field and fixed typos

taskid-3619104

closes odoo/documentation#7245

X-original-commit: 30f5433366
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-04 19:10:09 +00:00
Tom Aarab (toaa) 67adf2fc3b [IMP] accounting: batch payments
Updated screenshots from 16.3 onwards. Forward to master.

taskid-3615592

closes odoo/documentation#7242

X-original-commit: 22012bbf3e
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-04 19:10:08 +00:00
Tom Aarab (toaa) 6f3ca9f4a3 [IMP] accounting: bank sync
Changed a note that was confusing to end users. Forward to 16.3

16.3 & 16.4 --> Fetch Account/Reconnect

17.0 --> Reconnect

taskid-3619168

closes odoo/documentation#7234

X-original-commit: f0ee3420b9
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2024-01-04 17:58:34 +00:00
“Chiara d1836f349f [IMP] accounting: withholding tax
taskid-3615963

closes odoo/documentation#7236

X-original-commit: cc03963248
Signed-off-by: Chiara Prattico (chpr) <chpr@odoo.com>
2024-01-04 14:59:39 +00:00
YStorm5 e765370016 [FW][FIX] developer/tutorials/getting_started: swap headers
I think these two header got mix up.

closes odoo/documentation#7226

Forward-port-of: odoo/documentation#7199
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-03 17:43:36 +00:00
ezoer 15beccfd50 [FW][FIX] developer/user_interface: fix typo in 'attribute'
closes odoo/documentation#7225

Forward-port-of: odoo/documentation#7190
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2024-01-03 17:43:34 +00:00
Lara Martini (larm) cec2e1f322 [ADD] fleet: add a new vehicle
closes odoo/documentation#7222

X-original-commit: 7a5d891206
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: jero-odoo <104637850+jero-odoo@users.noreply.github.com>
2024-01-02 22:09:33 +00:00
Brandon Seltenrich (BRSE) 9cb186f87b [IMP] inventory: update differences doc
closes odoo/documentation#7216

X-original-commit: 81d201efc4
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2024-01-02 20:36:56 +00:00
KC (ksc) 075eea9326 [IMP] sales: updated quotation template for 17
closes odoo/documentation#7198

X-original-commit: edb41d8c51
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-29 23:24:40 +00:00
KC (ksc) b5507c4940 [IMP] subscriptions: updated upsell sub doc
closes odoo/documentation#7197

X-original-commit: 648cc25775
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-29 23:24:39 +00:00
Lara Martini (larm) 64fabeb801 [IMP] Inventory: making targeted edits for 16
closes odoo/documentation#7189

X-original-commit: 04401626e5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-27 23:57:01 +00:00
Lara Martini (larm) 6667e3ec35 [ADD] Fleet: new services doc
closes odoo/documentation#7183

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

X-original-commit: f3a2865dea
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
2023-12-27 14:03:06 +00:00
Lara Martini (larm) 884c1b3126 [ADD] Referrals: new doc explaining all of referrals
closes odoo/documentation#7167

X-original-commit: f2b550ab78
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
2023-12-26 23:07:20 +00:00
Brandon Seltenrich (BRSE) b339573354 [IMP] barcode: update barcode operations doc
closes odoo/documentation#7166

X-original-commit: 30fd7112af
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-26 23:07:19 +00:00
Brandon Seltenrich (BRSE) 668420655f [IMP] barcode: update transfers scratch doc
closes odoo/documentation#7153

X-original-commit: df58ae965c
Signed-off-by: Brandon Seltenrich (brse) <brse@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-26 21:44:52 +00:00
Ricardo Gomes Rodrigues abb3589471 [IMP] accounting: Deferred revenues and expenses
Update Deferred Revenues and Expenses documentation
following the changes in https://github.com/odoo/enterprise/pull/40902

task-id 3478356

closes odoo/documentation#7143

X-original-commit: 6d6e82a158
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
Signed-off-by: Ricardo Gomes Rodrigues (rigr) <rigr@odoo.com>
2023-12-26 09:53:34 +00:00
Prakash Prajapati (ppr) 588801185a [IMP] payment_providers: activate on-demand (Recurring payments) feature for Razorpay
task-3495914

closes https://github.com/odoo/documentation/pull/6732

closes odoo/documentation#7145

Related: odoo/odoo#143525
Related: odoo/odoo#147425
X-original-commit: 5be62e15e2
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Prakash Prajapati (ppr) <ppr@odoo.com>
2023-12-26 08:40:44 +00:00
aliya 78d1f23686 [IMP] accounting: peppol
task-3613395

closes odoo/documentation#7140

X-original-commit: d88148f3f6
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-12-22 21:16:41 +00:00
Lara Martini (larm) e72b21d734 [IMP] Recruitmet: updating images and text for 16 version
closes odoo/documentation#7133

X-original-commit: 55600e428d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 19:50:02 +00:00
Lara Martini (larm) 5ff951e927 [IMP] payroll: made targeted edits for 16
closes odoo/documentation#7132

X-original-commit: ec18f20bf5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 19:50:01 +00:00
Lara Martini (larm) 78b3ca7521 [IMP] employees: larm made targeted edits for 16 and updated pics
closes odoo/documentation#7131

X-original-commit: 5413bd1c5d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 19:50:00 +00:00
Lara Martini (larm) 9e3cb9eeaf [ADD] Attendances: new documentation needed for flow and configurations
updated section about managers for better flow

closes odoo/documentation#7115

X-original-commit: 6b9ba7f9ed
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: jero-odoo <104637850+jero-odoo@users.noreply.github.com>
Co-authored-by: jero-odoo <104637850+jero-odoo@users.noreply.github.com>
2023-12-22 19:49:59 +00:00
KC (ksc) 9115d5d7a4 [IMP] sales: updated product_images doc about Google API
closes odoo/documentation#7113

X-original-commit: 8167182ae9
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 19:49:58 +00:00
KC (ksc) c5b4336b52 [IMP] sales: updated import products doc for 16
closes odoo/documentation#7112

X-original-commit: ca1554271b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 19:49:57 +00:00
Lara Martini (larm) 78d289c677 [ADD] fleet: new configurations doc
closes odoo/documentation#7098

X-original-commit: 52a2a795a1
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2023-12-22 19:49:56 +00:00
KC (ksc) 14a9073ac9 [IMP] rental: total update of the doc for the rental app
closes odoo/documentation#7091

X-original-commit: 230461a3e8
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 19:49:55 +00:00
Nicolas Viseur (vin) 4eb1baa5c5 [IMP] l10n_au: update documentation
Provides an up-to-date documentation for the Australian localization
(Odoo 17) with all the new and upcoming features in this version.

closes odoo/documentation#7138

X-original-commit: 2bffc3d457
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-12-22 18:30:07 +00:00
Martin Trigaux a2fbef0bc9 [I18N] *: export saas-16.1 translations
closes odoo/documentation#7075

X-original-commit: a4f0e6b9b8
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-12-22 07:33:45 +00:00
Lara Martini (larm) 0f8e20e0aa [IMP] Recruitment: adding new hiring flow doc
closes odoo/documentation#7099

X-original-commit: 6704ff51de
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-22 04:08:56 +00:00
tiku-odoo dfc42d4b62 [IMP] Market Connectors: eBay Marketplace edits
closes odoo/documentation#7082

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

X-original-commit: 88a0b155e5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2023-12-22 01:53:09 +00:00
MaxKeilOdoo 35602b9f50 [IMP] sales: update win loss report documentation for Odoo 17
closes odoo/documentation#7060

X-original-commit: 554193a14b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
Co-authored-by: jero-odoo <104637850+jero-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-12-21 07:57:52 +00:00
tiku-odoo 79fa32eb3d [IMP] Misc: Portal User Change Login Initial Commit
closes odoo/documentation#7059

X-original-commit: d423038270
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 07:57:51 +00:00
KC (ksc) 3905b642fa [IMP] marketing automation: updated testing_running campaign doc for Odoo 16
closes odoo/documentation#7040

X-original-commit: 76fc90dde7
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 07:57:50 +00:00
KC (ksc) 5b581c31a5 [IMP] marketing automation: update understanding_metrics for 16
closes odoo/documentation#7039

X-original-commit: 70050340fe
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 07:57:49 +00:00
KC (ksc) 90fffd3039 [IMP] marketing automation: updated workflow activities for 16
closes odoo/documentation#7028

X-original-commit: 6968e362da
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 07:57:48 +00:00
Valentino 6fb216f70d [IMP] l10n_br: include electronic invoicing flow
With the addition of l10n_br_edi and l10n_br_edi_sale to the previous modules, now electronic invoices for goods can be created from Odoo.

This PR includes the necessary information to use these new modules - configuration and workflows.

closes odoo/documentation#7022

X-original-commit: f23dcb7d35
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 07:57:47 +00:00
tiku-odoo d4eece9b5f [IMP] Productivity: Discuss Getting Started
closes odoo/documentation#7049

X-original-commit: cdd5dbead5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-21 06:49:32 +00:00
KC (ksc) 52e107681a [IMP] sales: updated variants doc for v16
closes odoo/documentation#7021

X-original-commit: c2c835c2d6
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-12-21 00:17:20 +00:00
KC (ksc) be6f7e1662 [IMP] social marketing: updated essentials for Odoo 16
closes odoo/documentation#7020

X-original-commit: bddbe0fd45
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-12-21 00:17:19 +00:00
KC (ksc) 28f9d0c02c made all of BRSE's edits
closes odoo/documentation#7009

X-original-commit: a728ac22dd
Signed-off-by: Kevin Scannell (ksc) <ksc@odoo.com>
2023-12-20 22:48:50 +00:00
Jess Rogers (jero) 643ec40050 [IMP] crm: create new quotation
closes odoo/documentation#7002

X-original-commit: 5a298f09eb
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-12-20 22:48:49 +00:00
Lara Martini (larm) 629a2852b6 [IMP] Inventory: updated for v16
closes odoo/documentation#7000

X-original-commit: 1c00f06816
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-20 07:11:48 +00:00
Lara Martini (larm) 77c1f6ff95 [ADD] Payroll: adding new reporting doc
closes odoo/documentation#6994

X-original-commit: fcba53839f
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-20 00:41:24 +00:00
Géry Debongnie 045fb847e8 [IMP] Rework the JavaScript tutorials
This commit rework the entire JavaScript tutorial series with the
following improvements:

-   Each chapter is now designed to be independent, allowing learners to
    follow any chapter without the necessity of completing previous ones.
-   Each chapter has been transformed into a standalone module, enabling
    learners to create small projects from scratch within each chapter.
-   The screenshots/text/code have been updated for Odoo 17.

Currently we have 5 chapters:
- Discover Chapter 1 - Owl Components: This chapter allows to learn the
  Owl framework in the `awesome_owl` module.
- Discover Chapter 2 - Build a dashboard: This chapter allows to grasp
  the basic of the web framework by building a dashboard in the
  `awesome_dashboard` module.
- Master Chapter 1 - Build a clicker game: This chapter allows to grasp
  the web framework by building a clicker game in the `awesome_clicker`
  module.
- Master Chapter 2 - Create a gallery view: This chapter allows to learn
  how to create a new view type. The new view is a gallery of records
  pictures. It can be done in the `awesome_gallery` module.
- Master Chapter 3 - Customize a kanban view: This chapter allows to
  learn to customize a kanban view by implementing a list of customer in
  the side of a kanban view. This can be done in the `awesome_kanban`
  module.

The chapter on creating and customizing fields is deleted for now and
will be completely rewritten in a near future.
The chapter on testing is deleted, how-to guides will be written to
cover this subject.

The solutions for all exercises has been done for v17, the goal by
merging the new tutorial is to have this new branch structure in
`odoo/tutorials`:
- 16.0
- 16.0-solutions
- 17.0
- 17.0-discover-js-framework-solutions
- 17.0-master-odoo-web-framework-solutions
-   master <-- default branch, starting point for all addons
-   master-discover-js-framework-solutions
-   master-master-odoo-web-framework-solutions

closes odoo/documentation#6980

Task-id: 3623595
X-original-commit: 3d4a275196
Signed-off-by: Géry Debongnie <ged@odoo.com>
Signed-off-by: Florent Dardenne (dafl) <dafl@odoo.com>
2023-12-20 00:41:24 +00:00
Felicious b963e4c7f9 [FIX] barcode: typo in example
closes odoo/documentation#6977

X-original-commit: 72f93a84ea
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-19 20:23:46 +00:00
Julien Castiaux 3a3a224b17 [FIX] deploy: set Content-Security-Policy on static
The Content-Security-Policy[^1] http header was only set on the response
generated by controllers but it was missing from the `/<module>/static/`
route.

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

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

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

closes odoo/documentation#6954

X-original-commit: f3f44fe5f2
Related: odoo/odoo#146592
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-18 20:07:53 +00:00
Julien Castiaux 86bd9fd91b [FIX] deploy: nginx forwarded-host with tcp port
Install nginx using the nginx configuration found in the documentation
and changes the `listen` port to 8080. Start Odoo in `--proxy-mode`.

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

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

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

closes odoo/documentation#6944

Closes: odoo/odoo#64643
X-original-commit: 09c42c5896
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-18 20:07:52 +00:00
KC (ksc) 6935a84404 [IMP] sales: updated entire invoicing based on milestones doc
closes odoo/documentation#6968

X-original-commit: d615bc0f6d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-17 23:12:00 +00:00
KC (ksc) 31387885d6 [IMP] sales: updated Amazon Connector setup doc for 16
closes odoo/documentation#6962

X-original-commit: 5233e05676
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: dalaOdoo <dala@odoo.com>
Co-authored-by: Demesmaeker <edm@odoo.com>
Co-authored-by: meng-odoo <meng@odoo.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
2023-12-16 23:10:41 +00:00
Brandon Seltenrich (BRSE) f8dce88995 [FIX] barcode: fix default delay number
closes odoo/documentation#6960

X-original-commit: 18aad6d5f2
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-16 21:36:03 +00:00
masi-odoo 78d998f5fc [IMP] l10n_cl: Electronic Invoicing eCommerce and POS
Adding the new functionality for V17 which let's the end client to decide the electronic document to be generated for their eCommerce purchase.

Photo folder: https://drive.google.com/drive/folders/17zrIsuhZ2IAWX6X30IJ1HdFF0531gB3_

closes odoo/documentation#6938

X-original-commit: 74d5918ff3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-15 03:00:57 +00:00
Tom Aarab (toaa) 3ef14b8254 fw port
closes odoo/documentation#6916

X-original-commit: bf0ac2dffd
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-12-14 14:56:36 +00:00
Lara Martini (larm) 6d219133e0 [ADD] Payroll: adding detailed payslips doc
closes odoo/documentation#6930

X-original-commit: 9486fe5b62
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: meng-odoo <101904966+meng-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <ksc@odoo.com>
Co-authored-by: samueljlieber <sali@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
2023-12-14 03:02:21 +00:00
Sam Lieber (sali) 2a52e0979b [IMP] accounting/l10n_mx: additional context
closes odoo/documentation#6895

X-original-commit: 9e7518ff69
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: feav-odoo <feav@odoo.com>
Co-authored-by: toaa-odoo <toaa@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
2023-12-13 23:56:18 +00:00
Maximilien (malb) f72e7a25e0 [FIX] accounting: cheat sheet reconcile
Before this commit, when doing the reconciliation of the table present in the
cheat sheet, the second reconciliation was wrong because the "Invoice 1" should
be reconciled with the twos partials payment. This Pr correct that by changing
the find parameter to target the partials also.

closes odoo/documentation#6903

Task: 3633468
X-original-commit: 053fb768e6
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Maximilien La Barre (malb) <malb@odoo.com>
2023-12-13 14:39:19 +00:00
KC (ksc) c21233db05 [ADD] sales: recommend Adobe software, as suggested by JCS
closes odoo/documentation#6884

X-original-commit: d0761052da
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-11 21:55:50 +00:00
John Holton (hojo) 5d7abe69ac [REF] Inventory: Restructure Inventory scope
closes odoo/documentation#6883

X-original-commit: 59791c252b
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-11 21:55:49 +00:00
KC (ksc) f18c11cb41 [IMP] sales: reinvoice expenses to customers
closes odoo/documentation#6826

X-original-commit: a4a9335dd1
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-11 21:55:47 +00:00
Ken Geis 8c4cb060f0 [FW][FIX] developer/mixins: fix typo in XMLID
closes odoo/documentation#6875

Forward-port-of: odoo/documentation#6801
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-12-07 22:05:57 +00:00
KC (ksc) 07e7787668 [IMP] sales: updated down payment doc for 16
closes odoo/documentation#6872

X-original-commit: 9fc9c2f52d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 22:05:52 +00:00
KC (ksc) d4b8665fe2 [IMP] sales: updated optional_products for 16
closes odoo/documentation#6870

X-original-commit: 22d41dc2f3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 22:05:51 +00:00
KC (ksc) 3e7c00af02 [IMP] sales: updated returns doc for v16
closes odoo/documentation#6874

X-original-commit: 4e85ef01e8
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 20:45:56 +00:00
KC (ksc) eff6545537 [IMP] sales: updated pro-forma invoice doc for 16
closes odoo/documentation#6873

X-original-commit: bbbb00e752
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 20:45:55 +00:00
KC (ksc) 41cdeab0fa [IMP] sales: update get signature to validate for 16
closes odoo/documentation#6871

X-original-commit: e1bed7ee7c
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 20:45:54 +00:00
KC (ksc) 630d4385f4 [IMP] sales: online signature confirmation doc
closes odoo/documentation#6869

X-original-commit: e6a6b9b453
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 20:45:53 +00:00
KC (ksc) 30b173ff25 [IMP] sales: fully updated currencies doc
closes odoo/documentation#6868

X-original-commit: 039dba0780
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 20:45:52 +00:00
KC (ksc) 620b50f9e2 [IMP] sales: updated time_materials for v16
closes odoo/documentation#6867

X-original-commit: 1e2a29338e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 20:45:51 +00:00
KC (ksc) 7612732f7f [IMP] subscriptions: products fix misleading info
closes odoo/documentation#6818

X-original-commit: ff2cabf621
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 03:31:02 +00:00
Zachary Straub (ZST) f08db8544a [IMP] sales: update quote_template for 16
closes odoo/documentation#6804

X-original-commit: 675eaa8068
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-12-07 03:31:01 +00:00
KC (ksc) de4795724b [IMP] sales: update orders and variants for 16
closes odoo/documentation#6810

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

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

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

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

closes odoo/documentation#6800

X-original-commit: e5d77ee285
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-06 18:55:19 +00:00
“Chiara 0c162ecf18 [IMP] accounting: followup screenshot
taskid-3614885

closes odoo/documentation#6794

X-original-commit: 27a307cb0c
Signed-off-by: Chiara Prattico (chpr) <chpr@odoo.com>
2023-12-06 13:03:48 +00:00
Donatienne (dopi) 922f540fa6 [IMP] Website: Unsplash documentation updated
task-3498880

closes odoo/documentation#6770

X-original-commit: 88f546f2a9
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-12-06 09:46:53 +00:00
william-andre 1defbf7383 [FIX] install: do not create superuser for postgres
The preferred/safe way of running Odoo is with a standard user, with
only the right to create a database.
See https://github.com/odoo/odoo/commit/b6b73551dbbb3079f043920f21554b945fa4870e

closes odoo/documentation#6772

X-original-commit: df8114e591
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: William André (wan) <wan@odoo.com>
2023-12-06 08:16:48 +00:00
Jess Rogers (jero) fd3f3ca5cf [IMP] crm: update plan activities
closes odoo/documentation#6777

X-original-commit: e4aee350b8
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: Timothy Kukulka <91896312+tiku-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-12-06 03:43:40 +00:00
Loredana Perazzo f10dcbdaf6 [IMP] pos: remove duplicate of set customer and update sections accordingly
task-3366190

closes odoo/documentation#6668

X-original-commit: 4118cb9bf9
Signed-off-by: Loredana Perazzo (lrpz) <lrpz@odoo.com>
2023-12-04 11:28:51 +00:00
Julien Castiaux 883442e483 [IMP] developer/reference/cli: --proxy-mode
Many customers struggle with their web server configuration, notably
regarding the `--proxy-mode` option and the way `X-Forwarded-*` HTTP
request headers are interpreted within Odoo.

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

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

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

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

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

closes odoo/documentation#6744

X-original-commit: 3d91c57b57
Signed-off-by: Julien Castiaux (juc) <juc@odoo.com>
2023-12-03 08:26:12 +00:00
Tom Aarab (toaa) 41442270a3 [IMP] accounting: checks
Update screenshots for 16.4 and up. Forward to master.

taskid-3614814

closes odoo/documentation#6711

X-original-commit: 639a56fc5c
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-12-01 17:37:37 +00:00
Martin Trigaux 58d246b8f4 [I18N] *: export 17.0 translations
closes odoo/documentation#6730

X-original-commit: 8ba87a67ce
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-12-01 13:30:01 +00:00
Martin Trigaux eb0c42803d [FIX] applications: fix typo
X-original-commit: 1a44524ab5
Part-of: odoo/documentation#6730
2023-12-01 13:30:01 +00:00
Raphael Collet 2b8a578c9b [IMP] core: add SQL wrapper
This completes https://github.com/odoo/odoo/pull/134677.

closes odoo/documentation#6724

X-original-commit: 2662fa5437
Signed-off-by: Raphael Collet <rco@odoo.com>
2023-12-01 11:54:08 +00:00
Marion (masp) c27c6f8928 [FIX] Website: pages.rst menu bug
fixes bug introduced with https://github.com/odoo/documentation/pull/5307

closes odoo/documentation#6721

X-original-commit: 53cc4aacb5
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-11-29 19:59:01 +00:00
“Audrey 0a2b5e76e1 [ADD] website: mail groups
task-2845181

closes odoo/documentation#6706

X-original-commit: 25bc655cfa
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Audrey Vandromme (auva) <auva@odoo.com>
2023-11-29 08:18:41 +00:00
John Holton (hojo) 37af135d31 [ADD] Quality: Take a Picture Check
closes odoo/documentation#6716

X-original-commit: 2e605c9ec8
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-29 03:20:24 +00:00
Samuel Degueldre b093bdc871 [FIX] developer: remove confusing section about starting services
When writing the documentation page for standalone Owl apps, it was
originally required to create the env and start the services manually,
and then mount the application by giving it a bunch of configuration
parameters. During review, it was noted that this was error prone and
confusing, and as such a corresponding PR added a helper to mount the
application without needing to do much by hand. While the code was
adapted in the documentation that was merged, the text still referred to
starting the services and creating the environment which is no longer
necessary.

This commit removes references to those things, and because the
resulting section is very small and not very interesting it has been
merged into the previous section.

closes odoo/documentation#6692

X-original-commit: 8e3008f06a
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
2023-11-28 05:50:46 +00:00
Sam Lieber (sali) 392d99c2fb [IMP] accounting/l10n_co: additional context
closes odoo/documentation#6691

X-original-commit: 6045a60dd5
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: dade-odoo <87431108+dade-odoo@users.noreply.github.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
2023-11-27 23:12:05 +00:00
Jess Rogers (jero) 38f66dd0f9 [IMP] crm: update manage lost opps
closes odoo/documentation#6682

X-original-commit: 21f0ad60f8
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
2023-11-27 20:57:49 +00:00
Marion (masp) 688285086b [IMP] Contributing: typo seealso admonition
closes odoo/documentation#6643

X-original-commit: 70d5a55909
Signed-off-by: Marion Spindler (masp) <masp@odoo.com>
2023-11-27 19:37:10 +00:00
Felicious 5264899901 [IMP] barcode: add zebra scanner section
add more figures

closes odoo/documentation#6603

X-original-commit: 56cda37610
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-11-27 19:37:09 +00:00
Donatienne (dopi) 70a99d8f87 [IMP] documents: new features
task-3433587

closes odoo/documentation#6673

X-original-commit: 2ba79f54a5
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-27 13:31:14 +00:00
Donatienne (dopi) d5f2bf3b8c [IMP] sign: update for 16.0
task-3433578

closes odoo/documentation#6662

X-original-commit: 71446b0668
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-27 12:09:16 +00:00
Xavier (XPL) 9be26ea17a [IMP] reporting: improve grammar and remove image centering
closes odoo/documentation#6654

X-original-commit: 3ead6e0f99
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-24 13:17:41 +00:00
“Chiara 48321d0e6b [IMP] accounting: branch management in main page
taskid-3609491

closes odoo/documentation#6648

X-original-commit: eafe834cf4
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-24 11:53:00 +00:00
“Chiara 8e548bf770 [IMP] accounting: peppol changes
taskid-3450738

closes odoo/documentation#6635

X-original-commit: 4728e6db23
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-24 03:35:01 +00:00
Claire Bretton (clbr) 6fd7446ad9 [FIX] getting_started: remove useless lambda
The lambda function here is useless and makes newdooers think
they need to use it everytime.
`default=fields.Date.add(fields.Date.today(), months=3))`
should do the trick, no lambda involved.

closes odoo/documentation#6632

X-original-commit: 620508fb29
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Claire Bretton (clbr) <clbr@odoo.com>
2023-11-24 03:35:00 +00:00
Claire Bretton (clbr) 0dd8974ca1 [FIX] getting_started: invalid addons-path
The "../technical-training-sandbox" is added too early in the path since
its still empty, and results into an "invalid addons-path" error.

X-original-commit: 8707609b38
Part-of: odoo/documentation#6632
2023-11-24 03:35:00 +00:00
Xavier (XPL) 4cad0e2f82 [IMP] outlook: remove note about multi-user sync spam
task-3575806

closes odoo/documentation#6626

X-original-commit: b4302e4023
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-24 03:34:59 +00:00
Xavier (XPL) 1a412b334a [FIX] accounting: update link to getting started video tutorial
task-3608613

closes odoo/documentation#6615

X-original-commit: c0653112a1
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-24 03:34:58 +00:00
Felicious e96721a308 [IMP] inventory: update delivery methods from 12 to 16
closes odoo/documentation#6604

X-original-commit: 4e2b634a50
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-11-24 03:34:56 +00:00
Felicious 829eb7b851 [ADD] inventory: cluster picking
closes odoo/documentation#6592

X-original-commit: 32900efbb9
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: meng-odoo <101904966+meng-odoo@users.noreply.github.com>
2023-11-24 03:34:55 +00:00
KC (ksc) d0af3f6bd1 [IMP] sales: updated deadline doc for 16
closes odoo/documentation#6585

X-original-commit: 75c24e7e88
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-24 02:10:56 +00:00
John Holton (hojo) b2a37a0129 [ADD] Quality: Measure quality check
closes odoo/documentation#6579

X-original-commit: 78713f1637
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-24 02:10:55 +00:00
Xavier (XPL) a7e8e9724a [IMP] paypal: add note about supported currencies
task-3608056

closes odoo/documentation#6572

X-original-commit: 5f1881a88a
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-24 02:10:49 +00:00
Xavier (XPL) a70258c823 [IMP] upgrade: add note on bank synch neutralization
task-3605690

closes odoo/documentation#6563

X-original-commit: dc48273e7e
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-23 16:22:49 +00:00
Samuel Degueldre 16e10c53db [IMP] developer: document how to create standalone owl apps
Since we've introduced Owl, developers want more and more to create
standalone Owl applications outside of the webclient. This commit
introduces a How-to for doing just that.

task-3580007

closes odoo/documentation#6553

X-original-commit: 1fc36ffa82
Related: odoo/odoo#143073
Signed-off-by: Samuel Degueldre (sad) <sad@odoo.com>
2023-11-22 15:52:49 +00:00
Jonathan Castillo (jcs) 4219829976 [IMP] sales: add link to OQT - PDF quote video
This commit adds a seealso section in the intro of the PDF quote builder
doc, with a link to the related Odoo Quick Tips video.

closes odoo/documentation#6554

X-original-commit: 386a3a9e10
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-11-22 10:24:17 +00:00
Donatienne (dopi) c2190a438c [IMP] website: use plausible.io servers and account
This addition explains how to create and connect an existing plausible.io account in Odoo.

task-3540753

closes odoo/documentation#6546

X-original-commit: cd11937f43
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-11-22 07:58:21 +00:00
John Holton (hojo) 5b44376e52 [ADD] Quality: Pass - Fail quality checks
closes odoo/documentation#6552

X-original-commit: 1a11e3c35c
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-22 03:49:07 +00:00
Rémy Voet (ryv) 7067cf372a [FIX] performance: change example with the new _read_group
closes odoo/documentation#6540

X-original-commit: 01625aa661
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-11-21 19:58:05 +00:00
Jess Rogers (jero) ebbd736540 [REM] crm: google spreadsheet integration
closes odoo/documentation#6538

X-original-commit: a11fa7e5b2
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
2023-11-21 18:44:18 +00:00
Xavier (XPL) 4fe046b9d0 [FIX] payroll: add missing show-content metadata
Without the :show-content: metadata markup, it is not possible to open the
page by navigating from the toctree.

closes odoo/documentation#6535

X-original-commit: 16e339a7a3
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-21 18:44:12 +00:00
Mathieu (mano) 07c50eae7a [IMP] odoo_theme: toctrees-l1,l2 design improvement
Issue 1:
========
The toctrees in the documentation are visually inconsistent because of
the content. Sometimes we have titles that are also links and visually
collides with the rest of the toc making it hard to read. This applies
to toctree-l1 and toctree-l2.

Fix 1:
========
When we have a link and title toctree-l2 in a list containing other
nested toc, we apply another styling displaying it with the same color
as a title, but with an icon and hover behavior indicating that it is a
link. (This commit also changes the direction of the i-link icon to make
it standard).

Issue 2:
========
When we have only have toctree-l1 links without nested toc the toctree
is uselessly taking a lot of space.

Fix: 2
========

In these scenario we add a class to the toctree wrapper to replace the
toctree-l1 style with a toctree-l2.

task-3138525
task-3138563

part of

task-3059178

closes odoo/documentation#6512

X-original-commit: c62bf21987
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-21 12:58:53 +00:00
Rémi Rahir (rar) 671cca36a6 [FIX] dev/reference: Fix external reference
The tour utils were red and moved in Odoo (odoo/odoo#107618).

closes odoo/documentation#6521

X-original-commit: 9be2b43adb
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Rémi Rahir (rar) <rar@odoo.com>
2023-11-21 09:36:04 +00:00
Felicious 246450c957 [IMP] barcode: split docs + hone in on language
closes odoo/documentation#6520

X-original-commit: 9081e45aab
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: Sam Lieber (sali) <36018073+samueljlieber@users.noreply.github.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-11-20 01:16:42 +00:00
oco-odoo cc37e41de0 [IMP] accounting: new tag selector for custom reports
https://github.com/odoo/enterprise/commit/0c0cf8ebc943a8dc2d9bdd952dc7b5c2dabbd60a
added a new way to select accounts in the account_codes engine. This
commit adds some explanation in the doc on how to use this new syntax.

closes odoo/documentation#6509

X-original-commit: 1a32165180
Signed-off-by: Jonathan Castillo (jcs) <jcs@odoo.com>
2023-11-20 01:16:38 +00:00
John Holton (hojo) 6cff316d86 [ADD] MRP: Three-step manufacturing
closes odoo/documentation#5163

closes odoo/documentation#6490

X-original-commit: 5689f7cf22
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-17 17:58:55 +00:00
tiku-odoo 03c9226547 [IMP] Productivity: Outlook Plugin edits
closes odoo/documentation#6484

X-original-commit: 71aabb2618
Signed-off-by: Timothy Kukulka (tiku) <tiku@odoo.com>
2023-11-16 05:19:10 +00:00
Felicious d87112ddef [IMP] inventory: expand on accounting and math
closes odoo/documentation#6483

X-original-commit: 9761eb44dc
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: toaa <104567387+toaa-odoo@users.noreply.github.com>
Co-authored-by: meng-odoo <101904966+meng-odoo@users.noreply.github.com>
2023-11-16 05:19:09 +00:00
John Holton (hojo) 6605ec1988 [ADD] MRP: One-step manufacturing
closes odoo/documentation#6470

X-original-commit: 9c0982371a
Signed-off-by: John Holton (hojo) <hojo@odoo.com>
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-16 05:19:07 +00:00
Rémy Voet (ryv) d105f614af [IMP] orm: update changelog
closes odoo/documentation#6465

X-original-commit: f1960a250c
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-11-15 12:35:34 +00:00
Yaroslav Soroko (yaso) 10f936247a [IMP] Pos: iot six module part added to the six doc
This PR adds the documentation for a new Pos IoT Six module which will
soon replace the old Six module.

task-3555605

closes odoo/documentation#6440

X-original-commit: bc98b8c491
Signed-off-by: Yaroslav Soroko (yaso) <yaso@odoo.com>
Co-authored-by: Yaroslav Soroko (yaso) <yaso@odoo.com>
Co-authored-by: Loredana Perazzo <lrpz@odoo.com>
2023-11-14 17:07:14 +00:00
John Holton (hojo) 6a198ad1ce [ADD] Quality: Instructions quality check
closes odoo/documentation#6454

X-original-commit: f0b895fdb2
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-14 02:36:02 +00:00
Felicious 7dc0dc37d2 [IMP] inventory: fwport removal strategy
closes odoo/documentation#6450

X-original-commit: ba34f754ce
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-14 02:36:01 +00:00
Sam Lieber (sali) 09e0b8affc [IMP] tests: make review UX and resource files
closes odoo/documentation#6434

X-original-commit: 25e204adcd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-14 02:35:55 +00:00
John Holton (hojo) f3a6cc6779 [ADD] MRP: Two-step manufacturing
closes odoo/documentation#6402

X-original-commit: 0241c9dd05
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-13 23:36:22 +00:00
John Holton (hojo) 36b20ff16c [ADD] Inventory: Use locations to manage inventory
closes odoo/documentation#6423

X-original-commit: 889e95037d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-11 18:47:03 +00:00
KC (ksc) 068020901c [IMP] sales: complete rewrite for pricing doc
closes odoo/documentation#6415

X-original-commit: a113d83fea
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-11 03:32:55 +00:00
Loredana Perazzo 6da7dcccea [IMP] pos: add warning to not buy a terminal from amazon
closes odoo/documentation#6391

Taskid: 3284737
X-original-commit: f0495a9bc9
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-11-09 12:53:09 +00:00
Sam Lieber (sali) 48679b52e9 [FW][ADD] MRP: Shop Floor Overview
closes odoo/documentation#6381

X-original-commit: 17885d893e
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <hojo@odoo.com>
2023-11-09 04:38:41 +00:00
John Holton (hojo) f85a667236 [ADD] MRP: Work order dependencies
closes odoo/documentation#6380

X-original-commit: a1e7445ae3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-09 03:40:04 +00:00
Felicious 44f202cff9 [IMP] inventory: rewrite lead times, add images
closes odoo/documentation#6360

X-original-commit: 3d5badcc82
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: brse-odoo <brse@odoo.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
2023-11-09 01:54:18 +00:00
John Holton (hojo) 4b1b3db6f2 [ADD] Inventory: Add Scrap inventory
closes odoo/documentation#6375

X-original-commit: 0e6576cc3d
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-09 00:35:02 +00:00
Martin Trigaux db2ee387a9 [I18N] *: export 17.0 translations
closes odoo/documentation#6361

X-original-commit: f13d8b52fc
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-11-08 12:17:46 +00:00
tiku-odoo f7cb830798 [ADD] IoT: OPC-UA Protocol
closes odoo/documentation#6351

X-original-commit: 4d2a3101ad
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-08 10:00:45 +00:00
KC (ksc) 86bd83705d [IMP] sales: minor adjustment to dynamic text portion of PDF builder
closes odoo/documentation#6349

X-original-commit: 03cf50013a
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-08 10:00:44 +00:00
John Holton (hojo) b4eaf1c223 [ADD] MRP: Add Split and merge manufacturing orders
closes odoo/documentation#6341

X-original-commit: 83873dbd71
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-08 10:00:43 +00:00
Louis Baudoux 5ec7aff3c5 [IMP] iap: move from first-person to second-person writing
For some reason, the first-person was used throughout the IAP
documentation, and quite inconsistently.
As the rest of the documentation is using second-person writing, IAP
should be no exception.

closes odoo/documentation#6328

X-original-commit: df474342ba
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
2023-11-07 18:17:37 +00:00
Louis Baudoux 49ad6221a8 [IMP] iap: remove documentation related to IAP services creation
It has been decided to remove the possibility for our users to create
their own IAP services.
This decision was motivated by the fact that, in the 5 years of
existence of IAP, very few non-Odoo services have been created and
actively used by our customers.

X-original-commit: 282f041ed1
Part-of: odoo/documentation#6328
2023-11-07 18:17:37 +00:00
Nathan Marotte (nama) 32441c88fc [IMP] upgrade: overhaul upgrade doc
closes odoo/documentation#6321

X-original-commit: 41aebc3b05
Signed-off-by: Nathan Marotte (nama) <nama@odoo.com>
2023-11-07 17:10:24 +00:00
Antoine Vandevenne (anv) 89539f7379 [IMP] supported_versions: release 17.0
closes odoo/documentation#6314

X-original-commit: 2c805d9813
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-07 17:10:19 +00:00
Felicious 4d88c4ec20 [ADD] PLM: ECO approvals doc
closes odoo/documentation#6304

X-original-commit: 907e1ba854
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-07 15:50:37 +00:00
Audric Onockx (auon) 66b08cd4fd [IMP] developer: add "widget" attr to cohort field tag
Related PR: https://github.com/odoo/enterprise/pull/46693

task-3475463

closes odoo/documentation#6284

Related: odoo/enterprise#46693
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
2023-11-07 13:03:52 +00:00
KC (ksc) 4e6983c135 [ADD] sales: adding pdf quote builder doc for 16/17
closes odoo/documentation#6295

Author:    KC (ksc) <ksc@odoo.com>
Date:      Thu Oct 5 11:29:37 2023 -0700
X-original-commit: 4fdfda7ddb
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Co-authored-by: meng-odoo <meng@odoo.com>
Co-authored-by: Felicious <feku@odoo.com>
Co-authored-by: Demesmaeker <edm@odoo.com>
Co-authored-by: dalaOdoo <dala@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
2023-11-04 13:03:21 +00:00
Felicious f53aca7b32 [ADD] PLM: version control
closes odoo/documentation#6294

Author:    Felicious <feku@odoo.com>
X-original-commit: 6a5c340a26
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
2023-11-04 11:57:54 +00:00
Louis Baudoux cdc510295c [IMP] extract_api: document the new API version
We have introduced a second version of the Extract API that adds the IAP
account token to the `get_result` and `validate` routes.

There are also other changes in this commit:
 - The deprecated stuff has been removed as it's been deprecated for a
   while and won't be supported anymore in the future.
 - The `status` table of the `get_result` route has been added as it was
   missing for some reason.
 - The documentation regarding the `/validate` routes have been removed
   for security reasons.

closes odoo/documentation#6283

X-original-commit: a8c6272899
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Louis Baudoux (lba) <lba@odoo.com>
2023-11-03 16:55:58 +00:00
Jess Rogers (jero) 86207443b1 [IMP] live chat: update ratings doc
closes odoo/documentation#6264

X-original-commit: 7a307320c3
Signed-off-by: Zachary Straub (zst) <zst@odoo.com>
Signed-off-by: Jessica Rogers (jero) <jero@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
2023-11-03 16:55:47 +00:00
Sam Lieber (sali) d25eecbe13 [IMP] l10n: Chile new features
closes odoo/documentation#6257

X-original-commit: eff8e9d915
Signed-off-by: Samuel Lieber (sali) <sali@odoo.com>
Co-authored-by: masi-odoo <masi@odoo.com>
Co-authored-by: StraubCreative <zst@odoo.com>
Co-authored-by: larm-odoo <121518652+larm-odoo@users.noreply.github.com>
Co-authored-by: Felicia Kuan <feku@odoo.com>
2023-11-03 15:12:14 +00:00
Felicious dd6bf8b6c7 [ADD] PLM: engineering change order
closes odoo/documentation#6273

X-original-commit: fc9bbb7d22
Signed-off-by: Felicia Kuan (feku) <feku@odoo.com>
Co-authored-by: hojo-odoo <123424465+hojo-odoo@users.noreply.github.com>
Co-authored-by: Sho Ketchum <96748231+odoo-shke@users.noreply.github.com>
Co-authored-by: ksc-odoo <73958186+ksc-odoo@users.noreply.github.com>
Co-authored-by: Zachary Straub <zst@odoo.com>
2023-11-02 21:33:18 +00:00
Rémy Voet (ryv) d53c676288 [FIX] developer: fix bad documentation of --unaccent
In the CLI, `--unaccent` try to enable PostgreSQL unaccent extention
when odoo is responsible to create new database(s).

closes odoo/documentation#6246

X-original-commit: 1639d22efd
Signed-off-by: Antoine Vandevenne (anv) <anv@odoo.com>
Signed-off-by: Rémy Voet (ryv) <ryv@odoo.com>
2023-10-31 08:06:49 +00:00
Martin Trigaux dbb82d83e2 [IMP] *: export translations
closes odoo/documentation#6249

X-original-commit: bb4210cdbd
Signed-off-by: Martin Trigaux (mat) <mat@odoo.com>
2023-10-30 08:53:41 +00:00
Tom Aarab (toaa) a8ef31f215 [IMP] accounting: reconciliation
Updated screenshots and typos for 16.3

Forward to 16.4:
- Change: Dashboard links are improved, and audit features can be found
  in the journal items view.

closes odoo/documentation#6234

X-original-commit: a31bcec3ba
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
2023-10-27 13:42:50 +00:00
Tom Aarab (toaa) a3e1378919 [IMP] silverfin: API key
Added a note to make it clearer that for fiduciaries, a single API key
is valid for all databases linked to the user.

taskid-3570700

closes odoo/documentation#6231

X-original-commit: 323d3563c9
Signed-off-by: Xavier Platteau (xpl) <xpl@odoo.com>
Signed-off-by: Tom Aarab (toaa) <toaa@odoo.com>
2023-10-27 13:42:49 +00:00
793 changed files with 248454 additions and 2636627 deletions
+1 -1
View File
@@ -26,7 +26,7 @@ SOURCE_DIR = content
HTML_BUILD_DIR = $(BUILD_DIR)/html
ifdef VERSIONS
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/17.0
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
endif
ifneq ($(CURRENT_LANG),en)
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
+1 -2
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 = '17.0'
version = release = 'master'
# `current_branch` is the technical name of the current branch.
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
@@ -213,7 +213,6 @@ sphinx.transforms.i18n.docname_to_domain = (
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
versions_names = {
'master': "Master",
'saas-17.1': "Odoo Online",
'17.0': "Odoo 17",
'saas-16.4': "Odoo Online",
'saas-16.3': "Odoo Online",
+2 -2
View File
@@ -16,8 +16,8 @@ Official **Community** and **Enterprise** packages can be downloaded from the `O
<https://www.odoo.com/page/download>`_.
.. note::
It is required to be logged in as a paying on-premise customer or partner to download the
Enterprise packages.
It is required to be logged in as a paying customer or partner to download the Enterprise
packages.
.. _install/packages/linux:
-1
View File
@@ -15,5 +15,4 @@ Maintain
maintain/hosting_changes
maintain/odoo_online
maintain/on_premise
maintain/neutralized_database
maintain/supported_versions
+263 -211
View File
@@ -2,255 +2,293 @@
Domain names
============
Domain names are text-based addresses identifying online locations, such as websites. They provide a
more memorable and recognizable way for people to navigate the internet than numerical IP addresses.
A **domain name** works as an address for your website. It makes the Internet much more accessible
as it allows users to type a meaningful web address, such as ``www.odoo.com``, rather than its
server's IP address with a series of numbers.
**Odoo Online** and **Odoo.sh** databases use a **subdomain** of the `odoo.com` **domain** by
default (e.g., `mycompany.odoo.com`).
You can use a custom domain name to access your Odoo database and websites:
However, you can use a custom domain name instead by :ref:`registering a free domain name
<domain-name/register>` (only available for Odoo Online databases) or by :ref:`configuring a
domain name you already own <domain-name/existing>`.
- By :ref:`registering a free domain name with Odoo <domain-name/odoo-register>` (for Odoo Online
databases)
- By :ref:`configuring a custom domain that you already own <domain-name/existing>`.
.. note::
Odoo Online and Odoo.sh databases, including their websites, use by default a subdomain of
``odoo.com`` for both the URL and the emails (e.g., ``https://example.odoo.com``).
.. important::
Odoo offers a :ref:`free custom domain name <domain-name/odoo-register>` to all Odoo Online
databases for one year. Visitors can then access your website with an address such as
``www.example.com`` rather than the default ``example.odoo.com``.
.. seealso::
`Odoo Tutorials: Register a free domain name [video]
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
- `Odoo Tutorials: Register a Free Domain Name
<https://www.odoo.com/slides/slide/register-a-free-domain-name-1663>`_
- `Odoo Quick Tips: Get a free domain name! <https://www.youtube.com/watch?v=eAfgeNOHLP4>`_
.. _domain-name/register:
.. _domain-name/about:
About domain names
==================
Having a **good domain name** is as important to your branding as the name of your business or
organization as it is the first thing your visitors will notice. We recommend you keep them *simple,
short, easy to remember and spell*.
A **subdomain** is a domain that is a part of another domain. It often refers to the additional part
that comes before the main domain name. Traditionally, most websites use the ``www.`` subdomain,
but any string of letters can be used as well. You can use subdomains to direct your visitors to
other websites than your main website or to specific pages (e.g., ``experience.odoo.com`` points to
a specific page.)
All domain names are referenced in the **Domain Name System**, or **DNS**, which works as a giant
directory for the Internet. There are many DNS servers, so any modification to the DNS can take up
to 72 hours to propagate worldwide on all servers.
.. _domain-name/indexing:
Indexing of domain names by search engines
------------------------------------------
Search engines, such as Google and Bing, rely on web crawlers (:dfn:`robots that explore and analyze
the web`) to index all websites and their related domain names. These crawlers discover new URLs
thanks to links on known web pages. As a result, search engines should index domain names
automatically after a while, as long as their URLs are mentioned elsewhere on the Internet.
Improving the appearance and positioning of web pages on search engines is a practice named "Search
Engine Optimization" (SEO).
.. tip::
Adding relevant content, optimizing metadata, and building high-quality backlinks can all help
improve a website's search engine visibility.
Some search engines provide tools for web admins, such as
`Google Search Console <https://search.google.com/search-console>`_ and
`Bing Webmaster Tools <https://www.bing.com/webmasters>`_, to help you analyze and improve your
page ranking. To use these services, you must prove that you are the owner of your domain name. One
way to verify the ownership of your domain name is by adding a DNS record. You can do this for
:ref:`domain names registered with Odoo <domain-name/odoo-manage>` and for domain names managed by
other providers.
.. seealso::
- :doc:`/applications/websites/website/pages/seo`
- `Google Search Console Help - Verify your site ownership <https://support.google.com/webmasters/answer/9008080>`_
- `Bing Webmaster Tools - Add and Verify site <https://www.bing.com/webmasters/help/add-and-verify-site-12184f8b>`_
.. _domain-name/odoo-register:
Register a free domain name with Odoo
=====================================
To register a one-year free domain name for your Odoo Online database, sign in to your account and
go to the `database manager <https://www.odoo.com/my/databases>`_. Click the gear icon
(:guilabel:`⚙️`) next to the database name and select :guilabel:`Domain Names`.
.. image:: domain_names/domain-names.png
:alt: Accessing a database's domain names configuration
Search for the desired domain name and check its availability.
.. image:: domain_names/domain-search.png
:alt: Searching for an available domain name
.. tip::
Ensure the Website app is installed if the domain name registration option does not appear.
Select the desired domain name, fill in the :guilabel:`Domain Owner` form, and click
:guilabel:`Register`. The chosen domain name is directly linked to the database, but you still need
to :ref:`map your domain name to your Odoo website <domain-name/db-map>`.
.. image:: domain_names/domain-owner.png
:alt: Filling in the domain owner information
You can register a domain name for your Odoo Online database directly from Odoo Website or your
database manager.
.. important::
A verification email from `noreply@domainnameverification.net` will be sent to the email address
provided in the :guilabel:`Domain Owner` form. It is essential to verify your email address to
keep the domain active and receive the renewal quote before expiration.
- Your domain name is **free for one year** if you register it with Odoo!
- The domain name is registered with `Gandi <https://www.gandi.net/>`_, the domain name
registrar.
- You are the owner of the domain name and can use it for other purposes.
- Odoo manages payment and technical support for you.
- This offer doesn't include any mailbox. However, you can :ref:`configure your MX records
<domain-name/odoo-manage>` to use your own email server or solution such as Google Workspace.
The domain name registration is free for the first year. After this period, Odoo will continue to
manage the domain in partnership with **Gandi.net**, the domain name registrar, and you will be
charged `Gandi.net's renewal rate <https://www.gandi.net/en/domain>`_. Odoo sends a renewal
quotation every year to the email address mentioned in the :guilabel:`Domain Owner` form several
weeks before the expiration date of the domain. The domain is renewed automatically when the
quotation is confirmed.
To do so, go to :menuselection:`Website --> Domain Name`. Alternatively, open your `database manager
<https://www.odoo.com/my/databases>`_, click on the :guilabel:`settings` button next to your
database, then on :guilabel:`Domain names`.
.. image:: domain_names/register-menu.png
:align: center
:alt: Clicking on Domain Names from an Odoo website
Search for the domain name of your choice to check its availability, then select the one you want to
register for your website.
.. image:: domain_names/register-search.png
:align: center
:alt: The search of the domain name example.com shows which associated domains are available.
Next, fill in the form with your information to become the domain name owner.
Your domain name is directly linked to your database, but you still have to :ref:`map your domain
name with your website <domain-name/website-map>`.
.. note::
- The offer is only available for **Odoo Online** databases.
- The offer is limited to **one** domain name per client.
- The offer is limited to the registration of a **new** domain name.
- The offer is available to *One App Free* plans. Ensure that your website contains enough
original content for Odoo to verify that your request is legitimate and respects `Odoo's
Acceptable Use Policy <https://www.odoo.com/acceptable-use>`_. Given the high number of
requests, it can take Odoo several days to review them.
- Free domain names are also available for free Odoo Online databases (if you installed one app
only, for example). In this case, Odoo reviews your request and your website to avoid abuse.
This process can take several days due to the success of the offer.
- This is not available for Odoo.sh databases yet.
.. _domain-name/register-dns:
.. _domain-name/odoo-manage:
DNS records
-----------
Manage your domain name registered with Odoo
--------------------------------------------
To manage your free domain name :abbr:`DNS (domain name system)` records, open the `database manager
<https://www.odoo.com/my/databases>`_, click the gear icon (:guilabel:`⚙️`) next to the database
name, select :guilabel:`Domain Names`, and click :guilabel:`DNS`.
To manage the DNS records of your domain name registered with Odoo or to visualize the contacts
associated with it, open your `database manager <https://www.odoo.com/my/databases>`_, click on the
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
:guilabel:`Contacts` or :guilabel:`DNS`.
- :guilabel:`A`: the A record holds the IP address of the domain. It is automatically created and
**cannot** be edited or deleted.
- :guilabel:`CNAME`: CNAME records forward one domain or subdomain to another domain. One is
automatically created to map the `www.` subdomain to the database. If the database is renamed, the
CNAME record **must** also be renamed.
- :guilabel:`MX`: MX records instruct servers on where to deliver emails.
- :guilabel:`TXT`: TXT records can be used for different purposes (e.g., to verify domain name
ownership).
Any modification to the DNS records can take up to **72 hours** to propagate worldwide on all
servers.
.. image:: domain_names/manage.png
:align: center
:alt: Management of the domain names linked to an Odoo database
.. note::
`Submit a support ticket <https://www.odoo.com/help>`_ if you need assistance to manage your
domain name.
Mailbox
-------
The one-year free domain name offer does **not** include a mailbox. There are two options to link
your domain name with a mailbox.
Use a subdomain
~~~~~~~~~~~~~~~
You can create a subdomain (e.g., `subdomain.yourdomain.com`) to use as an alias domain for the
database. It allows users to create records in the database from emails received on their
`email@subdomain.yourdomain.com` alias.
To do so, open the `database manager <https://www.odoo.com/my/databases>`_, click the gear icon
(:guilabel:`⚙️`) next to the database name, and go to :menuselection:`Domain Names --> DNS --> Add
DNS record --> CNAME`. Next, enter the desired subdomain in the :guilabel:`Name` field (e.g.,
`subdomain`), the original database domain with a period at the end (e.g., `mycompany.odoo.com.`) in
the :guilabel:`Content` field, and click :guilabel:`Add record`.
Then, add the alias domain as your *own domain* by clicking :guilabel:`Use my own domain`, entering
the alias domain (e.g., `subdomain.yourdomain.com`), clicking :guilabel:`Verify`, and then
:guilabel:`I confirm, it's done`.
Finally, go to your database and open the :guilabel:`Settings`. Under the :guilabel:`Alias Domain`
field, enter the alias domain (e.g., `subdomain.yourdomain.com`), click :guilabel:`Create`, and then
:guilabel:`Save`.
Use an external email provider
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To use an external email provider, you should configure an MX record. To do so, open the `database
manager <https://www.odoo.com/my/databases>`_, click the gear icon (:guilabel:`⚙️`) next to the
database name, click :menuselection:`Domain Names --> DNS --> Add DNS record --> MX`. The values you
should enter for the :guilabel:`Name`, :guilabel:`Content`, and :guilabel:`Priority` fields depend
on the external email provider.
.. seealso::
- `Google Workspace: MX record values <https://support.google.com/a/answer/174125?hl=en>`_
- `Outlook and Exchange Online: Add an MX record for email <https://learn.microsoft.com/en-us/microsoft-365/admin/get-help-with-domains/create-dns-records-at-any-dns-hosting-provider?view=o365-worldwide#add-an-mx-record-for-email-outlook-exchange-online>`_
Please `submit a support ticket <https://www.odoo.com/help>`_ if you need further assistance to
manage your domain name.
.. _domain-name/existing:
Configure an existing domain name
=================================
Configure your existing domain name
===================================
If you already have a domain name, you can use it for your Odoo website.
If you already own a domain name, you can use it to point to your website.
.. warning::
It is strongly recommended to follow **in order** these three steps to avoid any :ref:`SSL
certificate validation <domain-name/ssl>` issues:
To avoid any issue with the :ref:`SSL certificate validation <domain-name/ssl>`, we highly recommend
that you proceed with the following actions in this order:
#. :ref:`Add a CNAME record <domain-name/cname>`
#. :ref:`Map your domain name to your Odoo database <domain-name/db-map>`
#. :ref:`Map your domain name to your Odoo website <domain-name/website-map>`
#. :ref:`Add a CNAME record <domain-name/cname>` on your domain name's DNS zone.
#. :ref:`Map your domain name with your Odoo database <domain-name/db-map>`.
#. :ref:`Map your domain name with your Odoo website <domain-name/website-map>`.
.. _domain-name/cname:
Add a CNAME record
------------------
Creating a CNAME record to forward your domain name to the address of your Odoo database is
required.
A **CNAME record** is a type of DNS record that points to the domain of another website rather than
directly to an IP address.
You need a CNAME record that points to your Odoo database. The requirements are detailed in your
database manager.
.. tabs::
.. group-tab:: Odoo Online
The CNAME record's target address should be your database's address as defined at its creation
(e.g., `mycompany.odoo.com`).
The target address is the current address of your database, as defined at its creation (e.g.,
``example.odoo.com``)
.. group-tab:: Odoo.sh
The CNAME record's target address can be the project's main address, which can be found on
Odoo.sh by going to :menuselection:`Settings --> Project Name`, or a specific branch
(production, staging or development) by going to :menuselection:`Branches --> select the
branch --> Settings --> Custom domains`, and clicking :guilabel:`How to set up my domain?`. A
message indicates which address your CNAME record should target.
Your project's main address is defined in :menuselection:`Settings --> Project Name`.
The specific instructions depend on your DNS hosting service.
If you want to target a specific branch (production, staging or development), go to
:menuselection:`Branches --> select your branch --> Settings --> Custom domains`, and click on
:guilabel:`How to set up my domain?`. A message indicates which address your CNAME record
should target.
.. seealso::
- `GoDaddy: Add a CNAME record <https://www.godaddy.com/help/add-a-cname-record-19236>`_
- `Namecheap: How to create a CNAME record for your domain <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain>`_
- `OVHcloud: Add a new DNS record <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/#add-a-new-dns-record>`_
- `Cloudflare: Manage DNS records
<https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
#. Open your domain name's manager dashboard.
#. Open the **DNS zone** management page for the domain name you want to configure.
#. Create a **CNAME record** pointing to the address of your database.
Creating a CNAME record to map the `www` subdomain (`www.yourdomain.com`) as some visitors are used
to typing `www.` before entering a domain name.
While Odoo suggests creating a CNAME record for your ``www.`` subdomain (``www.example.com``), you
can of course use any domain name of your choice, with any subdomain (e.g.,
``anything.example.com``).
.. example::
You own the domain name `yourdomain.com`, and your Odoo Online database's address is
`mycompany.odoo.com`. You want to access your Odoo database primarily with the domain
`www.yourdomain.com` but also with the naked domain :dfn:`(a domain name without any subdomains
or prefixes)` `yourdomain.com`.
You own the domain name ``example.com``, and you have an Odoo Online database at the address
``example.odoo.com``. You want to access your Odoo database primarily with the domain
``www.example.com`` but also with the :ref:`naked domain <domain-name/naked-domain>`
``example.com``.
To do so, create a CNAME record for the `www` subdomain, with `mycompany.odoo.com` as the
target. Next, create a redirect (301 permanent or visible redirect) to redirect visitors from
`yourdomain.com` to `wwww.yourdomain.com`.
To do so, you create a CNAME record for the ``www`` subdomain, with ``example.odoo.com`` as the
target. The DNS zone manager generates the following rule and adds it to your DNS zone: ``www IN
CNAME example.odoo.com.``
You also create a redirection from ``example.com`` to ``wwww.example.com``.
Your new DNS records are propagated to all DNS servers.
.. note::
Here are some specific guidelines to create a CNAME record:
- `GoDaddy <https://www.godaddy.com/help/add-a-cname-record-19236>`_
- `Namecheap <https://www.namecheap.com/support/knowledgebase/article.aspx/9646/2237/how-to-create-a-cname-record-for-your-domain>`_
- `OVH <https://docs.ovh.com/us/en/domains/web_hosting_how_to_edit_my_dns_zone/#add-a-new-dns-record>`_
- `CloudFlare <https://support.cloudflare.com/hc/en-us/articles/360019093151>`_
- `Google Domains <https://support.google.com/domains/answer/3290350?hl=en>`_
.. _domain-name/naked-domain:
Naked domain
~~~~~~~~~~~~
A **naked domain** is a domain name that doesn't have any subdomain at the beginning of the address
(e.g., ``odoo.com`` instead of ``www.odoo.com``).
You may want your naked domain to redirect to your website as some visitors may not type the full
domain name to access your website.
#. Open your domain name's manager dashboard.
#. Create a **redirection** from the naked domain (``example.com``) to your main domain name
(``www.example.com``).
.. note::
Depending on your domain name registrar, this redirection may be already pre-configured.
.. _domain-name/db-map:
Map a domain name to an Odoo database
-------------------------------------
.. warning::
Ensure you have :ref:`added a CNAME record <domain-name/cname>` to your domain name's DNS
**before** mapping your domain name to your Odoo database.
Failing to do so may prevent the validation of the :ref:`SSL certificate <domain-name/ssl>` and
could result in a *certificate name mismatch* error. Web browsers often display this as a
warning, such as *"Your connection is not private"*.
If you encounter this error after mapping the domain name to your database, wait up to five
days, as the validation may still happen. If not, you can `submit a support ticket
<https://www.odoo.com/help>`_, including screenshots of your CNAME records.
Map your domain name with your Odoo database
--------------------------------------------
.. tabs::
.. group-tab:: Odoo Online
Open the `database manager <https://www.odoo.com/my/databases>`_, click the gear icon
(:guilabel:`⚙️`) next to the database name, and go to :menuselection:`Domain Names --> Use my
own domain`. Then, enter the domain name (e.g., `yourdomain.com`), click :guilabel:`Verify`
and :guilabel:`I confirm, it's done`.
Open your `database manager <https://www.odoo.com/my/databases>`_, click on the
:guilabel:`settings` button next to your database, on :guilabel:`Domain names`, and then on
:guilabel:`Use my own domain` at the bottom of the right column.
.. image:: domain_names/map-database-online.png
:alt: Mapping a domain name to an Odoo Online database
Type the domain name you want to add to this database, then click on :guilabel:`Verify` to
check if the CNAME record is correctly configured. Once done, click on :guilabel:`I confirm,
it's done`.
.. image:: domain_names/online-map.png
:align: center
:alt: Verification of the CNAME records of a domain name before mapping it with a database
.. group-tab:: Odoo.sh
On Odoo.sh, go to :menuselection:`Branches --> select your branch --> Settings --> Custom
domains`, type the domain name to add, then click :guilabel:`Add domain`.
Go to :menuselection:`Branches --> select your branch --> Settings --> Custom domains`, type
the domain name you want to add to this database, then click on :guilabel:`Add domain`.
.. image:: domain_names/map-database-sh.png
:alt: Mapping a domain name to an Odoo.sh branch
.. image:: domain_names/odoo-sh-map.png
:align: center
:alt: Mapping a domain name with an Odoo.sh branch
.. seealso::
:ref:`Odoo.sh branches: settings tab <odoosh-gettingstarted-branches-tabs-settings>`
- :ref:`Odoo.sh branches: settings tab <odoosh-gettingstarted-branches-tabs-settings>`
.. warning::
Make sure to :ref:`add a CNAME record <domain-name/cname>` to your domain name's DNS **before**
mapping your domain name with your Odoo database.
Failing to do so may impede the validation of the :ref:`SSL certificate <domain-name/ssl>` and
would result in a *certificate name mismatch* error. This is often displayed by web browsers as a
warning such as *"Your connection is not private"*.
If this is the case and you have added the domain name to your database's settings less than five
days ago, wait 24 hours as the validation may still happen. Otherwise, please `submit a support
ticket <https://www.odoo.com/help>`_ including screenshots of your CNAME records.
.. _domain-name/ssl:
SSL encryption (HTTPS protocol)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
**SSL encryption** allows visitors to navigate a website through a secure connection, which appears
as the *https://* protocol at the beginning of a web address rather than the non-secure *http://*
protocol.
**SSL encryption** is an encryption-based Internet security protocol. It allows your visitors to
navigate your website through a secure connection, which appears as an ``https://`` protocol at the
beginning of your web address, rather than a non-secure ``http://`` protocol.
Odoo generates a separate SSL certificate for each domain :ref:`mapped to a database
<domain-name/db-map>` using `Let's Encrypt's certificate authority and ACME protocol
Odoo generates a separate SSL certificate for each domain :ref:`mapped in the database manager
<domain-name/db-map>`, using integration with `Let's Encrypt Certificate Authority and ACME protocol
<https://letsencrypt.org/how-it-works/>`_.
.. note::
- Certificate generation may take up to 24 hours.
- Several attempts to validate your certificate are made for five days after you map your domain
name to your database.
- If you use another service, you can keep using it or change to Odoo's.
.. important::
No SSL certificate is generated for naked domains :dfn:`(domain names without any subdomains
or prefixes)`.
- The certificate generation may take up to 24h.
- Several attempts to validate your certificate are made during the five days following the
moment you add your domain name in your database's settings.
- If you already use another service, you can keep using it or simply change for Odoo.
.. _domain-name/web-base-url:
@@ -258,57 +296,71 @@ Web base URL of a database
~~~~~~~~~~~~~~~~~~~~~~~~~~
.. note::
If the Website app is installed on your database, skip this section and continue from the
:ref:`Map a domain name to a website <domain-name/website-map>` section.
If you have Odoo Website, you can disregard this part and directly :ref:`map your domain name
with your website <domain-name/website-map>`.
The *web base URL* or root URL of a database affects your main website address and all the
The **web base URL** of a database, or **root URL** affects your main website address and all the
links sent to your customers (e.g., quotations, portal links, etc.).
To make your custom domain name the *web base URL* of your database, access your database using your
custom domain name and log in as an administrator :dfn:`(a user part of the Settings access right
group under Administration)`.
To configure it, access your Odoo database with your custom address, then log in as an administrator
of your database (any user in the *Settings* group) from the login screen.
.. warning::
If you access your database with the original Odoo address (e.g., `mycompany.odoo.com`), the *web
base URL* of your database will be updated accordingly. To prevent the automatic update of the
*web base URL* when an administrator logs in to the database, activate the :ref:`developer mode
<developer-mode>`, go to :menuselection:`Settings --> Technical --> System Parameters --> New`,
and enter `web.base.url.freeze` as the :guilabel:`Key` and `True` as the :guilabel:`Value`.
Connecting to your database with the original Odoo subdomain address (e.g., ``example.odoo.com``
also updates the web base URL of your database. See below to prevent these automatic updates.
Alternatively, you can do it manually. To do so, activate the :ref:`developer mode
<developer-mode>`, then go to :menuselection:`Settings --> Technical --> System Parameters`.
Find the key called ``web.base.url`` (or create it if it does not exist) and enter the full address
of your website as value, such as ``https://www.example.com``.
.. note::
You can also set the web base URL manually. To do so, activate the :ref:`developer mode
<developer-mode>`, go to :menuselection:`Settings --> Technical --> System Parameters`, and
search for the `web.base.url` key (create it if necessary) and enter the full address of your
website as the value (e.g., `https://www.yourdomain.com`). The URL must include the protocol
`https://` (or `http://`) and *not* end with a slash (`/`).
The URL must include the protocol ``https://`` (or ``http://``) and must not end with a slash
(``/``).
To prevent the automatic update of the web base URL when an administrator logs in the database, you
can create the following System Parameter:
- key: ``web.base.url.freeze``
- value: ``True``
.. _domain-name/website-map:
Map a domain name to an Odoo website
------------------------------------
Map your domain name with your website
======================================
Mapping your domain name to your website is different than mapping it to your database:
Mapping your domain name to your website isn't the same as mapping it with your database:
- It defines your domain name as the main one for your website, helping search engines to index your
website correctly.
- It defines your domain name as the base URL for your database, including portal links sent by
website properly.
- It defines your domain name as the base URL for your database, including the portal links sent by
email to your customers.
- If you have multiple websites, it maps your domain name to the appropriate website.
- If you have multiple websites, it maps your domain name with the appropriate website.
Go to :menuselection:`Website --> Configuration --> Settings`. If you have multiple websites, select
the one you want to configure. In the :guilabel:`Domain` field, enter the address of your website
(e.g., `https://www.yourdomain.com`) and :guilabel:`Save`.
Go to :menuselection:`Website --> Configuration --> Settings --> Website Info`. If you have multiple
websites, select the one you want to configure.
In the :guilabel:`Domain` field, fill in the web address of your website (e.g.,
``https://www.example.com``) and click on :guilabel:`Save`.
.. image:: domain_names/website-settings.png
:align: center
:alt: Configuring https://www.example.com as the Domain of the website
.. warning::
Mapping your domain name to your Odoo website prevents Google Search from indexing your original
database address (e.g., `mycompany.odoo.com`).
Mapping your domain name with your Odoo website prevents Google from indexing both your custom
domain name ``www.example.com`` and your original odoo database address ``example.odoo.com``.
If both addresses are already indexed, it may take some time before the indexation of the second
address is removed from Google Search. You can use the `Google Search Console
<https://search.google.com/search-console/welcome>`_ to fix the issue.
If both addresses are already indexed, it may take some time before Google removes the indexation
of the second address. You may also try using the `Google Search Console
<https://search.google.com/search-console>`_ to fix this.
.. note::
If you have multiple websites and companies on your database, make sure to select the right
:guilabel:`Company` under :menuselection:`Website --> Configuration --> Settings`. Doing so
indicates Odoo which URL to use as the :ref:`base URL <domain-name/web-base-url>` according to
If you have multiple websites and companies on your database, make sure that you select the
right :guilabel:`Company` in the website settings, next to the :guilabel:`Domain` settings. Doing
so indicates Odoo which URL to use as the :ref:`base URL <domain-name/web-base-url>` according to
the company in use.
.. seealso::
- :doc:`/applications/general/email_communication/email_servers`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

@@ -1,35 +0,0 @@
====================
Neutralized database
====================
A neutralized database is a non-production database on which several parameters are deactivated.
This enables one to carry out tests without the risk of launching specific automated processes that
could impact production data (e.g., sending emails to customers). Live access is removed and
turned into a testing environment.
.. note::
**Any testing database created is a neutralized database:**
- testing backup databases
- duplicate databases
- for Odoo.sh: staging and development databases
.. important::
A database can also be neutralized when upgrading, as it is vital to do some tests before
switching to a new version.
Deactivated features
====================
Here is a non-exhaustive list of the deactivated parameters:
- all planned actions (e.g., automatic invoicing of subscriptions, mass mailing, etc.)
- outgoing emails
- bank synchronization
- payment providers
- delivery methods
- :abbr:`IAP (In-App Purchase)` tokens
.. note::
**A red banner at the top of the screen is displayed on the neutralized database so that it can
be seen immediately.**
@@ -72,7 +72,7 @@ Domain names
Use a custom :doc:`domain name <domain_names>` to access the database via another URL.
.. tip::
You can :ref:`register a domain name for free <domain-name/register>`.
You can :ref:`register a domain name for free <domain-name/odoo-register>`.
.. _odoo_online/tags:
@@ -31,18 +31,12 @@ This matrix shows the support status of every version.
- On-Premise
- Release date
- End of support
* - Odoo saas~17.1
- |green|
- N/A
- N/A
- January 2024
-
* - **Odoo 17.0**
- |green|
- |green|
- |green|
- November 2023
- October 2026 (planned)
- November 2026 (planned)
* - Odoo saas~16.4
- |green|
- N/A
@@ -64,10 +64,9 @@ If the :guilabel:`Generate Entries` field in the **Settings** is set to :guilabe
validation`, Odoo automatically generates the deferral entries when the invoice is validated. Click
the :guilabel:`Deferred Entries` smart button to see them.
One entry, dated on the same day as the invoice's accounting date, moves the invoice amounts from
the income account to the deferred account. The other entries are deferral entries which, month
after month, move the invoice amounts from the deferred account to the income account to recognize
the revenue.
One entry, dated on the same day as the invoice, moves the invoice amounts from the income account
to the deferred account. The other entries are deferral entries which, month after month, move
the invoice amounts from the deferred account to the income account to recognize the revenue.
.. example::
You can defer a January invoice of $1200 over 12 months by specifying a start date of 01/01/2023
@@ -64,10 +64,9 @@ If the :guilabel:`Generate Entries` field is set to :guilabel:`On invoice/bill v
automatically generates the deferral entries when the bill is validated. Click on the
:guilabel:`Deferred Entries` smart button to see them.
One entry, dated on the same day as the bill's accounting date, moves the bill amounts from the
expense account to the deferred account. The other entries are deferral entries which will, month
after month, move the bill amounts from the deferred account to the expense account to recognize
the expense.
One entry, dated on the same day as the bill, moves the bill amounts from the expense account to
the deferred account. The other entries are deferral entries which will, month after month, move the
bill amounts from the deferred account to the expense account to recognize the expense.
.. example::
You can defer a January bill of $1200 over 12 months by specifying a start date of 01/01/2023
@@ -93,11 +93,12 @@ available on Odoo.
- :doc:`Kenya - Accounting <fiscal_localizations/kenya>`
- Lithuania - Accounting
- :doc:`Luxembourg - Accounting <fiscal_localizations/luxembourg>`
- :doc:`Malaysia - Accounting <fiscal_localizations/malaysia>`
- Maroc - Accounting
- :doc:`Mexico - Accounting <fiscal_localizations/mexico>`
- Mongolia - Accounting
- :doc:`Netherlands - Accounting <fiscal_localizations/netherlands>`
- New Zealand - Accounting
- :doc:`New Zealand - Accounting <fiscal_localizations/new_zealand>`
- Norway - Accounting
- OHADA - Accounting
- Pakistan - Accounting
@@ -146,8 +147,10 @@ available on Odoo.
fiscal_localizations/italy
fiscal_localizations/kenya
fiscal_localizations/luxembourg
fiscal_localizations/malaysia
fiscal_localizations/mexico
fiscal_localizations/netherlands
fiscal_localizations/new_zealand
fiscal_localizations/romania
fiscal_localizations/peru
fiscal_localizations/philippines
@@ -159,3 +162,4 @@ available on Odoo.
fiscal_localizations/vietnam
fiscal_localizations/united_arab_emirates
fiscal_localizations/united_kingdom
fiscal_localizations/employment_hero
@@ -41,13 +41,11 @@ localization:
- `l10n_ar_edi`
- Includes all technical and functional requirements to generate electronic invoices via web
service, based on the AFIP regulations.
* - :ref:`Argentinean eCommerce <argentina/ecommerce-electronic-invoicing>`
* - :guilabel:`Argentinean eCommerce`
- `l10n_ar_website_sale`
- (optional) Allows the user to see Identification Type and AFIP Responsibility in the
eCommerce checkout form in order to create electronic invoices.
.. _argentina/configure-your-company:
Configure your company
----------------------
@@ -551,8 +549,6 @@ When creating a :guilabel:`Credit Note` we can have two scenarios:
:align: center
:alt: FCE: Es Cancelación?
.. _argentina/invoice-printed-report:
Invoice printed report
~~~~~~~~~~~~~~~~~~~~~~
@@ -876,78 +872,6 @@ The menu also displays critical information related to these operations, such as
- The :guilabel:`Journal` in which the check is currently registered
- The **partner** associated with the operation (either customer or vendor).
.. _argentina/ecommerce-electronic-invoicing:
Ecommerce electronic invoicing
------------------------------
:ref:`Install <general/install>` the *Argentinian eCommerce* (`l10n_ar_website_sale`) module to
enable the following features and configurations:
- Clients being able to create online accounts for eCommerce purposes.
- Support for required fiscal fields in the eCommerce application.
- Receive payments for sale orders online.
- Generate electronic documents from the eCommerce application.
Configuration
~~~~~~~~~~~~~
Once all of the configurations are made for the Argentinian :ref:`electronic invoice
<argentina/configure-your-company>` flow, it is also necessary to complete certain configurations to
integrate the eCommerce flow.
Client account registration
***************************
To configure your website for client accounts, follow the instructions in the :doc:`checkout
<../../websites/ecommerce/checkout_payment_shipping/checkout>` documentation.
Automatic invoice
*****************
Configure your website to generate electronic documents in the sales process by navigating to
:menuselection:`Website --> Configuration --> Settings` and activating the :guilabel:`Automatic
Invoice` feature in the :guilabel:`Invoicing` section to automatically generate the required
electronic documents when the online payment is confirmed.
.. image:: argentina/l10nar-automatic-invoicing-ecommerce.png
:align: center
:alt: Feature activated to invoice automatically.
Since an online payment needs to be confirmed for the :guilabel:`Automatic Invoice` feature to
generate the document, a :doc:`payment provider <../payment_providers>` **must** be configured for
the related website.
Products
********
To allow your products to be invoiced when an online payment is confirmed, navigate to the desired
product from :menuselection:`Website --> eCommerce --> Products`. In the :guilabel:`General
Information` tab, set the :guilabel:`Invoicing Policy` to :guilabel:`Ordered quantities` and define
the desired :guilabel:`Customer Taxes`.
Invoicing flow for eCommerce
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Once the configurations mentioned above are all set, clients can complete the following required
steps in the *Argentinian eCommerce* flow to input fiscal fields in the checkout process.
Fiscal fields are available for input in the checkout process once the :guilabel:`Country` field is
set as `Argentina`. Inputting the fiscal data enables the purchase to conclude in the corresponding
electronic document.
.. image:: argentina/l10nar-fiscal-fields-ar-ecommerce.png
:align: center
:alt: Fiscal required fields for electronic invoicing.
When the client makes a successful purchase and payment, the necessary invoice is generated with
the corresponding layout and fiscal stamps stated in the :ref:`Invoice printed report
<argentina/invoice-printed-report>`.
.. seealso::
:doc:`Client account creation <../../websites/ecommerce/checkout_payment_shipping/checkout>`
Reports
=======
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

@@ -35,9 +35,6 @@ Configuration
- `l10n_account_customer_statements`
- Allows the management and sending of monthly customer statements from the partner ledger and
the contact form. Also used in New Zealand.
* - :guilabel:`Employment Hero Australian Payroll`
- `l10n_au_keypay`
- Synchronises all pay runs from Employment Hero with Odoos journal entries.
.. _australia/coa:
@@ -861,70 +858,12 @@ from the batch.
.. _australia/employment-hero:
Employment Hero Australian Payroll
==================================
Employment Hero payroll
=======================
If your business is already up and running with `Employment Hero <https://employmenthero.com/>`_,
you can use our connector as an alternative payroll solution.
The Employment Hero module synchronises payslip accounting entries (e.g., expenses, social charges,
liabilities, taxes) automatically from Employment Hero to Odoo. Payroll administration is still done
in Employment Hero. We only record the **journal entries** in Odoo.
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
use our connector as an alternative payroll solution.
.. important::
KeyPay was rebranded as **Employment Hero** in March 2023.
Configuration
-------------
#. :ref:`Activate <general/install>` the :guilabel:`Employment Hero Australian Payroll` module
(`l10n_au_keypay`).
#. Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration
--> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero
Integration`.
.. image:: australia/employment-hero-integration.png
:alt: Enabling Employment Hero Integration in Odoo Accounting displays new fields in the
settings
- You can find the API Key in the :guilabel:`My Account` section of the Employment Hero platform.
.. image:: australia/employment-hero-myaccount.png
:alt: "Account Details" section on the Employment Hero dashboard
- The **Payroll URL** is pre-filled with `https://keypay.yourpayroll.com.au`.
.. warning::
Do not change the **pre-filled Payroll URL**
- You can find the **Business ID** in the Employment Hero URL. (i.e., `189241`)
.. image:: australia/employment-hero-business-id.png
:alt: The Employment Hero "Business ID" number is in the URL
- You can choose any Odoo journal to post the payslip entries.
How does the API work?
----------------------
The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The
reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve
the same record in Employment Hero and Odoo.
.. image:: australia/employment-hero-journal-entry.png
:alt: Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)
By default, the synchronisation happens once per week. You can fetch the records manually by going
to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable
Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`.
Employment Hero payslip entries also work based on double-entry bookkeeping.
The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`.
.. image:: australia/employment-hero-chart-of-accounts.png
:alt: Chart of Accounts menu in Employment Hero
For the API to work, you need to create the same accounts as the default accounts of your Employment
Hero business (**same name and same code**) in Odoo. You also need to choose the correct account
types in Odoo to generate accurate financial reports.
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Australia**,
use the following value as :guilabel:`Payroll URL`: `https://api.yourpayroll.com.au/`.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -124,7 +124,7 @@ Categories`. Some categories already exist by default but do not have any rates.
This makes the vehicle mandatory while booking a vendor bill.
To link a disallowed expenses category with a specific account, go to :menuselection:`Accounting -->
Configuration --> Accounting: Chart of Accounts`. Find the account you want, and click on
Configuration --> Acounting: Chart of Accounts`. Find the account you want, and click on
:guilabel:`Setup`. Add the :guilabel:`Disallowed Expense category` in the :guilabel:`Disallowed
Expenses` field. From now, when an expense is created with this account, the disallowed expense is
calculated based on the rate mentioned in the :guilabel:`Disallowed Expense category`.
@@ -234,7 +234,8 @@ SODA
files can be imported into the journal you use to record salaries by going to your Accounting
**dashboard** and clicking :guilabel:`Upload` in the related journal card form.
Once your **SODA** files are imported, the entries are created automatically in your salary journal.
Once your **SODA** files are imported, the entries are created automatically in your 'salary'
journal.
.. image:: belgium/soda-import.png
:alt: Import SODA files
@@ -244,7 +245,7 @@ Once your **SODA** files are imported, the entries are created automatically in
CodaBox
-------
**CodaBox** is a service that allows Belgian accounting firms to access their clients' bank
**CodaBox** is a service that allows Belgian accounting firms accessing their clients' bank
information and statements. Odoo provides a way to import such statements automatically.
.. note::
@@ -258,16 +259,15 @@ The configuration must be done on each client database. In the following
instructions, we will refer to your client's company as *Company* and to your
accounting firm as *Accounting Firm*.
You must first :ref:`install <general/install>` :guilabel:`CodaBox` and
:guilabel:`CodaBox Bridge Wizard` (if available) to start.
You must first :ref:`Install <general/install>` :guilabel:`CodaBox` to start.
.. important::
Make sure the company settings are correctly configured, i.e., the country is set to
:guilabel:`Belgium`, the :guilabel:`Tax ID` and :guilabel:`Accounting Firm` fields are filled,
as well as the :guilabel:`Tax ID` of the accounting firm (if not filled, the :guilabel:`Tax ID`
of the company is used).
as well as the :guilabel:`Tax ID` of the accounting firm (unless it is the same as the
company's :guilabel:`Tax ID`).
Configure the journals
Configure the Journals
**********************
.. tabs::
@@ -276,7 +276,7 @@ Configure the journals
#. :doc:`Create a new bank journal <../accounting/bank>`.
#. Set the right IBAN in the :guilabel:`Account Number` field.
#. Select :guilabel:`CodaBox synchronization` as the :guilabel:`Bank Feed`.
#. Select :guilabel:`CodaBox synchronisation` as the :guilabel:`Bank Feed`.
.. image:: belgium/codabox_configuration_coda_journal.png
:align: center
@@ -285,8 +285,7 @@ Configure the journals
.. tab:: For SODA files
#. Create a new miscellaneous journal.
#. Go to :menuselection:`Accounting --> Configuration --> Settings`, then go to the
:guilabel:`CodaBox` section.
#. Go to :menuselection:`Accounting --> Configuration --> Accounting: CodaBox`.
#. Select the journal you just created in the SODA journal field.
.. image:: belgium/codabox_configuration_soda_setting.png
@@ -295,28 +294,54 @@ Configure the journals
.. _belgium/codabox-configuration-connection:
Configure the connection
Configure the Connection
************************
#. Go to :menuselection:`Accounting --> Configuration --> Settings`, then go to the
:guilabel:`CodaBox` section.
#. Click on :guilabel:`Manage Connection` to open the connection wizard, which shows the
:guilabel:`Accounting Firm VAT` number and the :guilabel:`Company VAT` number that will be used
for the connection.
#. If this is your **first connection**, click on :guilabel:`Create connection`.
The wizard confirms that the connection has been created on **Odoo's side**. Follow the steps
to validate the connection on **CodaBox's side**, too.
First, you must select which users can access the **CodaBox** connection settings. To do so, go to
:menuselection:`Settings --> Users & Companies --> Groups`, and search for the group
:guilabel:`Allow to show and modify the CodaBox Connection Settings`. Add the users you want
to this group. By default, only the :guilabel:`Administrator` is part of this group.
If this is **not your first connection**, the :guilabel:`Accounting Firm Password` provided by
Odoo during the first connection will be requested to create a new connection.
Then, to configure the connection itself, go to
:menuselection:`Accounting --> Configuration --> Accounting: CodaBox`.
.. note::
This :guilabel:`Accounting Firm Password` is unique to Odoo and must be stored securely
on your side.
The procedure differs depending on whether **CodaBox** is
being setup for a first client or an additional one.
The :guilabel:`Status` should have now switched to :guilabel:`Connected`.
.. tabs::
Synchronization
.. tab:: First connection
#. Click on :guilabel:`Connect`, where you are redirected to
the **CodaBox** platform, here validate the connection.
#. Once redirected back to Odoo, the :guilabel:`Status` should be set to
:guilabel:`Connected` and a new field :guilabel:`Access Token` should appear
with a unique value generated by Odoo.
.. image:: belgium/codabox_configuration_connection_ok.png
:align: center
:alt: Configured connection.
.. note::
This Odoo :guilabel:`Access Token` will be used to create new connections
for other clients without having to validate the connection again.
.. tab:: Following connection
#. Copy the :guilabel:`Access Token` from a previous connection.
#. Click on :guilabel:`Connect`.
The **CodaBox** connection linked to the :guilabel:`Access Token` should still exist,
therefore there is no need to validate the connection again. A new and different
:guilabel:`Access Token` is generated by Odoo, and the :guilabel:`Status` should be set to
:guilabel:`Connected`.
.. note::
By having a different :guilabel:`Access Token` for each client, you can
easily revoke the access of a client to your CodaBox account without
affecting the other clients. One client cannot interfere with another.
Synchronisation
~~~~~~~~~~~~~~~
Once the connection is established, Odoo can be synchronized with CodaBox.
@@ -327,78 +352,95 @@ Once the connection is established, Odoo can be synchronized with CodaBox.
CODA files are automatically imported from CodaBox every 12 hours. You do
not have to do anything. However, if you wish, it can also be done manually,
by clicking on :guilabel:`Fetch from CodaBox` in the Accounting Dashboard.
by clicking on :guilabel:`Fetch CODA's` in the Accounting Dashboard.
.. image:: belgium/codabox_dashboard_coda.png
:align: center
:alt: Manually fetch CODA's.
.. tab:: For SODA files
SODA files are automatically imported from CodaBox once a day as a draft. You do not have to
do anything. However, if you wish, it can also be done manually by clicking on
:guilabel:`Fetch from CodaBox` in the Accounting Dashboard.
SODA files are automatically imported from CodaBox once a day as draft. You do
not have to do anything. However, if you wish, it can also be done manually,
by clicking on :guilabel:`Fetch SODA's` in the Accounting Dashboard.
By default, if an account in the SODA file is not mapped to an account in Odoo, the Suspense
Account (499000) is used, and a note is added to the created journal entry.
By default, if an account in the SODA is not mapped to an account in Odoo, the Suspense
Account (499000) is used and a note is left in the created journal entry.
.. image:: belgium/codabox_dashboard_soda.png
:align: center
:alt: Manually fetch SODA's.
.. note::
You can access the mapping between the SODA and Odoo accounts by going to
:menuselection:`Accounting --> Configuration --> Settings` and clicking on the
:guilabel:`Open SODA Mapping` button in the :guilabel:`CodaBox` section.
You can access the mapping between the SODA accounts and the Odoo accounts by clicking
on the :guilabel:`SODA Mapping` button in
:menuselection:`Accounting --> Configuration --> Accounting: CodaBox`.
.. note::
The connection between Odoo and CodaBox can be revoked by using the
:guilabel:`Revoke` button in the CodaBox settings, which will revoke
the link on Odoo's side only.
If you have multiple connections, you will still be able to use the
Access Token of one of them to easily reconnect Odoo and CodaBox for
another client.
However, if you have only one (remaining) connection, you will not be able
to use its Access Token to create new connections. In that case, you will
have to revoke the connection from the CodaBox platform too,
and then recreate a new one following the steps in the
:ref:`first connection <belgium/codabox-configuration-connection>` section.
Potential issues
~~~~~~~~~~~~~~~~
* **CodaBox is not configured. Please check your configuration.**
CodaBox is not configured. Please check your configuration.
Either the Company VAT of the Accounting Firm VAT is not set.
Either the :guilabel:`Company VAT` or the :guilabel:`Accounting Firm VAT` is not set.
It seems that the fiduciary VAT number you provided is not valid. Please check your configuration.
Either the Company VAT of the Accounting Firm VAT is in the wrong format.
* **No connection exists with these accounting firms and company VAT numbers.**
**Please check your configuration.**
It seems that the fiduciary VAT number you provided does not exist in CodaBox. Please check your configuration.
The Accounting Firm VAT number you provided is not registered in CodaBox.
This can happen when checking the connection status, and the :guilabel:`Accounting Firm VAT` and
:guilabel:`Company VAT` combination still needs to be registered. This may happen if you have
changed the :guilabel:`Company VAT` after the connection was established. For security reasons,
you have to :ref:`recreate a connection <belgium/codabox-configuration-connection>`
for this :guilabel:`Company VAT`.
Error while connecting to the IAP server. Please contact Odoo support.
It seems that Odoo's IAP server is down or unreachable. Please contact
Odoo support.
* **It seems that your CodaBox connection is not valid anymore. Please connect again.**
It seems that your CodaBox connection is not valid anymore. Please check your configuration.
It seems that you have either revoked the access of Odoo to your CodaBox account, or that
you have not completed the configuration process. In this case, you must click on the
:guilabel:`Revoke connection` button in the settings, and follow again the steps in
the :ref:`first connection <belgium/codabox-configuration-connection>` section.
This can happen if you revoke Odoo's access to your CodaBox account or still need to complete
the configuration process. In this case, you must revoke the connection and create a new one.
A previous CodaBox registration already exists. Paste the access token from a previous connection here. Odoo will generate a new one, exclusive to this database.
It seems that you have already your Accounting Firm with Odoo, but that the Access Token
is either not filled or wrong. You should follow the steps in the
:ref:`following connection <belgium/codabox-configuration-connection>` tab section.
* **The provided password is not valid for this accounting firm.**
**You must reuse the password you received from Odoo during your first connection.**
If you have lost your Access Token, you have to go on the CodaBox platform,
and revoke the access of Odoo to your CodaBox account. Then, you will have to follow
the steps in the :ref:`first connection <belgium/codabox-configuration-connection>` section.
The password you provided is different from the one you received from Odoo during your first
connection. You must use the password you received from Odoo during your first connection to
create a new connection for this accounting firm. If you have lost your password, you must first
revoke the Odoo connection on CodaBox's side (i.e., on your myCodaBox portal). Then, you can
revoke the connection on Odoo's side and
:ref:`create a new one <belgium/codabox-configuration-connection>`.
The provided access token is not valid for this fiduciary. Please check your configuration. If you have lost your access token, please contact Odoo support.
Same as above.
* **It seems that the company or accounting firm VAT number you provided is not valid.**
**Please check your configuration.**
It seems that no connection linked to your database/VAT number exists. Please check your configuration.
You may obtain this error when revoking or trying to fetch files from CodaBox if
the pair (Accounting Firm VAT, Company VAT) is not registered yet. This may happen if
you have changed the company VAT after the connection was established for instance.
For security reasons, you have to recreate a connection for this company VAT by following the
steps in the :ref:`first connection <belgium/codabox-configuration-connection>` section.
Either the :guilabel:`Company VAT` or the :guilabel:`Accounting Firm VAT` is not in a valid
Belgian format.
No files were found. Please check your configuration.
This may occur if the company VAT has changed after the connection was established.
In that case, you must click on the :guilabel:`Revoke connection` button in the settings,
and recreate the connection.
* **It seems that the accounting firm VAT number you provided does not exist in CodaBox.**
**Please check your configuration.**
The :guilabel:`Accounting Firm VAT` number you provided is not registered in CodaBox.
You may not have a valid CodaBox license linked to this VAT number.
* **It seems you have already created a connection to CodaBox with this accounting firm.**
**To create a new connection, you must first revoke the old one on myCodaBox portal.**
You must go to your myCodaBox portal and revoke Odoo's access to your CodaBox account.
Then, you can :ref:`create a new connection <belgium/codabox-configuration-connection>`
on Odoo's side.
.. tip::
To revoke the connection between Odoo and CodaBox, go to
:menuselection:`Accounting --> Configuration --> Settings`, scroll down to the
:guilabel:`CodaBox` section, click on :guilabel:`Manage Connection`, then click on
:guilabel:`Revoke`.
It seems you have already created a connection to CodaBox with this fiduciary. To create a new connection, you must first revoke the old one on myCodaBox portal.
You must go on the CodaBox platform, and revoke the access of Odoo to your CodaBox account.
Then, you will have to follow the steps in the
:ref:`first connection <belgium/codabox-configuration-connection>` section.
Electronic invoicing
====================
Binary file not shown.

After

Width:  |  Height:  |  Size: 4.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

@@ -0,0 +1,73 @@
=======================
Employment Hero Payroll
=======================
The `Employment Hero <https://employmenthero.com/>`_ module synchronises payslip accounting entries
(e.g., expenses, social charges, liabilities, taxes) automatically from Employment Hero to Odoo.
Payroll administration is still done in Employment Hero. We only record the **journal entries** in
Odoo.
.. important::
KeyPay was rebranded as **Employment Hero** in March 2023.
.. _employment_hero/configuration:
Configuration
-------------
#. :ref:`Activate <general/install>` the :guilabel:`Employment Hero Payroll` module
(`l10n_employment_hero`).
#. Configure the **Employment Hero API** by going to :menuselection:`Accounting --> Configuration
--> Settings`. More fields become visible after clicking on :guilabel:`Enable Employment Hero
Integration`.
.. image:: employment_hero/employment-hero-integration.png
:alt: Enabling Employment Hero Integration in Odoo Accounting displays new fields in the
settings
- You can find the API Key in the :guilabel:`My Account` section of the Employment Hero platform.
.. image:: employment_hero/employment-hero-myaccount.png
:alt: "Account Details" section on the Employment Hero dashboard
- The **Payroll URL** is left empty by default to avoid any confusion. Please fill it according
to the documentation specific to your localization.
.. note::
Employment hero is available for :ref:`Australia <australia/employment-hero>`,
:ref:`Malaysia <malaysia/employment-hero>`,
:ref:`New Zealand <new-zealand/employment-hero>`,
:ref:`Singapore <singapore/employment-hero>`,
and the :ref:`United Kingdom <united-kingdom/employment-hero>`.
- You can find the **Business ID** in the Employment Hero URL. (i.e., `189241`)
.. image:: employment_hero/employment-hero-business-id.png
:alt: The Employment Hero "Business ID" number is in the URL
- You can choose any Odoo journal to post the payslip entries.
How does the API work?
----------------------
The API syncs the journal entries from Employment Hero to Odoo and leaves them in draft mode. The
reference includes the Employment Hero payslip entry ID in brackets for the user to easily retrieve
the same record in Employment Hero and Odoo.
.. image:: employment_hero/employment-hero-journal-entry.png
:alt: Example of a Employment Hero Journal Entry in Odoo Accounting (Australia)
By default, the synchronisation happens once per week. You can fetch the records manually by going
to :menuselection:`Accounting --> Configuration --> Settings` and, in the :guilabel:`Enable
Employment Hero Integration` option, click on :guilabel:`Fetch Payruns Manually`.
Employment Hero payslip entries also work based on double-entry bookkeeping.
The accounts used by Employment Hero are defined in the section :guilabel:`Payroll settings`.
.. image:: employment_hero/employment-hero-chart-of-accounts.png
:alt: Chart of Accounts menu in Employment Hero
For the API to work, you need to create the same accounts as the default accounts of your Employment
Hero business (**same name and same code**) in Odoo. You also need to choose the correct account
types in Odoo to generate accurate financial reports.
Binary file not shown.

After

Width:  |  Height:  |  Size: 8.8 KiB

@@ -126,3 +126,59 @@ Correct an invoice that has been posted but not downloaded yet: Reset e-Faktur
.. image:: indonesia/indonesia-e-faktur-reset.png
:align: center
.. _localization_indonesia/qris-qr:
QRIS QR code on invoices
========================
`QRIS <https://qris.online/homepage/>`_ is a digital payment system that allows customers to make
payments by scanning the QR code from their preferred e-wallet.
.. important::
According to the `QRIS API documentation <https://qris.online/api-doc/create-invoice.php>`_,
QRIS expires after 30 minutes. Due to this restriction, the QR code is not included in reports
sent to customers and is only available on the customer portal.
Activate QR codes
-----------------
Go to :menuselection:`Accounting --> Configuration --> Settings`. Under the :guilabel:`Customer
Payments` section, activate the :guilabel:`QR Codes` feature.
QRIS bank account configuration
-------------------------------
Go to :menuselection:`Contacts --> Configuration --> Bank Accounts` and select the bank account for
which you want to activate QRIS. Set the :guilabel:`QRIS API Key` and :guilabel:`QRIS Merchant ID`
based on the information provided by QRIS.
.. important::
The account holder's country must be set to `Indonesia` on its contact form.
.. image:: indonesia/qris-setup.png
:alt: QRIS bank account configuration
.. seealso::
:doc:`../accounting/bank`
Bank journal configuration
--------------------------
Go to :menuselection:`Accounting --> Configuration --> Journals`, open the bank journal, then fill
out the :guilabel:`Account Number` and :guilabel:`Bank` under the :guilabel:`Journal Entries` tab.
.. image:: indonesia/journal-bank-config.png
:alt: Bank journal configuration
Issue invoices with QRIS QR codes
---------------------------------
When creating a new invoice, open the :guilabel:`Other Info` tab and set the :guilabel:`Payment
QR-code` option to `QRIS`.
.. image:: indonesia/invoice-qris.png
:alt: Select QRIS QR-code option
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
generate the QRIS QR code.
Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

@@ -0,0 +1,15 @@
========
Malaysia
========
.. _malaysia/employment-hero:
Employment Hero payroll
=======================
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
use our connector as an alternative payroll solution.
.. important::
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Malaysia**, use
the following value as :guilabel:`Payroll URL`: `https://apimy.yourpayroll.io/`.
@@ -0,0 +1,15 @@
===========
New Zealand
===========
.. _new-zealand/employment-hero:
Employment Hero payroll
=======================
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
use our connector as an alternative payroll solution.
.. important::
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **New Zealand**,
use the following value as :guilabel:`Payroll URL`: `https://api.nzpayroll.co.nz/`.
@@ -2,11 +2,6 @@
Peru
====
.. |SUNAT| replace:: :abbr:`SUNAT (Superintendencia Nacional de Aduanas y de Administración Tributaria)`
.. |GRE| replace:: :abbr:`GRE (Guía de Remisión Electrónica)`
.. |RUS| replace:: :abbr:`RUS (Régimen Único Simplificado)`
.. |EDI| replace:: :abbr:`EDI (Electronic Data Interchange)`
Introduction
============
@@ -83,8 +78,6 @@ The chart of accounts for Peru is based on the most updated version of the :abbr
Contable General Empresarial)`, which is grouped in several categories and is compatible with NIIF
accounting.
.. _peru/accounting-settings:
Accounting Settings
-------------------
@@ -246,8 +239,6 @@ directly to its services and get the currency rate either automatically or manua
Please refer to the next section in our documentation for more information about
:doc:`multicurrencies <../accounting/get_started/multi_currency>`.
.. _peru/master_data:
Configure Master data
---------------------
@@ -597,276 +588,3 @@ As part of the Peruvian localization, besides creating credit notes from an exis
you can also create debit Notes. For this just use the button “Add Debit Note”.
By default the Debit Note is set in the document type.
.. _peru/edg:
Electronic delivery guide 2.0
-----------------------------
The *Guía de Remisión Electrónica* (GRE) is an electronic document generated by the shipper to
support the transportation or transfer of goods from one place to another, such as a warehouse or
establishment. In Odoo, there are several configuration steps needed before you can successfully use
this feature.
The use of the *guía de remisión electrónica* electronic document is mandatory and required by
|SUNAT| for taxpayers who need to transfer their products, except those under the *Single Simplified
Regime* (régimen único simplificado or RUS).
Delivery guide types
~~~~~~~~~~~~~~~~~~~~
Sender
******
The *Sender* delivery guide type is issued when a sale is made, a service is rendered (including
processing), goods are assigned for use, or goods are transferred between premises of the same
company and others.
This delivery guide is issued by the owner of the goods (i.e., the sender) at the beginning of the
shipment. The sender delivery guide is supported in Odoo.
.. seealso::
`SUNAT guía de remisión <https://www.gob.pe/7899-guia-de-remision>`_
Carrier
*******
The *Carrier* delivery guide type justifies the transportation service the driver (or carrier)
performs.
This delivery guide is issued by the carrier and must be issued to each shipper when the shipment
goes through public transport.
.. important::
The carrier delivery guide is **not** supported in Odoo.
.. seealso::
`SUNAT guía de remisión transportista
<https://tefacturo.pe/blog/sunat/guia-de-remision-electronica/guia-de-remision-transportista/>`_
Transportation types
~~~~~~~~~~~~~~~~~~~~
Private
*******
The *Private* transportation type option is used when the owner transfers goods using their own
vehicles. In this case, a sender's delivery guide must be issued.
Public
******
The *Public* transportation type option is used when an external carrier moves the goods. In
this case, two delivery guides must be issued: the sender's delivery guide and the carrier's
delivery guide.
Direct submission to SUNAT
~~~~~~~~~~~~~~~~~~~~~~~~~~
The creation of the |GRE| delivery guide in Odoo **must** be sent directly to the |SUNAT|,
regardless of the electronic document provider: IAP, Digiflow, or |SUNAT|.
Required information
~~~~~~~~~~~~~~~~~~~~
Version 2.0 of the electronic delivery guide requires additional information on the general
configuration, vehicles, contacts, and products. In the general configuration, it is necessary to
add new credentials that you can retrieve from the |SUNAT| portal.
Cancellations
~~~~~~~~~~~~~
**Both** the sender and the carrier can cancel the electronic waybill as long as the following
conditions are met:
- The shipment has not been initiated.
- If the shipment has been initiated, the receiver **must** be changed before reaching the final
destination.
.. important::
The |SUNAT| no longer uses the term "Anula", but now uses the term "Dar de baja" for
cancellations.
Testing
~~~~~~~
The |SUNAT| does not support a test environment. This means that any delivery guides that were
generated by mistake **will** be sent to the |SUNAT|.
If, by mistake, the waybill was created in this environment, it is necessary to delete it from the
|SUNAT| portal.
Configuration
~~~~~~~~~~~~~
.. important::
- Electronic sender's |GRE| is currently the only supported type of waybill in Odoo.
- The delivery guide is dependent on the Odoo *Inventory* app, the :guilabel:`l10n_pe_edi` and
:guilabel:`l10n_pe` modules.
- A second user **must** be added for the creation of electronic documents.
After following the steps to configure the :ref:`electronic invoicing <peru/accounting-settings>`
and the :ref:`master data <peru/master_data>`, :ref:`install <general/install>` the
:guilabel:`Peruvian - Electronic Delivery Note 2.0` module (`l10n_pe_edi_stock_20`).
Next, you need to retrieve the *client ID* and *client secret* from |SUNAT|. To do so, follow the
`manual de servicios web plataforma nueva GRE
<https://cpe.sunat.gob.pe/sites/default/files/inline-files/Manual_Servicios_GRE.pdf>`_.
.. note::
In the |SUNAT| portal, it is important to have the correct access rights enabled, as they may
differ from the user set for electronic invoicing.
These credentials should be used to configure the delivery guide general settings from
:menuselection:`Accounting --> Configuration --> Settings --> Peruvian Electronic Invoicing`.
.. image:: peru/gre-fields-example.png
:alt: Example for the SUNAT Delivery Guide API section configuration.
.. note::
It is required to follow the format `RUC + UsuarioSol` (e.g., `20557912879SOLUSER`) for the
:guilabel:`Guide SOL User` field, depending on the user selected when generating the |GRE| API
credentials in the |SUNAT| portal.
Operator
********
The *operator* is the vehicle's driver in cases where the delivery guide is through *private*
transport.
To create a new operator, navigate to :menuselection:`Contacts --> Create` and fill out the contact
information.
First, select :guilabel:`Individual` as the :guilabel:`Company Type`. Then, add the
:guilabel:`Operator License` in the :guilabel:`Accounting` tab of the contact form.
For the customer address, make sure the following fields are complete:
- :guilabel:`District`
- :guilabel:`Tax ID` (:guilabel:`DNI`/:guilabel:`RUC`)
- :guilabel:`Tax ID Number`
.. image:: peru/operator-configuration.png
:alt: Individual type operator configurations in the Contact form.
Carrier
*******
The *carrier* is used when the delivery guide is through *public* transport.
To create a new carrier, navigate to :menuselection:`Contacts --> Create` and fill out the contact
information.
First, select :guilabel:`Company` as the :guilabel:`Company Type`. Then, add the :guilabel:`MTC
Registration Number`, :guilabel:`Authorization Issuing Entity`, and the :guilabel:`Authorization
Number`.
For the company address, make sure the following fields are complete:
- :guilabel:`District`
- :guilabel:`Tax ID` (:guilabel:`DNI`/:guilabel:`RUC`)
- :guilabel:`Tax ID Number`
.. image:: peru/company-operator-configuration.png
:alt: Company type operator configurations in the Contact form.
Vehicles
********
To configure the available vehicles, navigate to :menuselection:`Inventory --> Configuration -->
Vehicles` and fill in the vehicle form with the information needed for the vehicle:
- :guilabel:`Vehicle Name`
- :guilabel:`License Plate`
- :guilabel:`Is M1 or L?`
- :guilabel:`Special Authorization Issuing Entity`
- :guilabel:`Authorization Number`
- :guilabel:`Default Operator`
- :guilabel:`Company`
.. important::
It is important to check the :guilabel:`Is M1 or L?` checkbox if the vehicle has fewer than four
wheels or fewer than eight seats.
.. image:: peru/vehicle-not-m1-or-l-pe.png
:alt: Vehicle not selected as an M1 or L type with extra fields shown.
Products
********
To configure the available products, navigate to :menuselection:`Inventory --> Products` and open
the product to be configured.
Make sure that the applicable information in the product form is fully configured. The
:guilabel:`Partida Arancelaria` (Tariff Item) field needs to be completed.
Generating a GRE
~~~~~~~~~~~~~~~~
Once the delivery from inventory is created during the sales workflow, make sure you complete the
|GRE| fields on the top-right section of the transfer form for the fields:
- :guilabel:`Transport Type`
- :guilabel:`Reason for Transfer`
- :guilabel:`Departure start date`
It is also required to complete the :guilabel:`Vehicle` and :guilabel:`Operator` fields under the
:guilabel:`Guia de Remision PE` tab.
The delivery transfer has to be marked as *Done* for the :guilabel:`Generar Guia de Remision` button
to appear on the left menu of the transfer form.
.. image:: peru/generate-gre-transferview.png
:alt: Generar Guia de Remision button on a transfer form in the Done stage.
Once the transfer form is correctly validated by |SUNAT|, the generated XML file becomes available
in the chatter. You can now print the delivery slip that shows the transfer details and the QR
code validated by |SUNAT|.
.. image:: peru/gre-delivery-slip.png
:alt: Transfer details and QR code on generated delivery slip.
Common errors
~~~~~~~~~~~~~
- `Diferente prefijo para productos (T001 en algunos, T002 en otros)`
At the moment, Odoo does not support the automation of prefixes for products. This can be done
manually for each product output. This can also be done for non-storable products. However, keep
in mind that there will be no traceability.
- `2325 - GrossWeightMeasure - El dato no cumple con el formato establecido "Hace falta el campo"
"Peso"" en el producto`
This error occurs when the weight on the product is set as `0.00`. To fix this, you need to cancel
the waybill and recreate it. Make sure that you fix the weight on the product before creating the
new waybill, or it will result in the same error.
- `JSONDecodeError: Expecting value: line 1 column 1 (char 0) when creating a Delivery Guide`
This error is typically generated due to SOL user issues. Verify the user's connection with the
|SUNAT|; the SOL user must be established with the company RUT + user ID. For example
`2012188549JOHNSMITH`.
- `El número de documento relacionado al traslado de mercancía no cumple con el formato establecido:
error: documento relacionado`
The *Related Document Type* and *Related Document Number* fields only apply to invoices and
receipts.
- `400 Client error: Bad Request for URL`
This error is not solvable from Odoo; it is advised you reach out to the |SUNAT| and verify the
user. It may be necessary to create a new user.
- `Invalid content was found starting with element 'cac:BuyerCustomerParty'`
This error occurs when the transfer reason is set as *other*. Please select another option.
Following to the official documentation of the |SUNAT|'s waybill guide, the transfer reasons *03
(sale with shipment to third party)* or *12 (others)* does not work in Odoo, since you should not
have an empty or blank customer.
- `Duda cliente: consumo de créditos IAP al usar GRE 2.0`
For live clients using IAP, no credit is consumed (in theory) because it does not go through the
OSE, i.e., these documents are directly sent to the |SUNAT|.
- `Errores con formato credenciales GRE 2.0 (traceback error)`
Odoo currently throws an error with a traceback instead of a message that the credentials are not
correctly configured in the database. If this occurs on your database, please verify your
credentials.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -52,3 +52,16 @@ QR-code` option to *EMV Merchant-Presented QR-code*.
Ensure that the :guilabel:`Recipient Bank` is the one you configured, as Odoo uses this field to
generate the PayNow QR code.
.. _singapore/employment-hero:
Employment Hero payroll
=======================
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
use our connector as an alternative payroll solution.
.. important::
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **Singapore**,
use the following value as :guilabel:`Payroll URL`: `https://apisg.yourpayroll.io/`.
@@ -2,164 +2,34 @@
Spain
=====
Configuration
=============
Spanish chart of accounts
=========================
Install the 🇪🇸 **Spanish** :doc:`fiscal localization package <../fiscal_localizations>` to get all
the default accounting features of the Spanish localization.
Several Spanish charts of accounts are available by default in Odoo:
Three **Spanish** localizations exist, each with its own pre-configured **PGCE** charts of accounts:
- PGCE PYMEs 2008
- PGCE Completo 2008
- PGCE Entitades
- Spain - SMEs (2008);
- Spain - Complete (2008);
- Spain - Non-profit entities (2008).
To choose the one you want, go to :menuselection:`Accounting --> Configuration --> Settings`,
then select a package in the :guilabel:`Fiscal localization` section.
To select the one to use, go to :menuselection:`Accounting --> Configuration --> Settings` and
select a package in the :guilabel:`Fiscal Localization` section.
.. tip::
When you create a new Odoo Online database, the PGCE PYMEs 2008 is installed by default.
.. warning::
You can only change the accounting package as long as you have not created any accounting entry.
Chart of accounts
=================
Spanish accounting reports
==========================
You can reach the **Chart of Accounts** by going to :menuselection:`Accounting --> Configuration -->
Accounting: Chart of Accounts`.
If the Spanish accounting localization is installed, you have access to accounting reports specific
to Spain:
.. tip::
When you create a new Odoo Online database, **Spain - SMEs (2008)** is installed by default.
Taxes
=====
Default Spain-specific taxes are created automatically when the
:guilabel:`Spanish - Accounting (PGCE 2008) (l10n_es)` module is installed, and tax reports are
available when installing the module :guilabel:`Spain - Accounting (PGCE 2008) (l10n_es_reports)`.
Each tax impacts the Spain-specific **tax reports (Modelo)**, available by going to
:menuselection:`Accounting --> Reporting --> Statements Reports: Tax Report`.
Reports
=======
Here is the list of Spanish-specific statement reports available:
- Balance Sheet;
- Profit & Loss;
- EC Sales List;
- Tax Report (Modelo 111);
- Tax Report (Modelo 115);
- Tax Report (Modelo 303);
- Tax Report (Modelo 347);
- Tax Report (Modelo 349);
- Tax Report (Modelo 390).
You can access Spain-specific tax reports by clicking on the **book** icon when on a report and
selecting its Spain-specific version: :guilabel:`(ES)`.
.. image:: spain/modelo-reports.png
:alt: Spain-specific tax reports.
TicketBAI
=========
`Ticket BAI <https://www.gipuzkoa.eus/es/web/ogasuna/ticketbai>`_ or **TBAI** is an e-Invoicing
system used by the Basque government and its three provincial councils (Álava, Biscay, and
Gipuzkoa).
Odoo supports the **TicketBAI (TBAI)** electronic invoicing format for all three regions of the
**Basque Country**. To enable **TicketBAI**, set your company's :guilabel:`Country` and
:guilabel:`Tax ID` under :menuselection:`Settings --> General Settings` in the :guilabel:`Companies`
section.
Then, :ref:`install <general/install>` the module :guilabel:`Spain -TicketBAI (l10n_es_edi_TBAI)`,
go to :menuselection:`Accounting --> Configuration --> Settings`, and select a **region** in the
:guilabel:`Spain Localization` section's :guilabel:`Tax Agency for TBAI` field.
Once a region is selected, click :guilabel:`Manage certificates (SII/TicketBAI)`, then click
:guilabel:`New`, upload the certificate, and enter the password provided by the tax agency.
.. warning::
If you are testing certificates, enable :guilabel:`Test Mode` in the
:guilabel:`Spain Localization` section, which can be found under :guilabel:`Accounting` in
the **Settings** app.
Use case
--------
Once an invoice has been :doc:`created <../../finance/accounting/customer_invoices>` and confirmed,
a TicketBAI **banner** appears at the top.
.. image:: spain/ticketbai-invoice.png
:alt: TicketBAI banner at the top of the invoice once sent.
Odoo sends invoices through TicketBAI automatically every **24 hours**. However, you can click
:guilabel:`Process now` to send the invoice immediately.
When the invoice is **sent**, the status of the field :guilabel:`Electronic Invoice` changes to
:guilabel:`Sent`, and the XML file can be found in the **chatter**. Under the
:guilabel:`EDI Documents` tab, you can see the traceability of other generated documents related to
the invoice (e.g., if the invoice should also be sent through the **SII**, it will appear here).
.. note::
The TBAI **QR code** is displayed on the invoice PDF.
.. image:: spain/qr-code.png
:alt: QR code of the TicketBAI on the invoice.
FACe
====
`FACe <https://face.gob.es/en>`_ is the e-Invoicing platform used by the public administrations in
Spain to send electronic invoices.
Before configuring the :abbr:`FACe (General Entrance for Electronic Invoices)` system,
:ref:`install <general/install>` the :guilabel:`Spain - Facturae EDI (l10n_es_edi_facturae)` module
and other **Facturae EDI**-related modules.
To enable FACe, go to :menuselection:`Settings --> General Settings`, click
:guilabel:`Update Info` in the :guilabel:`Companies` section, then click :guilabel:`Update Info` and
set the :guilabel:`Country` and :guilabel:`Tax ID` of your company. Next, add the
:guilabel:`Facturae signature certificate` by clicking :guilabel:`Add a line`, uploading the
certificate provided by the tax agency, and entering the provided password.
Use case
--------
Once you have :doc:`created <../../finance/accounting/customer_invoices>` an invoice and confirmed
it, click :guilabel:`Send & Print`. Make sure :guilabel:`Generate Facturae edi file` is enabled, and
click :guilabel:`Send & Print` again. Once the invoice is sent, the generated XML file is available
in the **chatter**.
.. warning::
The file is **NOT** automatically sent. You have to send it yourself manually.
.. tip::
You can send **FACe** XML files in batch through `the governmental portal <https://www.facturae.gob.es/formato/Paginas/descarga-aplicacion-escritorio.aspx>`_.
Administrative centers
----------------------
In order for **FACe** to work with **administrative centers**, the invoice *must* include specific
data about the centers.
.. note::
Make sure to have the :guilabel:`Spain - Facturae EDI - Administrative Centers Patch
(l10n_es_edi_facturae_adm_centers)` module :ref:`installed <general/install>`.
To add **administrative centers**, create a new **contact** to add to the **partner** company.
Select :guilabel:`FACe Center` as the **type**, assign one or more **role(s)** to that contact, and
:guilabel:`Save`. The **three** roles usually required are:
- Órgano gestor: :guilabel:`Receptor` (Receiver);
- Unidad tramitadora: :guilabel:`Pagador` (Payer);
- Oficina contable: :guilabel:`Fiscal` (Fiscal).
.. image:: spain/administrative-center.png
:alt: Administrative center contact form for public entities.
.. tip::
- If administrative centers need different :guilabel:`Codes` per role, you *must* create
different centers for each role.
- When an electronic invoice is created using a partner with **administrative centers**, *all*
administrative centers are included in the invoice.
- You can add one contact with multiple roles or multiple contacts with a different role each.
- Balance Sheet
- Tax Report (Modelo 111)
- Tax Report (Modelo 115)
- Tax Report (Modelo 303)
- Tax Report (Modelo 347)
- Tax Report (Modelo 349)
- Tax Report (Modelo 390)
Binary file not shown.

Before

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

@@ -90,6 +90,9 @@ Go to :menuselection:`Accounting --> Reporting --> Tax report` and click on
:guilabel:`Connect to HMRC`. Enter your company information on the HMRC platform. You only need to
do it once.
.. Note::
When entering your VAT number, do not add the GB country code. Only the 9 digits are required.
Periodic submission to HMRC
~~~~~~~~~~~~~~~~~~~~~~~~~~~
@@ -115,3 +118,15 @@ each submission:
.. note::
During this process, the :guilabel:`Connect to HMRC` button no longer appears for other UK-based
companies.
.. _united-kingdom/employment-hero:
Employment Hero payroll
=======================
If your business is already up and running with :doc:`Employment Hero <employment_hero>`, you can
use our connector as an alternative payroll solution.
.. important::
To :ref:`configure the Employment Hero API <employment_hero/configuration>` for **United
Kingdom**, use the following value as :guilabel:`Payroll URL`: `https://api.yourpayroll.co.uk/`.
@@ -2,114 +2,101 @@
Stripe
======
`Stripe <https://stripe.com/>`_ is a United States-based online payment solution provider allowing
`Stripe <https://stripe.com/>`_ is a United States-based online payment solution provider, allowing
businesses to accept **credit cards** and other payment methods.
Create your Stripe account with Odoo
====================================
Link your Stripe Account with Odoo
==================================
.. seealso::
- :ref:`payment_providers/add_new`
The method to acquire your credentials depends on your hosting type:
.. tabs::
.. group-tab:: Odoo Online
#. :ref:`Navigate to the payment provider Stripe <payment_providers/supported_providers>` and
click :guilabel:`Connect Stripe`.
#. Go through the setup process and confirm your email address when Stripe sends you a
confirmation email.
#. At the end of the process, click :guilabel:`Agree and submit`. If all requested information
has been submitted, you are then redirected to Odoo, and your payment provider is enabled.
#. Go to the **eCommerce** or the **Sales** app and click on the *Activate Stripe* or the *Set
payments* button on the onboarding banner.
#. Fill in the requested information and submit the form.
#. Confirm your email address when Stripe sends you a confirmation email.
#. At the end of the process, you are redirected to Odoo. If you submitted all the requested
information, you are all set and your payment provider is enabled.
.. tip::
To use your own API keys, :ref:`activate the Developer mode <developer-mode>` and
:ref:`enable Stripe manually <payment_providers/add_new>`. You can then :ref:`Fill in your
credentials <stripe/api_keys>`, :ref:`generate a webhook <stripe/webhook>` and enable the
payment provider.
.. group-tab:: Odoo.sh or On-premise
#. :ref:`Navigate to the payment provider Stripe <payment_providers/supported_providers>` and
click :guilabel:`Connect Stripe`.
#. Go through the setup process and confirm your email address when Stripe sends you a
confirmation email.
#. At the end of the process, click :guilabel:`Agree and submit`; you are then redirected to
the payment provider **Stripe** in Odoo.
#. Go to the **eCommerce** or the **Sales** app and click on the *Activate Stripe* or the *Set
payments* button on the onboarding banner.
#. Fill in the requested information and submit the form.
#. Confirm your email address when Stripe sends you a confirmation email.
#. At the end of the process, you are redirected to the payment provider **Stripe** on Odoo.
#. :ref:`Fill in your credentials <stripe/api_keys>`.
#. :ref:`Generate a webhook <stripe/webhook>`.
#. Set the :guilabel:`State` field to :guilabel:`Enabled`.
#. Enable the payment provider.
.. tip::
- To use an existing Stripe account, :ref:`activate the Developer mode <developer-mode>` and
:ref:`enable Stripe manually <payment_providers/add_new>`. You can then :ref:`Fill in your
credentials <stripe/api_keys>`, :ref:`generate a webhook <stripe/webhook>`, and enable the
payment provider.
- You can also test Stripe using the :ref:`payment_providers/test-mode`. To do so, first,
`log into your Stripe dashboard <https://dashboard.stripe.com/dashboard>`_ and switch to the
**Test mode**. Then, in Odoo, :ref:`activate the Developer mode <developer-mode>`,
:ref:`navigate to the payment provider Stripe <payment_providers/supported_providers>`,
:ref:`fill in your API credentials <stripe/api_keys>` with the test keys, and set the
:guilabel:`State` field to :guilabel:`Test Mode`.
To connect your Stripe account after the onboarding is already completed, go to
:menuselection:`Accounting --> Configuration --> Payment Providers --> Stripe` and click on the
*Connect Stripe* button.
.. important::
If you are testing Stripe (in **test mode**), change the **State** to *Test Mode*. We recommend
doing this on a test Odoo database rather than on your main database.
.. _stripe/api_keys:
Fill in your credentials
------------------------
If your **API credentials** are required to connect with your Stripe account, proceed as follows:
In case your **API Credentials** are required to connect with your Stripe account, these are the
credentials that must be completed:
#. Go to `the API keys page on Stripe <https://dashboard.stripe.com/account/apikeys>`_, or log into
your Stripe dashboard and go to :menuselection:`Developers --> API Keys`.
#. In the :guilabel:`Standard keys` section, copy the :guilabel:`Publishable key` and the
:guilabel:`Secret key` and save them for later.
#. In Odoo, :ref:`navigate to the payment provider Stripe <payment_providers/supported_providers>`.
#. In the :guilabel:`Credentials` tab, fill in the :guilabel:`Publishable Key` and
:guilabel:`Secret Key` fields with the values you previously saved.
- :ref:`Publishable Key <stripe/api_keys>`: The key solely used to identify the account with Stripe.
- :ref:`Secret Key <stripe/api_keys>`: The key to sign the merchant account with Stripe.
- :ref:`Webhook Signing Secret <stripe/webhook>`: When you enable your webhook on your Stripe
account, this signing secret must be set to authenticate the messages sent from Stripe to Odoo.
To retrieve the publishable and secret keys, follow this `link to your API keys
<https://dashboard.stripe.com/account/apikeys>`_, or log into your Stripe dashboard and go to
:menuselection:`Developers --> API Keys --> Standard Keys`.
.. _stripe/webhook:
Generate a webhook
------------------
If your **Webhook Signing Secret** is required to connect with your Stripe account, you can create a
webhook automatically or manually.
In case your **Webhook Signing Secret** is required to connect with your Stripe account, you can
create a webhook either automatically or manually.
.. tabs::
.. tab:: Create the webhook automatically
Make sure your :ref:`Publishable and Secret keys <stripe/api_keys>` are filled in, then click
:guilabel:`Generate your webhook`.
on the *Generate your Webhook* button.
.. tab:: Create the webhook manually
#. Go to the `Webhooks page on Stripe <https://dashboard.stripe.com/webhooks>`_, or log into
your Stripe dashboard and go to :menuselection:`Developers --> Webhooks`.
#. In the :guilabel:`Hosted endpoints` section, click :guilabel:`Add endpoint`. Then, in the
:guilabel:`Endpoint URL` field, enter your Odoo database's URL, followed by
`/payment/stripe/webhook`, e.g., `https://yourcompany.odoo.com/payment/stripe/webhook`.
#. Click :guilabel:`Select events` at the bottom of the form, then select the following
events:
Visit the `webhooks page on Stripe <https://dashboard.stripe.com/webhooks>`_, or log into your
Stripe dashboard and go to :menuselection:`Developers --> Webhooks`. Then, click on **Add
endpoint** in your **Hosted endpoints** and insert the following data into the pop-up form:
- in the :guilabel:`Charge` section: :guilabel:`charge.refunded` and
:guilabel:`charge.refund.updated`;
- in the :guilabel:`Payment intent` section:
:guilabel:`payment_intent.amount_capturable_updated`,
:guilabel:`payment_intent.payment_failed`, :guilabel:`payment_intent.processing`, and
:guilabel:`payment_intent.succeeded`;
- in the :guilabel:`Setup intent` section: :guilabel:`setup_intent.succeeded`.
- | In the **Endpoint URL**, enter your Odoo database's URL followed by
| `/payment/stripe/webhook`.
| For example: `https://yourcompany.odoo.com/payment/stripe/webhook`
- At the end of the form, you can **Select events** to listen to. Click on it and, in the
**Checkout** section, select **checkout.session.completed**.
#. Click :guilabel:`Add events`.
#. Click :guilabel:`Add endpoint`, then click :guilabel:`Reveal` and save your
:guilabel:`Signing secret` for later.
#. In Odoo, :ref:`navigate to the payment provider Stripe
<payment_providers/supported_providers>`.
#. In the :guilabel:`Credentials` tab, fill the :guilabel:`Webhook Signing Secret` field with
the value you previously saved.
.. note::
It is possible to select other events, but they are currently not processed by Odoo.
.. note::
You can select other events, but they are currently not processed by Odoo.
Enable Apple Pay
================
To allow customers to use the Apple Pay button to pay their eCommerce orders, go to the
:guilabel:`Configuration` tab, enable :guilabel:`Allow Express Checkout`, and click
:guilabel:`Enable Apple Pay`.
When you click on **Add endpoint**, your Webhook is configured. You can then click on
**reveal** to display your signing secret.
.. seealso::
- :ref:`Express checkout and Google Pay <payment_providers/express_checkout>`
- :doc:`../payment_providers`
- :doc:`Use Stripe as a payment terminal in Point of Sale <../../sales/point_of_sale/payment_methods/terminals/stripe>`
Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

-1
View File
@@ -12,7 +12,6 @@ Miscellaneous
general/reporting
general/email_communication
general/voip
general/geolocation
general/digest_emails
general/in_app_purchase
general/developer_mode
+9 -20
View File
@@ -2,54 +2,43 @@
Sign in with LDAP
=================
- Install the Lightweight Directory Access Protocol (LDAP) module in General Settings.
- Install the LDAP module in General Settings.
- Click on **Create** in Setup the :abbr:`LDAP (Lightweight Directory Access Protocol)` Server.
- Click on **Create** in Setup your LDAP Server.
.. image:: ldap/ldap01.png
:align: center
:alt: LDAP Authentication checkbox highlighted in the integrations settings on Odoo.
.. image:: ldap/ldap02.png
:align: center
:alt: Create highlighted in the LDAP server settings.
- Choose the company using the LDAP.
- Choose the company about to use the LDAP.
.. image:: ldap/ldap03.png
:align: center
:alt: Select the company drop-down menu highlighted in LDAP setup.
- In **Server Information**, enter the IP address of the server and the port it listens to.
- In **Server Information**, enter the IP address of your server and the port it listens to.
- Tick **Use TLS** if the server is compatible.
- Tick **User TLS** if your server is compatible.
.. image:: ldap/ldap04.png
:align: center
:alt: LDAP server settings highlighted in LDAP server setup on Odoo.
- In **Login Information**, enter ID and password of the account used to query the server. If left
empty, the server queries anonymously.
- In **Login Information**, enter ID and password of the account used to query the server. If left empty, the server will be queried anonymously.
.. image:: ldap/ldap05.png
:align: center
:alt: Login information highlighted in LDAP server setup on Odoo.
- In **Process Parameter**, enter the domain name of the LDAP server in :abbr:`LDAP (Lightweight
Directory Access Protocol)` nomenclature (e.g. ``dc=example,dc=com``).
- In **Process Parameter**, enter the domain name of your LDAP server in LDAP nomenclature (e.g. ``dc=example,dc=com``).
- In **LDAP filter**, enter ``uid=%s``
.. image:: ldap/ldap06.png
:align: center
:alt: Process parameter highlighted in LDAP server setup on Odoo.
- In **User Information**, tick *Create User* if Odoo should create a User profile the first time
someone logs in with :abbr:`LDAP (Lightweight Directory Access Protocol)`.
- In **User Information**, tick *Create User* if you want Odoo to create a User profile the first time someone log in with LDAP.
- In **Template User**, indicate a template for the new profiles created. If left blanked, the admin
profile will be used as template.
- In **Template User**, indicate a template for the new profiles created. If left blanked, the admin profile will be used as template.
.. image:: ldap/ldap07.png
:align: center
:alt: User information highlighted on LDAP server setup on Odoo.
@@ -1,5 +1,3 @@
.. _communication/emails_servers:
====================================================
Send and receive emails in Odoo with an email server
====================================================
@@ -1,39 +0,0 @@
===========
Geolocation
===========
You can locate contacts or places and generate routes on a map in Odoo.
.. image:: geolocation/contacts.png
:alt: Map displaying a contact's location.
To use the feature, open the :guilabel:`Settings` app, and, under the :guilabel:`Integrations`,
section, activate :guilabel:`Geo Localization`. Then, choose between using the OpenStreetMap or
Google Places API.
**OpenStreetMap**
OpenStreetMap is a free, open geographic database updated and maintained by volunteers. To use it,
select :guilabel:`Open Street Map`.
.. important::
OpenStreetMap might not always be accurate. You can `join the OpenStreetMap community
<https://www.openstreetmap.org/fixthemap>`_ to fix any issues encountered.
**Google Places API map**
The Google Places API map provides detailed info on places, businesses, and points of interest. It
supports location-based features like search, navigation, and recommendations.
.. important::
Using the Google Places API could require `payment to Google
<https://mapsplatform.google.com/pricing/>`_.
To use it, select :guilabel:`Google Place Map` and enter your :ref:`API Key
<address_autocomplete/generate_api_key>`.
.. image:: geolocation/google-places-api-key.png
:alt: Google Places API key
.. seealso::
:doc:`../../applications/websites/website/configuration/address_autocomplete`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 385 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

+1 -10
View File
@@ -1,20 +1,11 @@
:show-content:
:hide-page-toc:
:show-toc:
:nosearch:
===================================
VoIP (Voice over Internet Protocol)
===================================
.. seealso::
For more information, reference the `Odoo eLearning (video tutorials) on VoIP
<https://www.odoo.com/slides/voip-voice-over-ip-315>`_
.. toctree::
:titlesonly:
voip/onsip
voip/axivox
voip/voip_widget
voip/devices_integrations
voip/transfer_forward
+82 -14
View File
@@ -1,17 +1,85 @@
:nosearch:
=====================================
Use VoIP services in Odoo with Axivox
=====================================
====================
Axivox configuration
====================
Introduction
============
.. toctree::
:titlesonly:
Odoo VoIP can be set up to work together with `Axivox <https://www.axivox.com/>`_. In that case, an
Asterisk server is not necessary as the infrastructure, as it is hosted and managed by Axivox.
axivox/axivox_config
axivox/manage_users
axivox/vm_audio_messages
axivox/dynamic_caller_id
axivox/conference_calls
axivox/dial_plan_basics
axivox/dial_plan_advanced
axivox/call_queues
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
doing so, verify that Axivox covers your area and the areas you wish to call.
Configuration
=============
Go to :menuselection:`Apps` and install the **VoIP Module**.
.. image:: axivox/voip-installation.png
:align: center
:alt: VoIP module installation on an Odoo database
Go to :menuselection:`Settings --> General Settings --> Integrations`, and fill out the **Asterisk
(VoIP)** field:
- **PBX Server IP**: set the domain created by Axivox for your account (e.g.,
*yourcompany.axivox.com*)
- **WebSocket**: type in ``wss://pabx.axivox.com:3443``
- **VoIP Environment**: set as *Production*
.. image:: axivox/voip-configuration.png
:align: center
:alt: Integration of Axivox as VoIP provider in an Odoo database
Configure the VOIP user in the Odoo's user
------------------------------------------
Go to :menuselection:`Settings --> Users & Companies --> Users`, then open the user's form you want
to configure. Under the **Preferences** tab, fill out the section **PBX Configuration**:
- **SIP Login / Browser's Extension**: the Axivox *username*
- **SIP Password**: the Axivox *SIP Password*
.. image:: axivox/odoo-user.png
:align: center
:alt: Integration of Axivox user in the Odoo user preference
.. note::
You can find all this information by logging in at https://manage.axivox.com/, selecting the user
you want to configure, and referring to the fields as pictured below.
.. image:: axivox/manager-sip.png
:align: center
:alt: SIP credentials in the Axivox manager
Phone Calls
===========
You can make phone calls by clicking on the phone icon in the navigation bar.
You can also receive phone calls. Odoo rings and displays a notification.
.. note::
Your number is the one provided by Axivox.
.. image:: axivox/incoming-call.png
:align: center
:alt: Incoming VoIP call in Odoo
.. tip::
If you see a *Missing Parameter* message in the **Odoo softphone**, refresh your Odoo window and
try again.
.. image:: axivox/missing-parameter.png
:align: center
:alt: "Missing Parameter" error message in the Odoo softphone
.. tip::
If you see an *Incorrect Number* message in the Odoo softphone, make sure to use the
international format, leading with the plus (+) sign followed by the international country code.
E.g., +16506913277 (where +1 is the international prefix for the United States).
.. image:: axivox/incorrect-number.png
:align: center
:alt: "Incorrect Number" error message in the Odoo softphone
@@ -1,73 +0,0 @@
=================================
VoIP services in Odoo with Axivox
=================================
Introduction
============
Odoo VoIP (Voice over Internet Protocol) can be set up to work together with `Axivox
<https://www.axivox.com/>`_. In that case, an Asterisk server is **not** necessary, as the
infrastructure is hosted and managed by Axivox.
To use this service, `contact Axivox <https://www.axivox.com/contact/>`_ to open an account. Before
doing so, verify that Axivox covers the company's area, along with the areas the company's users
wish to call.
Configuration
=============
To configure Axivox in Odoo, go to the :menuselection:`Apps` application, and search for `VoIP`.
Then, install the :guilabel:`VoIP` module.
Next, go to :menuselection:`Settings app --> General Settings --> Integrations section`, and fill
out the :guilabel:`Asterisk (VoIP)` field:
- :guilabel:`OnSIP Domain`: set the domain created by Axivox for the account (e.g.,
`yourcompany.axivox.com`)
- :guilabel:`WebSocket`: type in `wss://pabx.axivox.com:3443`
- :guilabel:`VoIP Environment`: set as :guilabel:`Production`
.. image:: axivox_config/voip-configuration.png
:align: center
:alt: Integration of Axivox as VoIP provider in an Odoo database.
.. tip::
Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/
<https://manage.axivox.com/>`_. After logging into the portal, go to :menuselection:`Users -->
Edit (next to any user) --> SIP Identifiers tab --> Domain`.
Configure VoIP user in Odoo
---------------------------
Next, the user is configured in Odoo, which **must** take place for every Axivox/Odoo user using
VoIP.
In Odoo, go to :menuselection:`Settings app --> Users & Companies --> Users`, then open the desired
user's form to configure :abbr:`VoIP (Voice over Internet Protocol)`. Under the
:guilabel:`Preferences` tab, fill out the :guilabel:`VOIP Configuration` section:
- :guilabel:`VoIP username` / :guilabel:`Extension number`: (Axivox) :guilabel:`SIP username`
- :guilabel:`OnSip Auth Username`: (Axivox) :guilabel:`SIP username`
- :guilabel:`VoIP Secret`: (Axivox) :guilabel:`SIP Password`
- :guilabel:`Call from another device`: option to always transfer phone calls to handset
- :guilabel:`External device number`: SIP external phone extension
- :guilabel:`Reject incoming calls`: option to reject all incoming calls
- :guilabel:`How to place calls on mobile`: method to make calls on a mobile device
.. image:: axivox_config/odoo-user.png
:align: center
:alt: Integration of Axivox user in the Odoo user preference.
.. tip::
Access the domain on the Axivox administrative panel by navigating to `https://manage.axivox.com/
<https://manage.axivox.com/>`_. After logging into the portal, go to :menuselection:`Users -->
Edit (next to the user) --> SIP Identifiers tab --> SIP username / SIP password`.
.. image:: axivox_config/manager-sip.png
:align: center
:alt: SIP credentials in the Axivox manager.
.. important::
When entering the :guilabel:`SIP Password` into the user's :guilabel:`Preferences` tab, this
value **must** be typed out manually and **not** pasted in. Pasting in causes a `401 server
rejection error`.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

@@ -1,245 +0,0 @@
===========
Call queues
===========
A call queue is a system that organizes and routes incoming calls. When customers call a business,
and all of the agents are busy, the call queue lines up the callers in sequential order, based on
the time they called in.
The callers then wait on hold to be connected to the next available call center agent.
Implementing a call queue system reduces stress for employees, and helps build brand trust with
customers. Many companies use call queues to set expectations with customers, and to distribute the
workload equally amongst employees.
This document covers the process required to configure call queues (with advanced settings), as well
as how to log into a call queue from the Odoo database.
.. seealso::
:ref:`voip/axivox/music_on_hold`
Add a queue
===========
To add a call queue in Axivox, navigate to the `Axivox management console
<https://manage.axivox.com>`_. In the left menu, click :guilabel:`Queues`. Next, click
:guilabel:`Add a queue`. Doing so reveals a blank :guilabel:`New queue` form with various fields to
fill out.
Name
----
Once the :guilabel:`New queue` page appears, enter the :guilabel:`Name` of the queue.
Internal extension
------------------
Choose an :guilabel:`Internal extension` for the queue. This is a number to be dialed by users of
the database to reach the login prompt for the queue.
Strategy
--------
Next, is the :guilabel:`Strategy` field. This field determines the call routing of received calls
into this queue.
The following choices are available in the :guilabel:`Strategy` drop-down menu:
- :guilabel:`Call all available agents`
- :guilabel:`Calls the agent who has received the call for the longest time`
- :guilabel:`Calls the agent who has received the least call`
- :guilabel:`Call a random agent`
- :guilabel:`Call agents one after the other`
- :guilabel:`Call agents one after the other starting with the first in the list`
Choose a strategy that best meets the company's needs for customers in the queue.
Maximum waiting time in seconds
-------------------------------
In the :guilabel:`Maximum waiting time in seconds` field, determine the longest time a customer
waits in the queue before going to a voicemail, or wherever else they are directed to in a dial
plan. Enter a time in seconds.
Maximum duration of ringing at an agent
---------------------------------------
In the :guilabel:`Maximum duration of ringing at an agent` field, determine the longest time an
individual agent's line rings before moving on to another agent, or moving to the next step in the
dial plan. Enter a time in seconds.
.. seealso::
For more information on dial plans, visit:
- :doc:`dial_plan_basics`
- :doc:`dial_plan_advanced`
Adding agents
-------------
The final two fields on the :guilabel:`New queue` form revolve around adding agents. Adding
:guilabel:`Static agents` and :guilabel:`Dynamic agents` are two pre-configured methods for adding
agents onto the call queue during the configuration.
.. _voip/axivox/static-agents:
Static agents
~~~~~~~~~~~~~
When :guilabel:`Static agents` are added, these agents are automatically added to the queue without
the need to log in to receive calls.
.. _voip/axivox/dynamic-agents:
Dynamic agents
~~~~~~~~~~~~~~
When :guilabel:`Dynamic agents` are added, these agents have the ability to log into this queue.
They are **not** logged-in automatically, and **must** log in to receive calls.
Be sure to :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right
corner to implement the change in production.
Agent connection
================
There are three ways call agents can connect to an Axivox call queue:
#. Dynamic agents connect automatically.
#. Manager logs in specific agent(s), via the `Axivox management console
<https://manage.axivox.com>`_.
#. Agent connects to the queue in Odoo, via the *VoIP* widget.
.. seealso::
See the documentation on setting :ref:`voip/axivox/dynamic-agents` in the `Axivox management
console <https://manage.axivox.com>`_.
Connect via Axivox queue
------------------------
After the initial configuration of the call queue is completed, with the changes saved and
implemented, a manager can log into the `Axivox management console <https://manage.axivox.com>`_ and
connect dynamic agents to the queue manually.
To connect an agent, click :guilabel:`Queues`, located in the left-hand column. Doing so reveals the
:guilabel:`Queues` dashboard, with a few different columns listed:
- :guilabel:`Name`: name of the queue.
- :guilabel:`Extension`: number of the extension to be dialed to reach the queue.
- :guilabel:`Agent Connection`: number to dial to log into the queue.
- :guilabel:`Agent disconnection`: number to dial to log out of the queue.
- :guilabel:`Connected Agents`: name of agent connected to the queue.
The following buttons are also available on the :guilabel:`Queues` dashboard:
- :guilabel:`Connect an agent`: manually connect an agent to the queue.
- :guilabel:`Report`: run a report on the queue.
- :guilabel:`Delete`: delete the queue.
- :guilabel:`Edit`: make changes to the settings of the queue.
When agents are connected to the queue, or are live with a customer, they are displayed under the
:guilabel:`Connected Agents` column.
If they are static agents, they **always** show up as connected.
Connect an agent by clicking the orange button labeled, :guilabel:`Connect an agent`. Then, select
the desired agent's name from the drop-down menu, and click :guilabel:`Connect`.
.. image:: call_queues/call-queue.png
:align: center
:alt: Call queue with connected agents column highlighted and connect an agent and report buttons
highlighted.
.. seealso::
For more information on static and dynamic agents, see this documentation:
- :ref:`voip/axivox/static-agents`
- :ref:`voip/axivox/dynamic-agents`
Report
~~~~~~
Click :guilabel:`Report` to check on the reporting for a particular queue, in order to see who
connected when, and what phone calls came in and out of the queue. This information is showcased on
a separate :guilabel:`Queue report` page, when the green :guilabel:`Report` button is clicked.
Reports can be customized by date in the :guilabel:`Period` field, and specified in the
:guilabel:`From` and :guilabel:`to` fields. The information can be organized by :guilabel:`Event
type`, and :guilabel:`Call ID`.
When the custom configurations have been entered, click :guilabel:`Apply`.
Each report can be exported to a :abbr:`CSV (comma separated value)` file for further use and
analysis, via the :guilabel:`Export to CSV` button.
When the :guilabel:`Event type` field is clicked, a drop-down menu appears with the following
options:
- :guilabel:`The caller quit`
- :guilabel:`An agent is connecting`
- :guilabel:`An agent is disconnecting`
- :guilabel:`The call was terminated (agent hangs up)`
- :guilabel:`The call was terminated (caller hangs up)`
- :guilabel:`The caller is connected to an agent.`
- :guilabel:`Someone is entering the queue`
- :guilabel:`The caller exits the queue (no agent is connected)`
- :guilabel:`The caller exits the queue (timeout)`
- :guilabel:`No one is answering`
- :guilabel:`No one is answering, the caller hangs up`
- :guilabel:`Transfer`
- :guilabel:`Blind Transfer`
.. image:: call_queues/event-type.png
:align: center
:alt: Event types in the Axivox queue reporting feature.
There is no limit to how many options can be selected from the :guilabel:`Event type` drop-down
menu.
Clicking :guilabel:`Check all` selects all the available options from the drop-down menu, and
clicking :guilabel:`Uncheck all` removes all selections from the drop-down menu.
To select an individual :guilabel:`Event type`, click on the desired option in the drop-down menu.
.. image:: call_queues/report.png
:align: center
:alt: Axivox queue report with result, event type, and period highlighted.
Connect to queue on Odoo
------------------------
Dynamic agents can connect manually to the Axivox call queue from the Odoo *VoIP* widget, once the
*VoIP* app is configured for the individual user in Odoo.
.. seealso::
:doc:`axivox_config`
To access the Odoo *VoIP* widget, click the :guilabel:`☎️ (phone)` icon in the upper-right corner of
the screen, from any window within Odoo.
.. seealso::
For more information on the Odoo *VoIP* widget, see this documentation: :doc:`../voip_widget`
For an agent to connect to the call queue, simply dial the :guilabel:`Agent connection` number, and
press the green call button :guilabel:`📞 (phone)` icon in the *VoIP* widget. Then, the agent hears
a short, two-second message indicating the agent is logged in. The call automatically ends
(disconnects).
To view the connected agents in a call queue, navigate to the `Axivox management console
<https://manage.axivox.com>`_, and click :guilabel:`Queues`, located in the left-hand column.
Then, click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents`
column. Any agent (static or dynamic) that is connected to the queue currently, appears in the
column next to the queue they are logged into.
To log out of the queue, open the Odoo *VoIP* widget, dial the :guilabel:`Agent disconnection`
number, and press the green call button :guilabel:`📞 (phone)` icon. The agent is disconnected from
the queue after a short, two-second message.
To manually log a dynamic agent out of a call queue, navigate to the `Axivox management console
<https://manage.axivox.com>`_, and click :guilabel:`Queues`, located in the left-hand column. Then,
click the green :guilabel:`Refresh` button at the top of the :guilabel:`Connected agents` column.
To disconnect an agent manually, click the red :guilabel:`Disconnect` button, and they are
immediately disconnected. This can be helpful in situations where agents forget to log out at the
end of the day.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

@@ -1,98 +0,0 @@
================
Conference calls
================
Conference calls help employees connect quickly and efficiently, so matters can be discussed in an
open forum of sorts. Attendees can be limited, via a sign-in code. That way, confidential matters
stay private.
This document covers the configuration of conference calls in Axivox for use in Odoo *VoIP*.
Add a virtual conference
========================
To add a virtual conference room, navigate to the `Axivox management console
<https://manage.axivox.com>`_. After logging in, click on :guilabel:`Conferences` in the menu on the
left.
Next, click the green button labeled, :guilabel:`Add a conference`, and a :guilabel:`New conference`
form appears.
.. image:: conference_calls/new-conference.png
:align: center
:alt: New conference form on Axivox.
From here, fill in the :guilabel:`Name` field, and set an :guilabel:`Internal extension`.
The internal extension is what everyone in the network uses to quickly dial into the conference
call, instead of typing in the whole phone number.
.. tip::
Pick a number between three and five digits long, making it easy to remember and dial.
Next, set the :guilabel:`Access code`, if the conference room requires security. This is a password
to get into the conference, once the extension for the conference is dialed. Immediately after
dialing the extension, a digital receptionist prompts for the :guilabel:`Access code`.
In the :guilabel:`Administrator extension` field, click the drop-down menu, and select the user's
extension that manages the call.
Finally, in the :guilabel:`Wait for the administrator to start the conference` field, click the
drop-down menu, and select :guilabel:`Yes` or :guilabel:`No`.
Should the selection be :guilabel:`Yes`, then nobody is allowed to utilize the virtual conference
room until the administrator is present, and logged into the conference call.
When all fields are filled in, be sure to :guilabel:`Save` the configuration. Then, click
:guilabel:`Apply changes` in the upper-right corner to implement the change in production.
Upon doing so, the conference is added, and the Axivox administrator has the option to
:guilabel:`Delete` or :guilabel:`Edit` the conference from the Axivox :guilabel:`Conference` main
dashboard.
To invite an Axivox user to a specific conference call, click :guilabel:`Invite` to the right of the
desired conference, and proceed to enter the extension or phone number of the invitee in the pop-up
window that appears.
Once the extension or number is added into the :guilabel:`Please enter the phone number of the
person you want to invite` field, click the green :guilabel:`Invite` button, and the recipient
immediately receives a phone call, automatically linking them to the conference.
.. image:: conference_calls/conference-invite.png
:align: center
:alt: New conference form on Axivox.
Incoming numbers
================
To open a conference to a wider audience, an Axivox conference can be linked to *Incoming numbers*.
To do that, log into the `Axivox management console <https://manage.axivox.com>`_, and click
:guilabel:`Incoming numbers` in the menu on the left.
On the :guilabel:`Incoming numbers` dashboard, click :guilabel:`Edit` to the far-right of the
:guilabel:`Number` to which the conference should be attached.
Then, under the first field, labeled, :guilabel:`Destination type for voice call`, click the
drop-down menu, and select :guilabel:`Conference`.
Next, in the :guilabel:`Conference` field, click the drop-down menu, and select the specific
conference that should be attached to this incoming number.
Now, whenever this incoming number is dialed, the caller is let into the conference, if there is not
an :guilabel:`Access code` required. If there *is* an :guilabel:`Access code` required, the caller
is then prompted to enter the :guilabel:`Access code` to enter the conference.
Start call in Odoo
==================
Anywhere in the Odoo database, open the *VoIP* widget, by clicking the :guilabel:`☎️ (phone)` icon,
located in the upper-right corner. Then, dial the specific extension number for the conference, and
click the :guilabel:`📞 (phone)` icon.
.. image:: conference_calls/phone-widget.png
:align: center
:alt: Connecting to a conference extension using the Odoo VoIP widget.
Once the digital receptionist answers, enter the :guilabel:`Access code` (if needed), and press the
:guilabel:`# (pound)` icon/key.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

@@ -1,411 +0,0 @@
===================
Advanced dial plans
===================
Typically, companies have a lot of incoming calls every day, but many do not want their teams to
answer calls 24 hours a day, 7 days a week.
By using Axivox advanced dial plan features, the process can be automated, and routing can be set up
for all scenarios. This way, customers are never left waiting, or frustrated, because they cannot
get in touch with anyone.
By utilizing the advanced elements in dial plans, companies can automate call routing for certain
days or times, like company holidays. Companies can also allow callers to enter extensions
themselves, and get transferred automatically using a digital receptionist. This way, an
administrative team does **not** have to be available around the clock.
There is even the option to route callers, depending on where they are calling from in the world,
thus maximizing efficiency.
.. important::
For more information on basic dial plans, and how to add elements, visit :doc:`dial_plan_basics`.
.. warning::
Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do
**not** use a translator with the Axivox management console.
Advanced elements
=================
In Axivox dial plans (as described in :doc:`dial_plan_basics`), there are two advanced elements that
can be used.
- :guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox
settings).
- :guilabel:`Caller ID`: replace the caller ID by the called number or free text.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_.
Next, click on the :guilabel:`Visual Editor` button to the right of the desired dial plan to edit
it. Finally, open the :guilabel:`New element` drop-down menu, select the element, and click
:guilabel:`Add`.
.. image:: dial_plan_advanced/visual-editor.png
:align: center
:alt: Visual editor for a dial plan in Axivox, with Add and the dispatcher element highlighted.
For more information, visit :ref:`voip/axivox/dial_plans`.
.. important::
The :guilabel:`Record` element records calls that are routed through this element, and requires
an additional plan change in Axivox.
To enable recording on Axivox, navigate to :guilabel:`Settings` in the `Axivox management console
<https://manage.axivox.com>`_. Then, go to the :guilabel:`Recording` drop-down menu, near the bottom
of the page. From there, select :guilabel:`Enabled` from the drop-down menu to enable recording
using the :guilabel:`Record` element in a dial plan.
.. tip::
If the :guilabel:`Recording` drop-down menu is unavailable and unable to change, then consult
Axivox to enable the feature.
The :guilabel:`Caller ID` element allows for the replacement of the caller ID downstream, after
routing.
Upon adding the :guilabel:`Caller ID` element to the dial plan, and double-clicking it to configure
it, two options appear.
The first is a :guilabel:`Free text` field, where any text can be input to replace the caller ID.
The second option is :guilabel:`Replace the caller ID by the called number`. This option replaces
the caller's ID with the :guilabel:`Incoming number`.
.. tip::
A company may want to use the :guilabel:`Caller ID` element to replace the :guilabel:`Incoming
number`, so employees, or outside transfers, cannot see the number, and information is kept
private.
Basic routing elements
======================
Basic routing elements in Axivox dial plans provide extension-based routing. This can be done by
adding either a *Menu* to numerically link the dial-by-numbers to an action, or by using a *Digital
Receptionist* to automatically route or listen for an extension, based on a key input from the
caller.
The main difference between the two elements is that the *Digital Receptionist* does **not** need to
be pre-configured numerically with actions. Instead, it acts as a virtual receptionist.
- :guilabel:`Menu`: add a dial-by-number directory and configured downstream actions (not
terminal). For example, a dial-by-numbers function could feature an element, wherein clicking '2'
takes the caller to the element linked to '2' on the Menu element in the dial plan.
- :guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`.
For more information, visit :ref:`voip/axivox/dial_plans`.
Digital receptionist scenario
-----------------------------
The *Digital Receptionist* element is a listen-feature that accurately routes callers through a dial
plan, based on the extension they enter, via the key pad.
Set a *Digital Receptionist* to eliminate the need of a team, or live receptionist, to be on-call
all the time. With that element in place, calls now reach their destination, without a real person
interjecting.
After adding the :guilabel:`Digital Receptionist` element to a dial plan, connect the appropriate
endpoints, and double-click on the element to set the :guilabel:`Timeout` on the
:guilabel:`receptionist` pop-up window that appears.
The :guilabel:`Timeout` can be set in `5` second increments, from `5` seconds to `60` seconds.
.. important::
The :guilabel:`Digital Receptionist` element **requires** a :guilabel:`Play a file` element on
either side of it, to explain what action to take, and when a wrong extension is entered.
.. example::
While customizing a dial plan in a :guilabel:`Dialplan Editor` pop-up window, add a
:guilabel:`Menu` element, with a :guilabel:`Greeting message` that might read, `Press star to
dial an extension`.
Then, on the :guilabel:`Menu` element, for the :guilabel:`* (star)` option, link a
:guilabel:`Play a file` element, that plays an :guilabel:`Audio message` saying, 'Enter the
extension of the person you are trying to reach'.
Following the first :guilabel:`Play a file` element, add the :guilabel:`Digital Receptionist`
element, followed by another :guilabel:`Play a file` element, which states, 'That is not a valid
extension'.
This last element is in place to close the loop, should the caller not enter a correct extension.
Finally, this last :guilabel:`Play a file` element is looped back into the :guilabel:`Menu`
element.
.. image:: dial_plan_advanced/receptionist.png
:align: center
:alt: A digital receptionist element highlighted in an example dial plan.
.. important::
Dial plan elements can be configured by double-clicking them, and selecting different features
of the Axivox console to them.
For example, an :guilabel:`Audio message` needs to be made, and then selected in a
:guilabel:`Play a file` or :guilabel:`Menu` element.
For more information, see this documentation :ref:`voip/axivox/audio_messages`.
Advanced routing elements
=========================
Advanced routing elements route calls automatically as they are received into the incoming
number(s). This can be configured using geo-location, whitelisting, or time-based variables. Calls
pass through a filter prior to their final destination, and are routed, based on the set
variable(s).
The following are advanced routing elements:
- :guilabel:`Dispatcher`: create a call filter to route traffic, based on the geo-location of the
caller ID.
- :guilabel:`Access List`: create a tailored access list, with VIP customer preference.
- :guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or
other sensitive time-frames.
.. tip::
Whitelisting is a technical term used to create a list of allowed numbers. Conversely,
blacklisting is used to create a list of denied numbers.
To add one of these elements, navigate to the :guilabel:`Dial plans` page, located in the menu on
the left side of the `Axivox management console <https://manage.axivox.com>`_. Next, click on the
:guilabel:`Visual Editor` button to the right of the dial plan, to edit the dial plan. Then, open
the :guilabel:`New element` drop-down menu, select the element, and click :guilabel:`Add`. For more
information, visit :ref:`voip/axivox/dial_plans`.
Dispatcher scenario
-------------------
A *Dispatcher* element is a dial plan feature that directs calls, based on region or geo-location.
In most cases, the :guilabel:`Dispatcher` element in a dial plan is linked to the :guilabel:`Start`
element, in order to filter or screen calls as they come into an incoming number.
Double-click the :guilabel:`Dispatcher` element in the :guilabel:`Dialplan Editor` pop-up window to
configure it.
This element checks numbers (routed through this element), according to regular expressions. To add
a regular expression, click :guilabel:`Add a line` on the bottom of the :guilabel:`Dispatcher`
pop-up window.
Then, under :guilabel:`Name`, enter a recognizable name to identify this expression. This is the
name that appears in the :guilabel:`Dispatcher` element on the dial plan showcased in the
:guilabel:`Dialplan Editor` pop-up window.
In the :guilabel:`Regular expression` field, enter the country code, or area code, which Axivox
should route for incoming calls. This is especially helpful when a company would like to filter
their customers to certain queues, or users based on the customer's geo-location.
To specify all numbers behind a certain country code, or area code, include `\d+` after the country
code, or country code + area code.
.. image:: dial_plan_advanced/dispatcher.png
:align: center
:alt: Dispatcher configuration panel, with name, regular expression and add a line highlighted.
.. example::
- `02\\d+`: validates the numbers starting with `02`
- `00\\d+`: validates all numbers beginning with `00`
- `0052\\d+` validates all numbers beginning with `0052` (Mexico country code)
- `001716\\d+`: validates all numbers beginning with `001716` (USA country code + Western New York
area code)
.. tip::
A regular expression (shortened to "regex" or "regexp"), sometimes referred to as a "rational
expression," is a sequence of characters that specifies a match pattern in text. In other words,
a match is made within the given range of numbers.
When the desired configurations are complete on the :guilabel:`Dispatcher` pop-up window, be sure to
click :guilabel:`Save`.
Upon doing so, the :guilabel:`Dispatcher` element appears with different routes available to
configure, based on the :guilabel:`Regular Expressions` that were set.
Attach these routes to any :guilabel:`New element` in the :guilabel:`Dialplan Editor` pop-up window.
By default, there is an :guilabel:`Unknown` path that appears on the :guilabel:`Dispatcher` element
after setting at least one :guilabel:`Regular Expression`.
Calls follow this route/path when their number does not match any :guilabel:`Regular Expression` set
on the :guilabel:`Dispatcher` element.
.. image:: dial_plan_advanced/dispatcher-element.png
:align: center
:alt: Dial plan with dispatcher element highlighted.
Time condition scenario
-----------------------
When a :guilabel:`Time Condition` element is added to a dial plan, it has a simple :guilabel:`True`
and :guilabel:`False` routing.
After adding the :guilabel:`Time Condition` element to a dial plan, double-click it to configure the
variables. :guilabel:`Hour/Minute`, :guilabel:`Days of the week`, :guilabel:`Day of the month`, and
:guilabel:`Month` can all be configured.
If the time which the caller contacts the incoming number matches the set time conditions, then the
:guilabel:`True` path is followed, otherwise the :guilabel:`False` path is followed.
.. example::
For a company that is closed yearly for the American Independence Day holiday (July 4th) the
following time conditions should be set:
- :guilabel:`Hour/Minute` - `0:0 to 23:59`
- :guilabel:`Day of the week` - `All to All`
- :guilabel:`Day of the month` - `From 4 to 4`
- :guilabel:`Month` - `July`
The :guilabel:`Time Condition` element is especially useful for holidays, weekends, and to set
working hours. When a caller reaches a destination where they can be helped, either with a real
person or voicemail, this reduces wasted time and hangups.
.. image:: dial_plan_advanced/time-condition.png
:align: center
:alt: Time condition element set in a dial plan on Axivox. Time condition is highlighted.
.. important::
To set the :guilabel:`Timezone` that the :guilabel:`Time Condition` operates under, navigate to
`Axivox management console <https://manage.axivox.com>`_, and click :guilabel:`Settings` in the
menu on the left. Then, set the :guilabel:`Timezone` using the second field from the bottom, by
clicking the drop-down menu.
Access list scenario
--------------------
An *Access List* element in a dial plan allows for the routing of certain numbers, and disallows
(denies) other numbers.
After adding an :guilabel:`Access List` element to a dial plan, it can be configured by
double-clicking on the element directly in the :guilabel:`Dialplan Editor` pop-up window.
Two fields appear where regular expressions can based in the :guilabel:`Allow` and :guilabel:`Deny`
fields of the :guilabel:`Access List` pop-up window.
.. example::
For a very important customer, their number can be set in the :guilabel:`Allow` field, and these
callers can be sent directly to management.
.. tip::
A regular expression (shortened to "regex" or "regexp"), sometimes also referred to as a
"rational expression," is a sequence of characters that specifies a match pattern in text.
.. image:: dial_plan_advanced/access-config.png
:align: center
:alt: Access list element configuration with the allow/deny fields highlighted.
.. example::
- `2\\d\\d`: validates numbers from `200 to 299`
- `02\\d*`: validates all numbers beginning with `02`
- `0017165551212`: validates the number (`0017165551212`)
After setting the :guilabel:`Allow` and :guilabel:`Deny` fields with regular expressions or numbers,
click :guilabel:`Save` on the :guilabel:`Access List` pop-up window.
Then, on the :guilabel:`Access list` element in the dial plan, three paths (or routes) are available
to link to further actions.
Unknown calls can be routed through the regular menu flow by adding a :guilabel:`Menu` element, and
connecting it to the :guilabel:`Unknown` path. :guilabel:`Refused` calls can be routed to the
:guilabel:`Hang up` element. Lastly, :guilabel:`Authorized` callers can be sent to a specific
extension or queue.
.. image:: dial_plan_advanced/access-list.png
:align: center
:alt: Access list element highlighted in an example dial plan.
Switches
========
A *Switch* element in Axivox is a simple activated/deactivated route action.
These can be activated or chosen quickly, allowing for quick routing changes, without altering the
dial plan.
Alternate routes can be configured, so that in a moments notice, they can be switched to. This could
be for new availability, or to adjust traffic flow for any number of reasons.
Axivox allows for a simple on/off switch, and a multi-switch, which can have several paths to choose
from.
- :guilabel:`Switch`: a manual on/off control that can divert traffic, based on whether it is opened
(on) or closed (off).
- :guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert
incoming calls.
Basic switch
------------
A :guilabel:`Switch` can be set in the `Axivox management console <https://manage.axivox.com>`_ by
navigating to :guilabel:`Switches` in the left menu. To create a new switch click :guilabel:`Add a
switch` from the :guilabel:`Switches` dashboard, configure a :guilabel:`Name` for it, and click
:guilabel:`Save`.
Then, toggle the desired switch to either :guilabel:`On` or :guilabel:`Off`, from the
:guilabel:`State` column on the :guilabel:`Switches` dashboard.
This :guilabel:`On` / :guilabel:`Off` state automatically routes traffic in a dial plan, in which
this switch is set.
The traffic travels to the :guilabel:`Active` route when :guilabel:`On` is toggled in the switch.
The call traffic travels to the :guilabel:`Inactive` route when :guilabel:`Off` is toggled in the
switch.
Changes can be made on the fly, just be sure to click :guilabel:`Apply changes` to implement the
them.
Add a switch to dial plan
~~~~~~~~~~~~~~~~~~~~~~~~~
To add a :guilabel:`Switch` to a dial plan, navigate to `Axivox management console
<https://manage.axivox.com>`_, and click on :guilabel:`Dial plans` in the left menu. Then, click
:guilabel:`Visual Editor` next to the desired dial plan to open the :guilabel:`Dialplan Editor`
pop-up window.
Then, from the :guilabel:`New element` drop-down menu, select :guilabel:`Switch`, and then click
:guilabel:`Add`. Double-click on the element to further configure the :guilabel:`Switch` element.
.. image:: dial_plan_advanced/switch.png
:align: center
:alt: Switch configuration in a dial plan, with inactive and active routes highlighted.
Multi-switch
------------
A *Multi-Switch* element in Axivox is a switch where multiple paths can be configured, and switched
between.
To configure and set a :guilabel:`Multi-Switch` element, navigate to `Axivox management console
<https://manage.axivox.com>`_. Then, click on the :guilabel:`Switches` menu item in the left menu.
Toggle to the :guilabel:`Multi-switch` tab to create, or set, a pre-configured
:guilabel:`Multi-Switch` element.
To create a new :guilabel:`Multi-Switch`, click :guilabel:`Create new`. Then, enter a
:guilabel:`Name` for the element, and then enter the :guilabel:`Available choice`. Enter one
:guilabel:`Available choice` per line. Do **not** duplicate any entries.
Remember to click :guilabel:`Save` when done.
To select the :guilabel:`State` of the :guilabel:`Multi-Switch`, click the drop-down menu next to
the :guilabel:`Multi-Switch` name, under the :guilabel:`Multi-switch` tab on the
:guilabel:`Switches` dashboard.
The :guilabel:`State` chosen is the route that is followed in the dial plan. The :guilabel:`State`
can be edited on the fly, just be sure to click :guilabel:`Apply changes`.
Add a multi-switch to dial plan
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To add a :guilabel:`Multi-Switch` element to a dial plan, navigate to `Axivox management console
<https://manage.axivox.com>`_, and click :guilabel:`Dial plans` in the left menu.
Then, select or create a dial plan. Next, click :guilabel:`Visual Editor` on the desired dial plan.
On the :guilabel:`Dialplan Editor` pop-up window that appears, click on the :guilabel:`New element`
drop-down menu, and select :guilabel:`Multi-Switch`. Then, click :guilabel:`Add`. Double-click on
the element to further configure the :guilabel:`Switch` element.
.. image:: dial_plan_advanced/multi-switch.png
:align: center
:alt: Multi-switch configuration in a dial plan, with chosen route highlighted.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -1,204 +0,0 @@
================
Dial plan basics
================
When someone calls a business, they might need to get in contact with customer support, a sales
team, or even a person's direct line. The caller might also be in search of some information about
the business, such as store hours. Or, they might want to leave a voicemail, so someone from the
company can call them back. With dial plans in Axivox, a company can manage how incoming calls like
this are handled.
Using proper call architecture through a dial plan, callers get directed to the right people, or to
the right information, in a quick, efficient manner.
This document covers the basic configuration of dial plans in Axivox.
.. seealso::
For more information on advanced dial plans, visit :doc:`dial_plan_advanced`.
.. important::
Using a browser add-on for spelling may hinder the use of the visual editor in dial plans. Do not
use a translator with the Axivox management console.
.. _voip/axivox/dial_plans:
Dial plans
==========
Access dial plans by navigating to `Axivox management console <https://manage.axivox.com>`_, and
clicking on :guilabel:`Dial plans` from the menu on the left.
To add a new dial plan from the :guilabel:`Dial plan` page, click the green button labeled,
:guilabel:`Add a new dial plan`.
.. note::
Axivox has no limit to the number of dial plans that can be created. These can be added, and
improved upon, at any time. This allows for sandboxes to be created with many different
configurations.
.. image:: dial_plan_basics/dial-plan-edits.png
:align: center
:alt: Dial plan dashboard with the edit features and Add a dial plan button highlighted.
To edit an existing dial plan, choose one of the following options to the right of the saved dial
plan:
#. :guilabel:`Delete`: this action deletes the attached dial plan.
#. :guilabel:`Edit`: this action allows the user to edit the dial plan.
#. :guilabel:`Visual Editor`: this action opens a visual editor window, where the dial plan
architecture can be viewed and edited.
#. :guilabel:`Duplicate`: this action duplicates the dial plan, and puts it at the bottom of the
list, with an extension of one number (+1) larger than the original extension.
Dialplan editor (visual editor)
-------------------------------
When the :guilabel:`Visual Editor` button is clicked for a dial plan on the :guilabel:`Dial plan`
page, a pop-up :guilabel:`Dialplan Editor` window appears.
This pop-up window is the primary place where the architecture, or structure, of the dial plan is
configured. In this window, a :abbr:`GUI (graphical user interface)` appears, where various dial
plan elements can be configured and linked together.
.. image:: dial_plan_basics/dial-plan-visual.png
:align: center
:alt: Visual editor for an example dial plan, with the new element, Add, and Save buttons
highlighted.
.. important::
New dial plans come blank with :guilabel:`New element` options for the user to :guilabel:`Add`
and :guilabel:`Save`.
The method for saving in the :guilabel:`Dialplan Editor` is different from saving any other edits
in the Axivox management console because the :guilabel:`Save` button **must** be pressed before
closing the :menuselection:`Visual editor`.
Then, before these changes can take place on the Axivox platform, the user **must** click
:guilabel:`Apply changes` in the upper-right corner of the :guilabel:`Dial plan` page.
From the :guilabel:`Dialplan Editor` pop-up window, users can add a new element to the dial plan. To
do that, open the :guilabel:`New element` drop-down menu, and select the desired element. Then,
click :guilabel:`Add`.
Doing so adds that element to the visual editor display of the dial plan being modified. This
element can be moved where desired amongst the other elements present in the dial plan.
Connect elements in the dial plan by clicking and dragging outward from the :guilabel:`(open
circle)` icon on the right side of the element. Doing so reveals an :guilabel:`(arrow)` icon.
Proceed to drag this :guilabel:`(arrow)` icon to the desired element in the dial plan that it is
meant to connect with.
Connect the :guilabel:`(arrow)` icon to the circle on the left side of the desired element.
Calls displayed in the dial plan flow from left-to-right in the element.
In order to further configure a :guilabel:`New element`, double-click on the element inside the dial
plan, to reveal a subsequent pop-up window, wherein additional customizations can be entered.
Each element has a different configuration pop-up window that appears when double-clicked.
.. important::
All elements **must** have a final destination in the dial plan in order to close a loop. This
can be accomplished by implementing the :guilabel:`Hang up` element, or looping the element back
to a :guilabel:`Menu` element or :guilabel:`Digital Receptionist` element elsewhere in the dial
plan.
.. image:: dial_plan_basics/loop-back.png
:align: center
:alt: Dial plan, shown with highlight looping open end back to the beginning of the menu
element.
Once all desired dial plan elements and configurations are complete, remember to click
:guilabel:`Save` before exiting the :guilabel:`Dialplan Editor` pop-up window. Then, click
:guilabel:`Apply changes` on the :guilabel:`Dial plans` page to ensure they are implemented into
Axivox production.
Dial plan elements
------------------
The following elements are available in the :guilabel:`New element` drop-down menu, while designing
a dial plan in the :guilabel:`Dialplan Editor` pop-up window.
Basic elements
~~~~~~~~~~~~~~
These are the basic elements that are used in simple dial plans in Axivox:
- :guilabel:`Call`: call an extension or queue.
- :guilabel:`Play a file`: play an audio file or voice greeting.
- :guilabel:`Voicemail`: forward to a voicemail (terminal).
- :guilabel:`Hang up`: hang up the call (terminal).
- :guilabel:`Queue`: attach a call queue with a group of users to answer a call.
- :guilabel:`Conference`: add a conference room for a caller to connect to.
Basic routing elements
~~~~~~~~~~~~~~~~~~~~~~
Routing elements change or route the path of a caller, these are some basic routing elements used in
Axivox:
- :guilabel:`Menu`: add a dial-by-number directory and configure downstream actions (not terminal).
- :guilabel:`Switch`: attach a manual on/off control that can divert traffic based on whether it is
opened (On) or closed (Off).
- :guilabel:`Digital Receptionist`: attach a virtual dispatcher to listen for extensions to connect
to.
Advanced routing elements
~~~~~~~~~~~~~~~~~~~~~~~~~
These are the more advanced elements that route calls in Axivox:
- :guilabel:`Dispatcher`: create a call filter to route traffic based on the geo-location of the
caller ID.
- :guilabel:`Access List`: create a tailored access list with VIP customer preference.
- :guilabel:`Time Condition`: create time conditions to route incoming traffic around holidays, or
other sensitive time-frames.
- :guilabel:`Multi-Switch`: a mechanism to create paths, and turn them on and off, to divert
incoming calls.
Advanced elements
~~~~~~~~~~~~~~~~~
The following are more advanced elements (not routing) in Axivox:
- :guilabel:`Record`: recording feature is enabled (requires plan change, enabled in Axivox
settings).
- :guilabel:`Caller ID`: replace the caller ID by the called number or free text.
.. important::
Dial plan elements can be configured by double-clicking them, and linking different aspects of
the Axivox console to them.
Attach to incoming number
=========================
To attach an existing dial plan to an incoming number, go to `Axivox management console
<https://manage.axivox.com>`_ , and click on :guilabel:`Incoming numbers`.
Next, click :guilabel:`Edit` next to the number to which the dial plan should be attached.
Doing so reveals a separate page wherein that number's dial plan can be modified. To do that, select
:guilabel:`Dial plan` from the :guilabel:`Destination type for voice call` field drop-down menu.
Then, choose the desired dial plan from the :guilabel:`Dial plan` field that appears.
With that in place, that means when that specific number calls in, the configured dial plan is
activated, and runs through the prompts to properly route the caller.
Finally, :guilabel:`Save` the changes, and click :guilabel:`Apply changes` in the upper-right
corner.
Basic dial plan scenario
------------------------
The following showcases a basic dial plan scenario for call routing, where additional elements can
be added to expand the setup. This basic dial plan scenario includes the following linked elements
:menuselection:`Start --> Play a file --> Menu --> (Hang-up, Calls, Queues, Conferences) -->
(Voicemail, Hang-up)`.
.. image:: dial_plan_basics/basic-scenario.png
:align: center
:alt: Basic dial plan configuration.
.. seealso::
This setup does **not** include any basic or advanced call routing. For more information on call
routing, reference this documentation: :doc:`dial_plan_advanced`.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

@@ -1,113 +0,0 @@
=================
Dynamic caller ID
=================
*Caller ID* identifies the caller when they make a phone call. It allows the recipient of the call
to see what number the caller is calling from. Caller ID shows users and clients who is calling, so
they can choose to pick up or decline the call.
Axivox offers a dynamic caller ID option to choose which number is displayed on outgoing calls.
International numbers can be purchased to do business transactions internationally, via a phone
call, from a number that has an area code or country code of the destination being called. By
displaying a local number, this can increase customer engagement.
Some companies have many employees making calls from a call center. These employees are not always
available to receive a return phone call from a prospective customer. In this case, :abbr:`VoIP
(Voice over Internet Protocol)` can be configured in such a way that dynamic caller ID shows the
main company phone number, so any number of employees in the group can answer the call. This way, a
call is never missed.
.. _voip/axivox/dynamic-caller-id-default:
Default outgoing number
=======================
In Axivox a *default number* can be set. This is a company's main number. This means, when anyone
from the company (user/employee) calls a number outside the company, the default outgoing number
shows up automatically on the caller ID.
If someone from outside the company tries to call back a user/employee, they are then funneled back
through the main line (default number). If there is a dial plan set up, they are prompted to make
selections. This is especially helpful in cases where employees change positions frequently, or if
they leave the company.
.. seealso::
- :doc:`dial_plan_basics`
- :doc:`dial_plan_advanced`
To access the default number, go to the `Axivox management console <https://manage.axivox.com>`_,
and log in. Then, click into :guilabel:`Settings` in the left menu, and navigate to
:guilabel:`Default outgoing number`.
From here, change the :guilabel:`Default outgoing number` by clicking the drop-down menu, and making
a selection from the incoming phone numbers available on Axivox.
Be sure to :guilabel:`Save` the changes, then click :guilabel:`Apply changes` in the upper-right
corner of the :guilabel:`General Settings` page to implement the change.
The :guilabel:`Default outgoing number` is what shows up by default in the Axivox management portal.
However, the outgoing number can also be configured differently at the user level.
Users
-----
To configure the outgoing number at the user level, log in to the `Axivox management console
<https://manage.axivox.com>`_. Next, click :guilabel:`Users` from the menu on the left, and then
click :guilabel:`Edit` to the right of the user that is to be configured.
Under :guilabel:`Outgoing number`, click the drop-down menu to select either the :guilabel:`Default
outgoing number` (as specified here: :ref:`voip/axivox/dynamic-caller-id-default`), or any of the
incoming numbers on the Axivox account.
Choosing the :guilabel:`Default` selection in the :guilabel:`Outgoing number` drop-down menu ensures
this user has the :guilabel:`Default outgoing number` shown on their caller ID when making calls.
If a specific number is chosen, and that number is assigned to this user under :guilabel:`Incoming
numbers` (in the Axivox console's menu on the left), that means this user has a direct line for
customers to reach them.
Once the desired changes are complete, be sure to click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner to implement the change.
.. tip::
By default, when creating a new user in Axivox, the :guilabel:`Outgoing number` is automatically
set to :guilabel:`Default`.
Advanced options
----------------
To access the :guilabel:`Advanced options`, navigate to the :guilabel:`Settings` option in the menu
on the left of the `Axivox management console <https://manage.axivox.com>`_. Then, click
:guilabel:`Advanced options` to the right of :guilabel:`Default outgoing number`.
By default, there are not any advanced rules set. To create one, click the green :guilabel:`+
(plus)` icon. Doing so reveals a line with two blank fields. From here, different caller IDs can be
set up, depending on what location the user/employee is calling from.
To create a rule, first set the :guilabel:`Destination prefix` in the first empty field. This is the
country code, complete with zero(s) in front of it. Then, in the second empty field, select the
phone number that should be used for calling out from that country code.
.. important::
Check the box for :guilabel:`Apply advanced rules even for users with a default outgoing number
configured` to allow these rules to take precedent over all other outgoing configurations.
.. tip::
The order of the rules can be modified by dragging-and-dropping them into another order. The
first matching rule is applied.
.. example::
For example, a company wants all users/employees to utilize the configured number for Great
Britain when calling from the `0044` country code (Great Britain).
To accomplish that, simply type in `0044` into the :guilabel:`Destination prefix` field, and
select the number starting with the `+44` country code. Order the rules as necessary, and select
the checkbox to supersede all other rules, if needed.
.. image:: dynamic_caller_id/advanced-callerid.png
:align: center
:alt: Advanced options for the default outgoing number.
Once the desired configurations are complete, be sure to click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner to implement the change.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

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