Compare commits

..

207 Commits

Author SHA1 Message Date
Denis Vermylen 7d43958d7b [IMP] odoo_sh: FAQ more workers 2024-01-25 18:50:31 +01: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
555 changed files with 246406 additions and 2364375 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",
@@ -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
@@ -29,3 +29,24 @@ We advise that:
- Your scheduled actions should be
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
cause side-effects if they are started more often than expected.
How do I know if I need more workers ?
--------------------------------------
Workers are abstract units of resources allocated to your database. The more workers you have the more it can be accessed concurrently.
As a general rule of thumb, you should allocate about **1 worker per 25 users and 1 worker for every 5000 daily visitors**. However, this can vary considerably based on database usage, website characteristics, and code customizations.
Speed is only impacted if you have too much concurrency.
If things are getting slow, here are a couple of indications to tell if it's due to a high concurrency.
- When things gets slow, **everything is slowed down**, not just specific operations.
- **The slowness comes and goes**, typically it's better outside of business hours. (There can be other reasons for this as well.)
- :ref:`Open your monitoring <odoosh-gettingstarted-branches-tabs-monitoring>`, there is a graph indicating the number of **"concurrent requests (max)"**. This graphs is often high or shows a flat upper bound during a prolonged period of time.
- Some requests get a **"429 Too Many Requests"** response code.
If you have these symptoms it's advisable to try increasing your workers.
.. warning::
Sometimes this high concurrency is temporary or illegitimate, it's possible your website is being crawled or that you have misconfigured third party applications excessively sollicitating your database. To identify this, have a look at the IP adresses in your odoo logs to see if some are flooding.
@@ -208,6 +208,8 @@ You can also open terminals, Python consoles and even Odoo Shell consoles.
You can open multiple tabs and drag-and-drop them to arrange the layout as you wish,
for instance side by side.
.. _odoosh-gettingstarted-branches-tabs-monitoring:
Monitoring
----------
@@ -53,7 +53,7 @@ Resulting entry
The resulting entry section on the top right displays the selected bank transaction matched with
the counterpart entries and includes any remaining debits or credits. In this section, you can
validate the reconciliation or mark it as :guilabel:`To Check`. Any :ref:`reconciliation model
buttons <reconciliation/button>` are also available in the resulting entry section.
buttons <reconciliation_models_button>` are also available in the resulting entry section.
Reconcile transactions
======================
@@ -62,13 +62,13 @@ Transactions can be matched automatically with the use of :doc:`reconciliation m
<reconciliation_models>`, or they can be matched with :ref:`existing entries
<reconciliation/existing-entries>`, :ref:`batch payments <reconciliation/batch-payments>`,
:ref:`manual operations <reconciliation/manual-operations>`, and :ref:`reconciliation model buttons
<reconciliation/button>`.
<reconciliation_models_button>`.
#. Select a transaction among unmatched bank transactions.
#. Define the counterpart. There are several options for defining a counterpart, including
:ref:`matching existing entries <reconciliation/existing-entries>`, :ref:`manual operations
<reconciliation/manual-operations>`, :ref:`batch payments <reconciliation/batch-payments>`, and
:ref:`reconciliation model buttons <reconciliation/button>`.
:ref:`reconciliation model buttons <reconciliation_models_button>`.
#. If the resulting entry is not fully balanced, balance it by adding another existing counterpart
entry or writing it off with a :ref:`manual operation <reconciliation/manual-operations>`.
#. Click the :guilabel:`Validate` button to confirm the reconciliation and move to the next
@@ -90,8 +90,8 @@ Match existing entries
----------------------
This tab contains matching entries Odoo automatically pre-selects according to the reconciliation
models. The entry order is based on :doc:`reconciliation models <reconciliation_models>`, with
suggested entries appearing first.
models. The entry order is based on :ref:`reconciliation models <reconciliation_models_suggestion>`,
with suggested entries appearing first.
.. tip::
The search bar within the :guilabel:`Match Existing Entries` tab allows you to search for
@@ -130,11 +130,10 @@ of the relevant optional fields.
.. image:: reconciliation/fully-paid.png
:alt: Click on fully paid to manually set an invoice as entirely paid.
.. _reconciliation/button:
Reconciliation model buttons
----------------------------
Use a :doc:`reconciliation model <reconciliation_models>` button for manual operations that are
frequently used. These custom buttons allow you to quickly reconcile bank transactions manually and
can also be used in combination with existing entries.
Use a :ref:`reconciliation model button <reconciliation_models_button>` for manual operations that
are frequently used. These custom buttons allow you to quickly reconcile bank transactions manually
and can also be used in combination with existing entries.
@@ -1,123 +1,129 @@
=====================
Reconciliation models
Reconciliation Models
=====================
Reconciliation models are used to automate the :doc:`bank reconciliation <reconciliation>` process,
which is especially handy when dealing with recurring entries like bank fees. Reconciliation models
can also be helpful in handling :doc:`cash discounts <../customer_invoices/cash_discounts>`.
Once the bank statements are correctly imported, it is essential to *reconcile* the records properly
and ensure all *Journal Entries* are balanced and in agreement. To ease and speed up the
reconciliation process, you can configure **Reconciliation Models**, which are particularly useful
with recurrent entries such as bank fees.
Each model is created based on a :ref:`model type <models/type>` and :guilabel:`bank transaction
conditions`.
.. todo:: Add a link to the Reconciliation process in the paragraph above, once the doc will have
been updated.
.. seealso::
- :doc:`bank_synchronization`
- `Odoo Tutorials: Reconciliation models <https://www.odoo.com/slides/slide/reconciliation-models-1841?fullscreen=1>`_
.. note::
Reconciliation Models are also useful to handle *Cash Discounts*. Please refer to
:doc:`this documentation <../customer_invoices/cash_discounts>` for more
information.
.. _models/type:
.. _reconciliation_models_types:
Reconciliation model types
==========================
Types of Reconciliation Models
==============================
The reconciliation models are available by going to :menuselection:`Accounting --> Configuration
--> Banks: Reconciliation Models`. For each reconciliation model, a :guilabel:`Type` must be set.
Three types of models exist:
There are three types of Reconciliation Models:
- :guilabel:`Button to generate counterpart entry`: a button is created in the resulting entry
section of the bank reconciliation view. If clicked, this button generates a counterpart entry to
reconcile with the active transaction based on the rules set in the model. The rules specified in
the model determine the counterpart entry's account(s), amount(s), label(s), and analytic
distribution;
- :guilabel:`Rule to suggest counterpart entry`: used for recurring transactions to match the
transaction to a new entry based on conditions that must match the information on the transaction;
- :guilabel:`Rule to match invoices/bills`: used for recurring transactions to match the transaction
to existing invoices, bills, or payments based on conditions that must match the information on
the transaction.
#. :ref:`Write-off Button <reconciliation_models_button>`
#. :ref:`Suggestion of counterpart values <reconciliation_models_suggestion>`
#. :ref:`Match existing invoices/bills <reconciliation_models_match>`
Default reconciliation models
=============================
.. _reconciliation_models_button:
In Odoo, different models are available by default depending on the company's fiscal localization.
These can be updated if needed. Users can also create their own reconciliation models by clicking
:guilabel:`New`.
Manually create a write-off on clicked button
---------------------------------------------
When you are reconciling an entry with an *Open Balance*, you can use the buttons available under
the *Manual Operations* tab to pre-fill all the values automatically, before validating the
reconciliation. Each button is a different Reconciliation Model.
.. image:: reconciliation_models/reconciliation_models_button.png
:align: center
:alt: Example of a Reconciliation Model with a write-off button in Odoo Accounting
.. _reconciliation_models_suggestion:
Suggest counterpart values
--------------------------
This type of Reconciliation Model suggests immediately counterpart values that only need to be
validated. This automation is based on a set of rules defined in the reconciliation model.
.. image:: reconciliation_models/reconciliation_models_suggestion.png
:align: center
:alt: Example of a Reconciliation Model that suggests counterpart values in Odoo Accounting
.. _reconciliation_models_match:
Match existing invoices/bills
-----------------------------
This type of Reconciliation Model automatically selects the right Customer Invoice or Vendor Bill
that matches the payment. All that is left to do is to validate the entry. This automation is based
on a set of rules defined in the reconciliation model.
.. image:: reconciliation_models/reconciliation_models_match.png
:align: center
:alt: Example of a Reconciliation Model that matches existing invoices and bills automatically
in Odoo Accounting
Configuration
=============
To manage or create new **Reconciliation Models**, go to :menuselection:`Accounting -->
Reconciliation --> Reconciliation Models`. Alternatively, you can also open this menu from the
Accounting Overview, by going to your Bank Journal card, clicking on the three little dots, and then
on *Reconciliation Models*.
.. image:: reconciliation_models/reconciliation_models_overview.png
:align: center
:alt: Open the Reconciliation Model menu from the overview dashboard in Odoo Accounting
.. important::
If a record matches with several reconciliation models, the first one in the *sequence* of models
is applied. You can rearrange the order by dragging and dropping the handle next to the name.
The first entry, named *Invoices Matching Rule*, is the one responsible for the current matching
of invoices and bills. Therefore, it is advised to leave it at the top of the list and not to
delete it.
.. image:: reconciliation_models/list-view.png
:alt: Rearrange the sequence of models in the list view.
Open the model you want to modify, or click on *Create* to create a new one, then fill out the form.
Invoices/Bills perfect match
----------------------------
Type
----
This model should be at the top of the *sequence* of models, as it enables Odoo to suggest matching
existing invoices or bills with a bank transaction based on set conditions.
.. image:: reconciliation_models/invoices-bills-perfect-match.png
:alt: Set rules to trigger the reconciliation.
Odoo automatically reconciles the payment when the :guilabel:`Auto-validate` option is selected, and
the model conditions are perfectly met. In this case, it expects to find on the bank statement's
line the invoice/payment's reference (as :guilabel:`Label` is selected) and the partner's name
(as :guilabel:`Partner is set` is selected) to suggest the correct counterpart entry and reconcile
the payment automatically.
Invoices/Bills partial match if underpaid
-----------------------------------------
This model suggests a customer invoice or vendor bill that partially matches the payment when the
amount received is slightly lower than the invoice amount, for example in the case of
**cash discounts**. The difference is reconciled with the account indicated in the
:guilabel:`counterpart entries` tab.
The reconciliation model :guilabel:`Type` is :guilabel:`Rule to match invoices/bills`, and the
:guilabel:`Payment tolerance` should be set.
.. image:: reconciliation_models/partial-match.png
:alt: Set rules to trigger the reconciliation.
See :ref:`above <reconciliation_models_types>` for an explanation about the different types of
Reconciliation Models.
.. note::
The :guilabel:`Payment tolerance` is only applicable to lower payments. It is disregarded when an
overpayment is received.
If the *Documents* application is installed on your database, an additional **Activity type**
field appears when *To check* is ticked. Selecting the value *Reconciliation request* implies
that, whenever you use this model, a *Request Document* window pops up to request a document from
a user.
Conditions on Bank Statement Line
---------------------------------
Define here all the conditions that are required for a Reconciliation Model to be applied.
.. important::
If a record matches with several Reconciliation Models, the first one in the *sequence* of models
will be applied. The sequence is simply the order of the models in the *list view*. They can be
rearranged by dragging-and-dropping the handle next to the name.
.. image:: reconciliation_models/reconciliation_models_conditions.png
:align: center
:alt: Conditions for the Reconciliation Model to be applied in Odoo Accounting
Counterpart Values
------------------
This section comprises the values that are applied by the Reconciliation Model.
If the value to reconcile needs to be written-off in two separate accounts, click on *Add a second
line*.
.. image:: reconciliation_models/reconciliation_models_counterparts.png
:align: center
:alt: Counterparts values of a Reconciliation Model in Odoo Accounting
.. seealso::
:doc:`../customer_invoices/cash_discounts`
Line with bank fees
-------------------
This model suggests a counterpart entry according to the rules set in the model. In this case, the
reconciliation model :guilabel:`Type` is :guilabel:`Rule to suggest counterpart entry`, and the
:guilabel:`Label` can be used for example, to identify the information referring to the
:guilabel:`Bank fees` in the label of the transaction.
.. image:: reconciliation_models/bank-fees.png
:alt: Set rules to trigger the reconciliation.
.. note::
`Regular expressions <https://regexone.com/>`_, often abbreviated as **Regex**, can be used in
Odoo in various ways to search, validate, and manipulate data within the system. Regex can be
powerful but also complex, so it's essential to use it judiciously and with a good understanding
of the patterns you're working with.
To use regular expressions in your reconciliation models, set the :guilabel:`Transaction Type`
to :guilabel:`Match Regex` and add your expression. Odoo automatically retrieves the
transactions that match your Regex expression and the conditions specified in your model.
.. image:: reconciliation_models/regex.png
:alt: Using Regex in Odoo
Partner mapping
===============
Partner mapping allows you to establish rules for automatically matching transactions to the correct
partner account, saving time and reducing the risk of errors that can occur during manual
reconciliation. For example, you can create a partner mapping rule for incoming payments with
specific reference numbers or keywords in the transaction description. When an incoming payment
meets these criteria, Odoo automatically maps it to the corresponding customer's account.
To create a partner mapping rule, go to the :guilabel:`Partner Mapping` tab and enter the
:guilabel:`Find Text in Label`, :guilabel:`Find Text in Notes`, and :guilabel:`Partner`.
.. image:: reconciliation_models/partner-mapping.png
:alt: defining partner mapping
- :doc:`reconciliation`
- :doc:`bank_synchronization`
- :doc:`../customer_invoices/cash_discounts`
Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

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

@@ -259,8 +259,7 @@ 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`
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
@@ -316,14 +315,15 @@ being setup for a first client or an additional one.
#. 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.
: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 :guilabel:`Access Token` will be used to create new connections
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
@@ -333,7 +333,7 @@ being setup for a first client or an additional one.
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, and the :guilabel:`Status` should be set to
:guilabel:`Access Token` is generated by Odoo, and the :guilabel:`Status` should be set to
:guilabel:`Connected`.
.. note::
@@ -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/`.
@@ -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/`.
@@ -118,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

+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.
+40 -173
View File
@@ -1,192 +1,59 @@
=====================
In-app purchase (IAP)
In-App Purchase (IAP)
=====================
.. |IAP| replace:: :abbr:`IAP (In-app purchases)`
In-app purchases (IAP) are optional services that enhance Odoo databases. Each service provides its
own specific features and functionality. A full list of services is available on the `Odoo IAP
Catalog <https://iap.odoo.com/iap/all-in-app-services>`_.
.. image:: in_app_purchase/iap.png
:align: center
:alt: The IAP catalog with various services available on IAP.Odoo.com.
.. example::
The :guilabel:`SMS` service sends text messages to contacts directly from the database, and the
:guilabel:`Documents Digitization` service digitizes scanned or PDF vendor bills, expenses, and
resumes with optical character recognition (OCR) and artificial intelligence (AI).
|IAP| services do **not** need to be configured or set up before use. Odoo users can simply click on
the service in the app to activate it. However, each service requires its own prepaid credits, and
when they run out, users **must** :ref:`buy more <iap/buying_credits>` in order to keep using it.
.. note::
Users with an Enterprise version of Odoo Online get free credits to test IAP features.
.. _in_app_purchase/portal:
IAP services
============
|IAP| services are provided by Odoo, as well as third-parties, and have a wide range of uses.
The following |IAP| services are provided by Odoo:
- :guilabel:`Documents Digitization`: digitizes scanned or PDF vendor bills, expenses, and resumes
with OCR and AI.
- :guilabel:`Partner Autocomplete`: automatically populates contact records with corporate data.
- :guilabel:`SMS`: sends SMS text messages to contacts directly from the database.
- :guilabel:`Lead Generation`: generates leads based on a set of criteria, and converts web visitors
into quality leads and opportunities.
- :guilabel:`Snailmail`: sends customer invoices and follow-up reports by post, worldwide.
For more information on every service currently available, visit the `Odoo IAP Catalog
<https://iap.odoo.com/iap/all-in-app-services>`_.
Use IAP services
----------------
|IAP| services are automatically integrated with Odoo, and do **not** require users to configure any
settings. To use a service, simply interact with it wherever it appears in the database.
.. example::
The following flow focuses on the *SMS* |IAP| service being used from a contact's record.
This can be done by clicking the :guilabel:`📱 (phone) SMS` icon within the database.
.. image:: in_app_purchase/sms-icon.png
:align: center
:alt: The SMS icon on a typical contact information form located within an Odoo database.
One way to utilize the *SMS* |IAP| service with Odoo is showcased in the following steps:
#. Navigate to the :menuselection:`Contacts application`, and click on a contact with a mobile
phone number entered in either the :guilabel:`Phone` or :guilabel:`Mobile` field of the
contact form.
#. Hover the mouse over the :guilabel:`Phone` or :guilabel:`Mobile` field, and a :guilabel:`📱
(phone) SMS` icon appears to the right.
#. Click the :guilabel:`📱 (phone) SMS` icon, and a :guilabel:`Send SMS Text Message` pop-up
window appears.
#. Type a message in the :guilabel:`Message` field of the :guilabel:`Send SMS Text Message`
pop-up window. Then, click the :guilabel:`Send SMS` button. Odoo then sends the message, via
SMS, to the contact, and logs what was sent in the *chatter* of the contact's form.
Upon sending the SMS message, the prepaid credits for the *SMS* |IAP| service are automatically
deducted from the existing credits. If there are not enough credits to send the message, Odoo
prompts the user to purchase more.
.. seealso::
For more information on how to use various |IAP| services, and for more in-depth instructions
related to SMS functionality in Odoo, review the documentation below:
- :doc:`Lead mining </applications/sales/crm/acquire_leads/lead_mining>`
- :doc:`Enrich your contacts base with Partner Autocomplete
</applications/sales/crm/optimize/partner_autocomplete>`
- :doc:`SMS essentials </applications/marketing/sms_marketing/essentials/sms_essentials>`
.. _in_app_purchase/credits:
IAP credits
===========
Every time an |IAP| service is used, the prepaid credits for that service are spent. Odoo prompts
the purchase of more credits when there are not enough credits left to continue using a service.
Email alerts can also be set up for when :ref:`credits are low <in_app_purchase/low-credits>`.
Credits are purchased in *Packs* from the `Odoo IAP Catalog
<https://iap.odoo.com/iap/all-in-app-services>`_, and pricing is specific to each service.
.. example::
The `SMS service <https://iap.odoo.com/iap/in-app-services/1>`_ has four packs available, in
denominations of:
- :guilabel:`Starter Pack`: 10 credits
- :guilabel:`Standard Pack`: 100 credits
- :guilabel:`Advanced Pack`: 500 credits
- :guilabel:`Expert Pack`: 1,000 credits
.. image:: in_app_purchase/packs.png
:align: center
:alt: Four different packs of credits for the SMS IAP service.
The number of credits consumed depends on the length of the SMS and the country of destination.
For more information, refer to the :doc:`SMS Pricing and FAQ
</applications/marketing/sms_marketing/pricing/pricing_and_faq>` documentation.
In-App Purchases (IAP) gives access to additional services through Odoo. For instance, it allows you
to send SMS Text Messages or to send Invoices by post directly from your database.
.. _iap/buying_credits:
Buy credits
-----------
Buying Credits
==============
If there are not enough credits to perform a task, the database automatically prompts the purchase
of more credits.
Each IAP Service relies on prepaid credits to work and has its own pricing. To consult your current
balance or to recharge your account, go to :menuselection:`Settings --> Odoo IAP --> View my
Services`.
Users can check the current balance of credits for each service, and manually purchase more credits,
by navigating to the :menuselection:`Settings app --> Search IAP --> View My Services`.
.. image:: in_app_purchase/image1.png
:align: center
Doing so reveals an :guilabel:`IAP Account` page, listing the various |IAP| services in the
database. From here, click an |IAP| service to open its :guilabel:`Account Information` page, where
additional credits can be purchased.
.. tip::
If you are on Odoo Online and have the Enterprise version, you benefit from free credits to test our
IAP features.
Manually buy credits
~~~~~~~~~~~~~~~~~~~~
IAP accounts
============
To manually buy credits in Odoo, follow these steps:
Credits to use IAP services are stored on IAP accounts, which are specific to each service.
By default, IAP accounts are common to all companies, but can be restricted to specific
ones. Activate the :ref:`developer mode <developer-mode>`, then go to :menuselection:`Technical
Settings --> IAP Account`.
#. Go to the :menuselection:`Settings application`.
#. Type `IAP` in the search bar.
#. Click :guilabel:`View My Services`.
.. image:: in_app_purchase/image2.png
:align: center
.. image:: in_app_purchase/view-services.png
:align: center
:alt: The Settings app showing the Odoo IAP heading and View My Services button.
.. tip::
An IAP account can be disabled by appending `+disabled` to its token.
Reverting this change will re-enable the account.
#. Doing so reveals an :guilabel:`IAP Account` page, listing the various |IAP| services in the
database. From here, click an |IAP| service to open its :guilabel:`Account Information` page,
where additional credits can be purchased.
#. On the :guilabel:`Account Information` page, click the :guilabel:`Buy Credit` button.
IAP Portal
==========
.. image:: in_app_purchase/account-info.png
:align: center
:alt: The Account Information page for an IAP service showing the Buy Credit button.
The IAP Portal is a platform regrouping your IAP Services. It is accessible from
:menuselection:`Settings app --> Odoo IAP --> View my Services`. From there, you can view your current
balance, recharge your credits and set a reminder when your balance falls below a threshold.
#. Doing so loads a :guilabel:`Buy Credits for (IAP Account)` page in a new tab. From here, click
:guilabel:`Buy` on the desired pack of credits. Then, follow the prompts to enter payment
details, and confirm the order.
.. image:: in_app_purchase/image3.png
:align: center
.. image:: in_app_purchase/buy-pack.png
:align: center
:alt: The SMS service page on IAP.Odoo.com with four packs of credits available for purchase.
Get notified when credits are low
=================================
#. Once the transaction is complete, the credits are available for use in the database.
To be notified when its time to recharge your credits, you can go to your IAP Portal through
:menuselection:`Settings app --> Odoo IAP --> View my Services`, unfold a service and check the
Receive threshold warning option. Then, you can provide a minimum amount of credits and email
addresses. Now, every time that the limit is reached, an automatic reminder will be sent by
email!
.. _in_app_purchase/low-credits:
Low-credit notification
~~~~~~~~~~~~~~~~~~~~~~~
It is possible to be notified when credits are low, in order to avoid running out of credits, while
using an |IAP| service. To do that, follow this process:
#. Go to the :menuselection:`Settings application`.
#. Type `IAP` in the search bar.
#. Click :guilabel:`View My Services`.
#. The available |IAP| accounts appear in a list view on the :guilabel:`IAP Account` page. From
here, click on the desired |IAP| account to view that service's :guilabel:`Account Information`
page.
#. On the :guilabel:`Account Information` page, tick the :guilabel:`Warn Me` box. Doing so reveals
two fields on the form: :guilabel:`Threshold` and :guilabel:`Warning Email`.
.. image:: in_app_purchase/low-credits.png
:align: center
:alt: Odoo will send an email alert when credits for this service fall below the threshold.
#. In the :guilabel:`Threshold` field, enter an amount of credits Odoo should use as the minimum
threshold for this service.
#. In the :guilabel:`Warning Email` field, enter the email address that should receive the
notification.
Odoo sends a low-credit alert to the :guilabel:`Warning Email` when the balance of credits falls
below the amount listed as the :guilabel:`Threshold`.
.. image:: in_app_purchase/image4.png
:align: center
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 37 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 57 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Before

Width:  |  Height:  |  Size: 7.2 KiB

After

Width:  |  Height:  |  Size: 7.2 KiB

@@ -1,346 +0,0 @@
======================
Manage users in Axivox
======================
Managing Axivox :abbr:`VoIP (Voice over Internet Protocol)` users is an important part of setting up
:abbr:`VoIP (Voice over Internet Protocol)` in an Odoo database. Each Axivox user has a unique name,
phone number and/or extension, and a voicemail. This way, they can be reached in a variety of
convenient ways.
Axivox users are organized in a simple, straightforward way in the Axivox console, so an
administrator can manage users quickly and easily.
.. note::
This documentation covers how to configure everything through a provider called, Axivox.
Depending on the chosen VoIP provider, the processes to manage users may be different.
Overview
========
Begin at the Axivox management console by navigating to `https://manage.axivox.com
<https://manage.axivox.com>`_. Log in with the appropriate administrator credentials.
.. note::
Actions in the Axivox management console **must** be double-saved, in order for the changes to
take effect. To save any changes, click :guilabel:`Save` in the individualized changes screen.
Then, to implement those changes, click the :guilabel:`Apply Changes` button in the upper-right
corner of the console.
.. _voip/axivox/incoming_number:
Incoming numbers
----------------
Incoming numbers are all the numbers a company is paying to use to receive calls.
Click on :menuselection:`Incoming numbers` from the menu on the left of the Axivox management
console. Doing so reveals the :guilabel:`Incoming numbers` page, where all the incoming numbers are
listed, along with their :guilabel:`Destination` and SMS information.
The :guilabel:`Destination` determines the action that is taken, or the path the caller follows when
dialing said numbers.
To edit the :guilabel:`Destination`, click the :guilabel:`Edit` button to the far-right of the
incoming number line to be modified. Then, on the :guilabel:`Edit number` page that appears, the
:guilabel:`Destination type for voice call` can be changed.
The options available in the :guilabel:`Destination type for voice call` drop-down menu are as
follows:
- :guilabel:`Not configured`
- :guilabel:`Extension`
- :guilabel:`Dial plan`
- :guilabel:`Voicemail`
- :guilabel:`Hang up`
- :guilabel:`Conference`
Depending on the selection made in the :guilabel:`Destination type for voice call` drop-down menu, a
second, selection-specific drop-down menu is populated with further configuration options.
Additionally, more fields are revealed, based on the selection made in the :guilabel:`Destination
type for voice call` drop-down menu.
Once the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner to implement them.
New users
=========
Every employee using :abbr:`VoIP (Voice over Internet Protocol)` at the company needs an Axivox user
account associated with them.
To view existing users in the Axivox management console, click :guilabel:`Users` from the menu on
the left of the console. Every user has a :guilabel:`Number`, :guilabel:`Name`, option for a
:guilabel:`Voicemail`, and an :guilabel:`Outgoing number` specified.
To create a new user in the Axivox console, click :guilabel:`Add a user` to reveal a :guilabel:`New
user` form. The following tabs are available for configuring the new user:
- :guilabel:`General`: basic information, including the extension of the user, can be set.
- :guilabel:`Forwardings`: internal forwards on 'no answer' or busy signals.
- :guilabel:`Follow Me`: external forward configuration.
- :guilabel:`Keys`: set hot-keys within the :abbr:`VoIP (Voice over Internet Protocol)` system.
- :guilabel:`SIP Identifiers`: :abbr:`SIP (Session Initiation Protocol)` username and password for
external configuration.
- :guilabel:`Permissions`: set access rights for users in the Axivox management console.
General tab
-----------
Under the :guilabel:`General` tab of the :guilabel:`New user` form, in the :guilabel:`Extension`
field, input an extension that is unique to the user. This is the number internal users dial to
reach a specific employee.
In the :guilabel:`Name` field, input the employee name.
Next, fill out the :guilabel:`Email address of the user` field. A valid email address for the
employee should be added here, where the user receives business emails.
In the :guilabel:`GSM number` field, enter an alternative number at which the user can be reached.
Be sure to include the country code.
.. note::
A country code is a locator code that allows access to the desired country's phone system. The
country code is dialed first, prior to the target number. Each country in the world has its own
specific country code.
For a list of comprehensive country codes, visit: `https://countrycode.org
<https://countrycode.org>`_.
.. image:: manage_users/general-tab.png
:align: center
:alt: General tab layout in the Axivox management console.
In the :guilabel:`Voicemail` field, select either :guilabel:`Yes` or :guilabel:`No` from the
drop-down menu.
In the :guilabel:`Directory` field, the administrator has the option to leave it blank, by making no
changes, or selecting :guilabel:`Default` from the drop-down menu. The :guilabel:`Directory` is used
in the *Digital Receptionist* feature element of a dial-plan.
At the bottom of the :guilabel:`General` tab, there are two separate options with selection boxes.
The first option is :guilabel:`This user can receive multiple calls at the same time`. By selecting
this option, users are able to receive calls when on another call.
The second option, :guilabel:`This user must log-in to call`, provides the option to make it
mandatory for the user to log in.
.. note::
If a company uses physical VoIP phones on desks, and wants their employees to be able to log in
from *any* phone or desk in the office, they would make the selection for :guilabel:`This user
must log-in to call`.
Once the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
.. _voip/axivox/forwardings_tab:
Forwardings tab
---------------
Under the :guilabel:`Forwardings` tab of the :guilabel:`New user` form, a company can decide what
happens if someone calls a user, and the call is not answered.
.. important::
Forwardings are disabled when the :guilabel:`Follow Me` option is enabled.
For example, under the :guilabel:`Forwarding on no answer` field, when the button for :guilabel:`Add
a destination` is selected, the option to add a specific user or phone number is revealed. After
entering the :guilabel:`Destination`, a specific time frame can be selected by sliding the
:guilabel:`seconds bar` to the desired ring time.
Additional :guilabel:`Destinations` can be added on with different ring times.
.. note::
Ring times can be staggered, so the call is forwarded to another user after the first user does
not pick up the call. The option to :guilabel:`Send to voicemail as a last resort` is available
to the administrator, should the :guilabel:`Destinations` not pick up.
Under the :guilabel:`Forwarding on busy` field, an administrator can :guilabel:`Add a destination`.
When clicked, they can then set the :guilabel:`Destination` (user) and time frame. Should the
original user's :abbr:`VoIP (Voice over Internet Protocol)` extension, or incoming number, be busy,
the call is forwarded to the destination(s).
.. image:: manage_users/forwardings-tab.png
:align: center
:alt: Manage forwarding calls to different users or phone numbers in the Forwardings tab.
When the desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner of the page.
Follow Me tab
-------------
When the :guilabel:`Follow Me` option is selected, under the :guilabel:`Follow Me` tab of the
:guilabel:`New user` form, no :menuselection:`Forwardings` can be made.
Also, when the :guilabel:`Follow Me` option is selected, the :guilabel:`Add a destination` button
can be selected to add users, or a destination phone number, to the original user's account. That
way, these added numbers ring when a call is received.
After entering the :guilabel:`Destination`, a specific time frame can be made by sliding the
:guilabel:`seconds bar` to the desired ring time. Additional :guilabel:`Destinations` can be added
with different ring times.
.. note::
The original user's :abbr:`VoIP (Voice over Internet Protocol)` number does **not** ring with
this option selected. Ring times can also be staggered, so the call is forwarded to another user
after the first user does not pick up the call.
.. image:: manage_users/follow-me-tab.png
:align: center
:alt: Ring destinations like different users or phone numbers from the Follow Me tab.
.. important::
The Odoo mobile app, or another :abbr:`SIP (Session Initiation Protocol)` mobile client, allows
for simultaneous ringing of the user's extension or incoming number. For more information, visit
the :doc:`VoIP Mobile Integrations <../devices_integrations>` documentation.
Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
Keys tab
--------
Under the :guilabel:`Keys` tab of the :guilabel:`New user` form, speed dial actions for the user can
be configured. Some more advanced options are available, as well.
The following options are available to set to numerical values `1-20`.
These actions can be set on each number:
- :guilabel:`Not configured`: the default action, which is nothing.
- :guilabel:`BLF (Busy lamp fields)`: this action shows the status of other users' phones connected
to the Axivox phone system. This is primarily used on a desk-phone.
- :guilabel:`Quick Call`: this action allows for a speed-dial of an external number.
- :guilabel:`Line`: this action allows the user to call another user.
- :guilabel:`Switch`: this action allows the user to switch between calls from a desk-phone.
- :guilabel:`Pickup`: this action allows the user to pick up an incoming call from a desk-phone.
.. image:: manage_users/user-keys.png
:align: center
:alt: Manage user page with Keys tab highlighted and number 2 key drop-down menu selected (with
highlight)
Once all the desired configurations are complete, click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner.
.. important::
Many of the preceding options have secondary options available, as well, that can be used to link
a user, or external phone number. These **must** be filled out in conjunction with the initial
action.
.. note::
The :guilabel:`Number of keys` field can be changed by entering in the desired numerical value in
the :guilabel:`Number of keys` field, located at the top of the :guilabel:`Keys` tab of the
:guilabel:`New user` form.
SIP Identifiers tab
-------------------
*SIP*, which stands for Session Initiation Protocol telephony, allows one to make and receive calls
through an internet connection. The :guilabel:`SIP Identifiers` tab on the :guilabel:`New user`
form, contains credentials needed to configure Axivox users in Odoo and/or a different :abbr:`SIP
(Session Initiation Protocol)` mobile client.
.. seealso::
See the documentation on configuring Axivox, using the SIP identifiers:
- :doc:`Use VoIP services in Odoo with Axivox <axivox_config>`
- :doc:`Axivox Mobile Integrations <../devices_integrations>`
Under the :guilabel:`SIP Identifiers` tab, the :guilabel:`SIP username` field represents the user's
information that was entered in the :guilabel:`Extension` field, under the :guilabel:`General` tab.
The :guilabel:`Domain` field is assigned to the company by the Axivox representative.
The value in the :guilabel:`SIP Password` field is unique for every Axivox user. This value is used
to sign into Axivox on Odoo, and for any mobile :abbr:`SIP (Session Initiation Protocol)` clients.
.. image:: manage_users/sip-identifiers-tab.png
:align: center
:alt: Important credentials used for external configurations of Axivox VoIP.
The value listed in the :guilabel:`Address of the proxy server` field is typically:
`pabx.axivox.com`, but is subject to change by Axivox, so be sure to check the :guilabel:`SIP
Identifiers` tab for the most accurate value.
Once all desired configurations have been made, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
Permissions tab
---------------
Under the :guilabel:`Permissions` tab of a :guilabel:`New user` form, a :guilabel:`Username` and
:guilabel:`Password` can be entered for the user.
Beneath those fields, the following permissions can be granted to Axivox users for portal access:
- :guilabel:`User portal access`
- :guilabel:`User management`
- :guilabel:`Administrator access`
- :guilabel:`Phone management`
- :guilabel:`User group management`
- :guilabel:`Phone number management`
- :guilabel:`Dial plan management`
- :guilabel:`Pickup group management`
- :guilabel:`Switch management`
- :guilabel:`Conference management`
- :guilabel:`Queue management`
- :guilabel:`Voicemail management`
- :guilabel:`Audio messages management`
- :guilabel:`Music on hold management`
- :guilabel:`Directory management`
- :guilabel:`Call list`
- :guilabel:`Connected user list`
- :guilabel:`Global settings`
- :guilabel:`Apply changes button`
- :guilabel:`Invoice download`
- :guilabel:`Invoice details`
- :guilabel:`Blacklist management`
- :guilabel:`Conference participant management`
To access credentials for the Axivox user portal, navigate to the top of the
:menuselection:`Permissions` tab. Then, copy the :guilabel:`Username`, and enter the correct
:guilabel:`Password` for the individual user. There is a minimum of 8 characters for a user
password.
.. note::
These are the same permissions granted to the Axivox administrator that are listed in the menu on
the left in the Axivox management console. Should a selection state :guilabel:`No`, or
:guilabel:`No access`, then the menu option does **not** populate for the user.
Once all the desired configurations are complete, click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner.
Upon finishing the setup for a new user, an :ref:`voip/axivox/incoming_number` can be linked.
.. image:: manage_users/user-permissions.png
:align: center
:alt: Manage a user page, with the permissions tab highlighted, along with the first permission
highlighted indicating a no selection.
.. _voip/axivox/user_groups:
User groups
===========
A user group is a grouping of Axivox users that can be linked to a queue for call center
capability.
To begin using user groups, navigate to `https://manage.axivox.com <https://manage.axivox.com>`_.
Then, log in with the appropriate administrator credentials. From the menu on the left of the Axivox
administrative panel, click into :guilabel:`User Groups`.
To add a user group from the :guilabel:`User Groups` page, click :guilabel:`Add a group`.
Next, name the group, by entering text into the :guilabel:`Name` field. Then, add a member to the
group by typing the first few letters of the user's name into the :guilabel:`Members` field. The
user populates in a drop-down menu below the field. Then, click on the desired user, and they are
added to the user group.
Repeat this process to add more users to the group.
Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Before

Width:  |  Height:  |  Size: 5.3 KiB

After

Width:  |  Height:  |  Size: 5.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.6 KiB

@@ -1,263 +0,0 @@
=============================
Voicemails and audio messages
=============================
.. _axivox_admin: https://manage.axivox.com/
Managing voicemail is an important part of any business. A company needs to access their messages
with ease, and stay on top of any missed calls. Recording audio messages, like thanking a caller for
reaching out, or directing them to the right extension, is also a great way to personalize the
business interaction, and set the tone with the customer.
This document covers the configuration of both voicemail and audio messages in the Axivox
administrative portal.
.. _voip/axivox/global_language:
Set global language
===================
To start using voicemails and audio messages with Axivox, the global language should be set in the
Axivox admin portal settings. To do that, navigate to `manage.axivox.com <axivox_admin_>`_. After
logging into the portal, go to :menuselection:`Settings --> Global language (e.g.: voicemail
messages,...)`.
From here, set the language to either: :guilabel:`Francais`, :guilabel:`English`,
:guilabel:`Espanol`, or :guilabel:`Deutsch`.
Then, click :guilabel:`Save`, followed by :guilabel:`Apply changes` in the upper-right corner of the
:guilabel:`General Settings` page to implement the change into production.
.. _voip/axivox/activate_voicemail:
Activate voicemail
==================
In order for a user to utilize voicemail in Axivox, the voicemail feature **must** be turned on in
the Axivox administrative portal. To begin using voicemail with a user, navigate to
`manage.axivox.com <axivox_admin_>`_. Then, log in with the appropriate administrator credentials.
On the left menu of the Axivox administrative panel, click into :guilabel:`Users`.
Then, click into the specific user the voicemail should be activated for. Under the section marked,
:guilabel:`Voicemail`, open the drop-down menu, and click on :guilabel:`Yes`.
Lastly, :guilabel:`Save` the change, then click :guilabel:`Apply changes` in the upper-right corner
of the screen.
Voicemail
=========
The next step is to set up the individual voicemail boxes on the Axivox administrative portal. To
access the portal, visit `manage.axivox.com <axivox_admin_>`_ and log in. Then, navigate to
:menuselection:`Voicemails`, located in the menu on the left.
If the voicemail option was activated in the user profile, using this process
:ref:`voip/axivox/activate_voicemail`, then a voicemail is automatically created on the
:guilabel:`Voicemails` page.
.. tip::
It should be noted that some of the administrative portal language is in French, as Axivox is a
Belgian company. The global language is still set to one of the four options as seen here:
:ref:`voip/axivox/global_language`.
Manually create voicemail
-------------------------
To manually create a new voicemail box, click :guilabel:`Add a voicemail` on the
:guilabel:`Voicemails` page. Or, edit an existing voicemail box, by clicking :guilabel:`Edit` to the
far-right of an existing voicemail box on the :guilabel:`Voicemails` page.
.. example::
Suppose a sales or support team needs a general voicemail box. The voicemail would need to be
created manually, and attached to an incoming number.
The new, manually-created voicemail box should be attached to an incoming number, so it can receive
messages. To do so, navigate to :menuselection:`Incoming numbers`, located in the menu on the left.
Then, click :guilabel:`Edit` to the far-right of the specific number the voicemail should be linked
to.
In the :guilabel:`Destination type for voice call` field, click the drop-down menu, and select
:guilabel:`Voicemail`. Then, open the drop-down menu on the next line labeled,
:guilabel:`Voicemail`, and select the manually-created voicemail box.
.. important::
If an incoming number is capable of receiving SMS/text messages, an additional field,
:guilabel:`Destination email address for Incoming SMS`, is present.
To determine whether an incoming number is capable of receiving SMS/text messages, click
:guilabel:`Incoming numbers` from the menu on the left, then check the :guilabel:`SMS compatible`
column for the incoming number.
Then, if applicable, in the field labeled, :guilabel:`Destination email address for Incoming SMS`,
enter an email to which incoming text messages sent to the incoming number can be received. Some
incoming numbers (US +1) in Axivox are capable of receiving text messages from individuals and
automated numbers.
Should this field be left empty, the default destination address is used, instead (as previously set
in the beginning of the process for manually creating a voicemail).
Once all desired configurations are complete, click :guilabel:`Save`, then click :guilabel:`Apply
changes` in the upper-right corner of the screen to implement the change into production.
Notifications
-------------
Now, whenever a voicemail is received on any of the automatically pre-configured or manually-linked
voicemail boxes, an email is sent to the user's email address, as listed in the
:guilabel:`Voicemails` page, or in the user's Axivox profile.
This information can be accessed by navigating to :menuselection:`Users` in the left menu, and
clicking :guilabel:`Edit` next to the specific user in question.
.. _voip/axivox/vm_forwarding:
Forwarding to voicemail
=======================
In Axivox, there are also numerous forwarding settings for a user. To access these forwarding
settings, go to `manage.axivox.com <axivox_admin_>`_ and log in.
Next, navigate to :menuselection:`Users`, located in the menu on the left.
From there, click into the specific user the forwarding should be added to. Then, open the
:guilabel:`Forwardings` tab.
If the user is busy on another call, or away from the phone, there is an option present in this tab
to :guilabel:`Send to voicemail as a last resort`, located in the :guilabel:`Forwarding on no
answer` and :guilabel:`Forwarding on busy` fields.
.. image:: vm_audio_messages/forwardings.png
:align: center
:alt: Send to voicemail as a last resort options highlighted on the Forwardings tab of the user.
If the :guilabel:`Send to voicemail as a last resort` box is ticked, when the forwarding actions
stated in each section are not successful, the caller is routed to the voicemail set on the
particular user.
.. seealso::
For more information on forwarding and transfers, visit :ref:`voip/axivox/forwardings_tab`.
When all the desired configurations are complete, click :guilabel:`Save`, then click
:guilabel:`Apply changes` in the upper-right corner of the screen to implement the change.
.. _voip/axivox/audio_messages:
Audio messages
==============
It is possible to add audio messages *before* a customer's call is even taken, to inform them about
the waiting time for deliveries, the availability of a product, or any other important promotional
messages.
To record an audio message in Axivox, navigate to `manage.axivox.com <axivox_admin_>`_ and log in.
Next, click on :guilabel:`Audio messages` in the menu on the left. From the :guilabel:`Audio
messages` page, click :guilabel:`Add a message`.
Type in a :guilabel:`Name`, and click :guilabel:`Save`.
Upon clicking :guilabel:`Save`, the browser redirects back to the main :guilabel:`Audio messages`
page, where the newly-created message can be found on the list.
There are two different ways to make the audio message. The user could either record the message
over the phone, or type the message (in text), and select a computer-generated speaker to read the
message.
Record audio message
--------------------
To record an audio message over the phone, click the orange button labeled,
:guilabel:`Record/Listen`, located to the right of the desired message on the list to record, on the
:guilabel:`Audio messages` page.
When clicked, a :guilabel:`Record / listen to a message` pop-up window appears. From here, the
message is then recorded, via one of the extensions that is associated with the user. Under
:guilabel:`Extension to use for message management` field, click the drop-down menu, and select the
extension where Axivox should call to record the message.
Then, click :guilabel:`OK` to begin the call.
.. note::
The user **must** be active in the production database with :abbr:`VoIP (Voice over Internet
Protocol)` configured. To configure :abbr:`VoIP (Voice over Internet Protocol)` for a user, see
this documentation: :doc:`axivox_config`.
Upon connecting to the Axivox audio recorder management line, a recorded French-speaking operator
provides the following options:
#. Press `1` to record a message.
#. Press `2` to listen to the current message.
Press either `1` or `2`, depending on whether or not there is already a message present in the
system for this particular audio message that requires a review, before recording a new one.
Record the new audio message after pressing `1`, then press `#` to end the recording.
The French-speaking operator returns to the line presenting the first set of questions again:
#. Press `1` to record a message.
#. Press `2` to listen to the current message.
Press `#` to end the call.
Write audio message
-------------------
To type the message, and select a computerized speaker to say the text, navigate to the
:menuselection:`Audio messages` in the menu on the left.
From the :guilabel:`Audio messages` page, select the blue button labeled, :guilabel:`Text message`,
next to the corresponding audio message :guilabel:`Name` that the message should be attached to.
Doing so reveals a :guilabel:`Convert text to message` pop-up window.
From the :guilabel:`Convert to text message` pop-up window, click the drop-down menu next to the
field labeled, :guilabel:`Voice`, and select an option for the :guilabel:`Text` to be read in.
After the :guilabel:`Voice` selection has been made, and the message has been written in the
:guilabel:`Text` field, click :guilabel:`Generate` to process the audio file.
The text is read in the same language it is written in the :guilabel:`Text` field. Should the
language differ in the :guilabel:`Voice` field, then an accent is used by the computerized speaker.
Finally, when these steps are complete, click :guilabel:`Save` to save the audio message.
To implement the changes, click :guilabel:`Apply changes` in the upper-right corner of the screen.
.. image:: vm_audio_messages/sample-message.png
:align: center
:alt: Convert text to message window with voice, text, generate button and save highlighted.
.. tip::
To set a greeting or audio message in a dial plan element double-click on the element. This could
be a :guilabel:`Play a file` element, or a :guilabel:`Menu` element, in which the caller should
encounter an urgent message, or a dial-by-number directory.
For more information on dial plans see this documentation: :doc:`dial_plan_basics` or
:doc:`dial_plan_advanced`.
.. _voip/axivox/music_on_hold:
Music on-hold
=============
Axivox has the option to add custom hold music to the call whenever a caller is waiting for their
call to be answered. To add hold music to the Axivox administrative portal, navigate to the
`manage.axivox.com <axivox_admin_>`_, and log in.
Then, click on :guilabel:`Music on hold` from the menu on the left, and a :guilabel:`Change the
music on hold` pop-up window appears.
On the :guilabel:`Change the music on hold` pop-up window, click the :guilabel:`Choose File` button
to select an MP3 (MPEG Audio Layer 3) or WAV (Waveform Audio File Format ) file to be uploaded.
.. note::
Only :abbr:`MP3 (MPEG Audio Layer 3)` or :abbr:`WAV (Waveform Audio File Format)` files can be
uploaded to the Axivox administrative portal.
Once the file is selected, the :guilabel:`Progression` bar shows an upload status. When this
activity completes, the window can be closed, by clicking :guilabel:`Close`.
When the desired changes are complete, click :guilabel:`Apply changes` in the upper-right corner of
the screen.
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

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