Compare commits
297 Commits
18.0
...
tmp.saas-1
Author | SHA1 | Date | |
---|---|---|---|
![]() |
3e4803e789 | ||
![]() |
83a55dfa49 | ||
![]() |
bba32042a0 | ||
![]() |
2e89a1fc60 | ||
![]() |
f292374c84 | ||
![]() |
03db4e1132 | ||
![]() |
bd2f760da1 | ||
![]() |
aabcd52adb | ||
![]() |
0a4de1c5f2 | ||
![]() |
0d9344ebb6 | ||
![]() |
710854226d | ||
![]() |
a31c4a30c5 | ||
![]() |
8015c3af5c | ||
![]() |
f8f7558ad0 | ||
![]() |
1da43054be | ||
![]() |
294174dad9 | ||
![]() |
bf35e8ed33 | ||
![]() |
9d1bdf97ad | ||
![]() |
a5ed3b8c99 | ||
![]() |
5cb47dcc92 | ||
![]() |
d4501a3d31 | ||
![]() |
cafe8b3f4b | ||
![]() |
fc97a037c7 | ||
![]() |
9a7053b07d | ||
![]() |
00aad51782 | ||
![]() |
0767d23ec0 | ||
![]() |
f4fae451e8 | ||
![]() |
dd9672cdff | ||
![]() |
9b93d80ecf | ||
![]() |
d60e8a1efc | ||
![]() |
ceea81a32a | ||
![]() |
55619d5226 | ||
![]() |
a0c8570226 | ||
![]() |
7995cb4ca0 | ||
![]() |
9f2f14c6c9 | ||
![]() |
3534f21f68 | ||
![]() |
c80fee24c6 | ||
![]() |
75b9ff742c | ||
![]() |
58435ac87d | ||
![]() |
6571f8afc0 | ||
![]() |
b4c51347f9 | ||
![]() |
8529de0bc8 | ||
![]() |
aabbdc1831 | ||
![]() |
a597025fdc | ||
![]() |
25cdb7cd93 | ||
![]() |
bb3f52fbfe | ||
![]() |
6a4d362eff | ||
![]() |
4f699600b8 | ||
![]() |
5aa54d4234 | ||
![]() |
f27bde76b8 | ||
![]() |
f744a827ed | ||
![]() |
57280fb40e | ||
![]() |
51fd568cb1 | ||
![]() |
6f192511cd | ||
![]() |
f7d6025f13 | ||
![]() |
0a5c1080b6 | ||
![]() |
501b3a6111 | ||
![]() |
69760ac23e | ||
![]() |
2795bd60ae | ||
![]() |
7b5ae06d3b | ||
![]() |
cf1a7701e8 | ||
![]() |
6854a0c363 | ||
![]() |
1963c72d72 | ||
![]() |
f36cb2bcc6 | ||
![]() |
be5155c64a | ||
![]() |
fa703e0490 | ||
![]() |
0cd019210e | ||
![]() |
25663e302c | ||
![]() |
d866bb9d4c | ||
![]() |
395281cb5b | ||
![]() |
0b132c4556 | ||
![]() |
1c623a267b | ||
![]() |
62c4d14e18 | ||
![]() |
d30452e23a | ||
![]() |
7a9a39974f | ||
![]() |
109bbd0ee5 | ||
![]() |
c7531dd242 | ||
![]() |
6357040f64 | ||
![]() |
6d8b086bb9 | ||
![]() |
a2069fcb54 | ||
![]() |
1a54537cbb | ||
![]() |
445a3c3c26 | ||
![]() |
4aaab3756c | ||
![]() |
44c7cd5c24 | ||
![]() |
55f516faa8 | ||
![]() |
464f44a941 | ||
![]() |
9d98bb9bbd | ||
![]() |
c05edbc9b2 | ||
![]() |
dc20497ab1 | ||
![]() |
720117d3c1 | ||
![]() |
2214fa1fcd | ||
![]() |
c4fb3ab106 | ||
![]() |
229fe2b123 | ||
![]() |
044ccfc999 | ||
![]() |
ab7b048505 | ||
![]() |
24481852ea | ||
![]() |
dba0bd55bc | ||
![]() |
de93516ebd | ||
![]() |
4e8250aa8a | ||
![]() |
c8b0b79f65 | ||
![]() |
9943250ff4 | ||
![]() |
939d0de821 | ||
![]() |
8fb1fb39e4 | ||
![]() |
8f5bc31f90 | ||
![]() |
3270549c3a | ||
![]() |
36d6295fee | ||
![]() |
363c58f6de | ||
![]() |
0adba84773 | ||
![]() |
c9aefec697 | ||
![]() |
48c4cd161e | ||
![]() |
a08a313f02 | ||
![]() |
c3ceaa57a1 | ||
![]() |
ac69e2872c | ||
![]() |
44197f2ca9 | ||
![]() |
52e342e480 | ||
![]() |
00bfe70e0b | ||
![]() |
d9beb9ab43 | ||
![]() |
6c843244eb | ||
![]() |
53b15ca1cc | ||
![]() |
6f22d05c1c | ||
![]() |
eb5b4fb2c8 | ||
![]() |
2c0256f408 | ||
![]() |
a2b4ff885f | ||
![]() |
95d030c877 | ||
![]() |
71a96f69c1 | ||
![]() |
9c4362088b | ||
![]() |
49cec1af4e | ||
![]() |
7b99670e26 | ||
![]() |
8d931d43e5 | ||
![]() |
183f5b3aac | ||
![]() |
b5c962699f | ||
![]() |
7ceb5c89ad | ||
![]() |
abc8b512e6 | ||
![]() |
5832540a70 | ||
![]() |
6073abb6dd | ||
![]() |
ea1227e372 | ||
![]() |
9dd836ddd7 | ||
![]() |
bfd5c80140 | ||
![]() |
67320bdc28 | ||
![]() |
bc4a2802ba | ||
![]() |
75de303f7d | ||
![]() |
25172a0d05 | ||
![]() |
be1bbaf0b5 | ||
![]() |
9ff44adcf9 | ||
![]() |
f2a4870ed6 | ||
![]() |
64dedb9f5f | ||
![]() |
7fa00bab39 | ||
![]() |
f3b4ecfa73 | ||
![]() |
29ee1b73b4 | ||
![]() |
a4e94b5d84 | ||
![]() |
76a6f1a7f1 | ||
![]() |
f5667702b8 | ||
![]() |
60e23d6249 | ||
![]() |
d31667f952 | ||
![]() |
612b461f45 | ||
![]() |
b75396108d | ||
![]() |
f9b4ba28da | ||
![]() |
e198d3ce6e | ||
![]() |
712d6ca853 | ||
![]() |
76a112d24e | ||
![]() |
4e6bb5aaaf | ||
![]() |
9485413be3 | ||
![]() |
11b02354ba | ||
![]() |
07eb4cafbf | ||
![]() |
1825434871 | ||
![]() |
34b901b52a | ||
![]() |
aa8ed31fdf | ||
![]() |
23c015b13a | ||
![]() |
4faeb3fecd | ||
![]() |
96794d47fc | ||
![]() |
0f87ae1ae4 | ||
![]() |
a8a5b86bd6 | ||
![]() |
f3c3505a79 | ||
![]() |
bd74405def | ||
![]() |
feeb4313e9 | ||
![]() |
d8d77fdfab | ||
![]() |
a293d23c20 | ||
![]() |
708c12c2e5 | ||
![]() |
ad4cc75c7d | ||
![]() |
29670216a1 | ||
![]() |
dda75a9a01 | ||
![]() |
a467bdd8b9 | ||
![]() |
9668d89545 | ||
![]() |
fa90f3437f | ||
![]() |
ac2427eae8 | ||
![]() |
baf7655502 | ||
![]() |
98e494ed48 | ||
![]() |
0d3f2da180 | ||
![]() |
0bcc04c298 | ||
![]() |
a413c3519d | ||
![]() |
cdeaaa21de | ||
![]() |
161d8728d0 | ||
![]() |
27548881e9 | ||
![]() |
b630585901 | ||
![]() |
0e428e66d9 | ||
![]() |
f4bc361d04 | ||
![]() |
9f0c5a8f9b | ||
![]() |
da0255e2be | ||
![]() |
2399290177 | ||
![]() |
e0a197a088 | ||
![]() |
2be313db40 | ||
![]() |
b2e0cc2b65 | ||
![]() |
8e13755a4b | ||
![]() |
0551837e4b | ||
![]() |
6e14ec2127 | ||
![]() |
791308f874 | ||
![]() |
d2268eb5bd | ||
![]() |
0d3f716bd8 | ||
![]() |
e8be8003b2 | ||
![]() |
75e7a4d1db | ||
![]() |
b9c91de6e9 | ||
![]() |
6ae7180431 | ||
![]() |
0ee3c034d2 | ||
![]() |
fea873780d | ||
![]() |
38f4a73853 | ||
![]() |
8fbaf74900 | ||
![]() |
087596ca85 | ||
![]() |
8babcda06e | ||
![]() |
f3b200e375 | ||
![]() |
6a7114405f | ||
![]() |
b6d8aa2e72 | ||
![]() |
5a799bb62a | ||
![]() |
41aeb77467 | ||
![]() |
6341141695 | ||
![]() |
29eb67cd37 | ||
![]() |
d96d23a9be | ||
![]() |
5560d5ad62 | ||
![]() |
eb69d4fcee | ||
![]() |
a7766aad8c | ||
![]() |
77dbda389e | ||
![]() |
7da3ec65b6 | ||
![]() |
5fa8656cdd | ||
![]() |
af3f31e233 | ||
![]() |
6223077cb8 | ||
![]() |
c6ade58fdb | ||
![]() |
f632317421 | ||
![]() |
23e683adb5 | ||
![]() |
d0ac4b8f55 | ||
![]() |
99ab0259af | ||
![]() |
fad2d9c66e | ||
![]() |
2b41100b2f | ||
![]() |
87d1325755 | ||
![]() |
012051feec | ||
![]() |
0e081f1c5e | ||
![]() |
c13d92ccea | ||
![]() |
677c9e089a | ||
![]() |
a880022e28 | ||
![]() |
ea92dd6337 | ||
![]() |
601f915e98 | ||
![]() |
e757f4ae69 | ||
![]() |
0cbe4101a6 | ||
![]() |
0490f3cda2 | ||
![]() |
636228c7c2 | ||
![]() |
b76bb3b610 | ||
![]() |
6cc002d59c | ||
![]() |
622b6d7afb | ||
![]() |
10b12cdd42 | ||
![]() |
a7a2c354d8 | ||
![]() |
9a7ad86131 | ||
![]() |
bacd5e8d00 | ||
![]() |
a45fb1fff4 | ||
![]() |
a623c1ed0f | ||
![]() |
3e07d2e00a | ||
![]() |
6cc550f0e2 | ||
![]() |
431793c2fd | ||
![]() |
8d0e798f33 | ||
![]() |
3c8ba29d5f | ||
![]() |
4dfd87bb49 | ||
![]() |
3116214598 | ||
![]() |
e33dc3b33e | ||
![]() |
b296759037 | ||
![]() |
341aa8e4be | ||
![]() |
6aaefcd2b8 | ||
![]() |
c8b5c0ea59 | ||
![]() |
7a6b2cf3f1 | ||
![]() |
b78606ea07 | ||
![]() |
362cfc0c8d | ||
![]() |
6e3c380da4 | ||
![]() |
bee7c0b0f1 | ||
![]() |
b375e283cf | ||
![]() |
bd06b95cbe | ||
![]() |
3e84d21306 | ||
![]() |
192cbbf168 | ||
![]() |
f6586f4dbd | ||
![]() |
1d25e55346 | ||
![]() |
8a6dbe56c3 | ||
![]() |
f2f701dba6 | ||
![]() |
85ebf41d2c | ||
![]() |
85c70cb544 | ||
![]() |
0c30ca938e | ||
![]() |
2f3d467dc8 | ||
![]() |
3e853095d3 | ||
![]() |
7467c92786 | ||
![]() |
e0269e2f11 | ||
![]() |
3323cfe8ab | ||
![]() |
83d52c83fa | ||
![]() |
520b6e296a |
2
Makefile
@ -27,7 +27,7 @@ SOURCE_DIR = content
|
|||||||
|
|
||||||
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
HTML_BUILD_DIR = $(BUILD_DIR)/html
|
||||||
ifdef VERSIONS
|
ifdef VERSIONS
|
||||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/master
|
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/saas-17.4
|
||||||
endif
|
endif
|
||||||
ifneq ($(CURRENT_LANG),en)
|
ifneq ($(CURRENT_LANG),en)
|
||||||
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
HTML_BUILD_DIR := $(HTML_BUILD_DIR)/$(CURRENT_LANG)
|
||||||
|
19
conf.py
@ -22,7 +22,7 @@ copyright = 'Odoo S.A.'
|
|||||||
# `version` is the version info for the project being documented, acts as replacement for |version|,
|
# `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.
|
# 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|.
|
# `release` is the full version, including alpha/beta/rc tags. Acts as replacement for |release|.
|
||||||
version = release = 'master'
|
version = release = 'saas-17.4'
|
||||||
|
|
||||||
# `current_branch` is the technical name of the current branch.
|
# `current_branch` is the technical name of the current branch.
|
||||||
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
# E.g., saas-15.4 -> saas-15.4; 12.0 -> 12.0, master -> master (*).
|
||||||
@ -231,17 +231,13 @@ 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.
|
# is populated. If a version is passed to `versions` but is not listed here, it will not be shown.
|
||||||
versions_names = {
|
versions_names = {
|
||||||
'master': "Master",
|
'master': "Master",
|
||||||
|
'saas-18.1': "Odoo Online",
|
||||||
|
'18.0': "Odoo 18",
|
||||||
|
'saas-17.4': "Odoo Online",
|
||||||
'saas-17.2': "Odoo Online",
|
'saas-17.2': "Odoo Online",
|
||||||
'saas-17.1': "Odoo Online",
|
|
||||||
'17.0': "Odoo 17",
|
'17.0': "Odoo 17",
|
||||||
'saas-16.4': "Odoo Online",
|
|
||||||
'saas-16.3': "Odoo Online",
|
|
||||||
'saas-16.2': "Odoo Online",
|
|
||||||
'saas-16.1': "Odoo Online",
|
|
||||||
'16.0': "Odoo 16",
|
'16.0': "Odoo 16",
|
||||||
'saas-15.2': "Odoo Online",
|
|
||||||
'15.0': "Odoo 15",
|
'15.0': "Odoo 15",
|
||||||
'14.0': "Odoo 14",
|
|
||||||
}
|
}
|
||||||
|
|
||||||
# The language names that should be shown in the language switcher, if the config option `languages`
|
# The language names that should be shown in the language switcher, if the config option `languages`
|
||||||
@ -252,11 +248,13 @@ languages_names = {
|
|||||||
'es': 'ES',
|
'es': 'ES',
|
||||||
'fr': 'FR',
|
'fr': 'FR',
|
||||||
'it': 'IT',
|
'it': 'IT',
|
||||||
'ko': 'KO',
|
'ja': 'JA',
|
||||||
|
'ko': 'KR',
|
||||||
'nl': 'NL',
|
'nl': 'NL',
|
||||||
'pt_BR': 'PT',
|
'pt_BR': 'PT',
|
||||||
'ro': 'RO',
|
'ro': 'RO',
|
||||||
'sv': 'SV',
|
'sv': 'SV',
|
||||||
|
'th': 'TH',
|
||||||
'uk': 'UA',
|
'uk': 'UA',
|
||||||
'zh_CN': 'ZH (CN)',
|
'zh_CN': 'ZH (CN)',
|
||||||
'zh_TW': 'ZH (TW)'
|
'zh_TW': 'ZH (TW)'
|
||||||
@ -391,6 +389,9 @@ def setup(app):
|
|||||||
app.add_config_value('is_remote_build', None, 'env') # Whether the build is remotely deployed
|
app.add_config_value('is_remote_build', None, 'env') # Whether the build is remotely deployed
|
||||||
app.add_config_value('source_read_replace_vals', {}, 'env')
|
app.add_config_value('source_read_replace_vals', {}, 'env')
|
||||||
app.connect('source-read', source_read_replace)
|
app.connect('source-read', source_read_replace)
|
||||||
|
# TODO uncomment after moving to >= v7.2.5 to also substitute placeholders in included files.
|
||||||
|
# See https://github.com/sphinx-doc/sphinx/commit/ff1831
|
||||||
|
# app.connect('include-read', source_read_replace)
|
||||||
|
|
||||||
app.add_lexer('json', JsonLexer)
|
app.add_lexer('json', JsonLexer)
|
||||||
app.add_lexer('xml', XmlLexer)
|
app.add_lexer('xml', XmlLexer)
|
||||||
|
@ -23,7 +23,7 @@ Edit Security Settings --> Delete Account`. It can also be accessed by going to
|
|||||||
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
|
Upon clicking the :guilabel:`Delete Account` button, a pop-up window appears, requesting
|
||||||
confirmation for the account deletion.
|
confirmation for the account deletion.
|
||||||
|
|
||||||
.. image:: odoo_account/delete-account.png
|
.. image:: odoo_accounts/delete-account.png
|
||||||
:align: center
|
:align: center
|
||||||
:alt: Clicking on the Delete Account button will populate a window verifying the change.
|
:alt: Clicking on the Delete Account button will populate a window verifying the change.
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
@ -46,7 +46,7 @@ Trigger a database upgrade.
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
For more information about the upgrade process, check out the :ref:`Odoo Online upgrade
|
For more information about the upgrade process, check out the :ref:`Odoo Online upgrade
|
||||||
documentation <upgrade/request-test-database>`.
|
documentation <upgrade-request-test>`.
|
||||||
|
|
||||||
.. _odoo_online/duplicate:
|
.. _odoo_online/duplicate:
|
||||||
|
|
||||||
|
@ -29,3 +29,32 @@ We advise that:
|
|||||||
- Your scheduled actions should be
|
- Your scheduled actions should be
|
||||||
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
|
`idempotent <https://stackoverflow.com/a/1077421/3332416>`_: they must not
|
||||||
cause side-effects if they are started more often than expected.
|
cause side-effects if they are started more often than expected.
|
||||||
|
|
||||||
|
.. _ip-address-change:
|
||||||
|
|
||||||
|
How can I automate tasks when an IP address change occurs?
|
||||||
|
----------------------------------------------------------
|
||||||
|
|
||||||
|
**Odoo.sh notifies project administrators of IP address changes.**
|
||||||
|
Additionally, when the IP address of a production instance changes, an HTTP `GET` request is made
|
||||||
|
to the path `/_odoo.sh/ip-change` with the new IP address included as a query string parameter
|
||||||
|
(`new`), along with the previous IP address as an additional parameter (`old`).
|
||||||
|
|
||||||
|
This mechanism allows custom actions to be applied in response to the IP address change
|
||||||
|
(e.g., sending an email, contacting a firewall API, configuring database objects, etc.)
|
||||||
|
|
||||||
|
For security reasons, the `/_odoo.sh/ip-change` route is accessible only internally by the platform
|
||||||
|
itself and returns a `403` response if accessed through any other means.
|
||||||
|
|
||||||
|
Here is a pseudo-implementation example:
|
||||||
|
|
||||||
|
.. code-block:: python
|
||||||
|
|
||||||
|
class IPChangeController(http.Controller):
|
||||||
|
|
||||||
|
@http.route('/_odoo.sh/ip-change', auth='public')
|
||||||
|
def ip_change(self, old=None, new=None):
|
||||||
|
_logger.info("IP address changed from %s to %s", old, new)
|
||||||
|
# Then perform whatever action required for your use case, e.g., update an
|
||||||
|
# ir.config_parameter, send an email, contact an external firewall service's API, ...
|
||||||
|
return 'ok'
|
||||||
|
@ -402,9 +402,9 @@ we are considering the feature if there is enough demand.
|
|||||||
|
|
||||||
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
|
In case the domain of your users email addresses use SPF (Sender Policy Framework) or DKIM
|
||||||
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
|
(DomainKeys Identified Mail), don't forget to authorize Odoo as a sending host in your domain name
|
||||||
settings to increase the deliverability of your outgoing emails.
|
settings to increase the deliverability of your outgoing emails. The configuration steps are
|
||||||
The configuration steps are explained in the documentation about :ref:`SPF
|
explained in the documentation about :ref:`SPF <email-domain-spf>` and :ref:`DKIM
|
||||||
<email_communication/spf_compliant>` and :ref:`DKIM <email_communication/dkim_compliant>`.
|
<email-domain-dkim>`.
|
||||||
|
|
||||||
.. Warning::
|
.. Warning::
|
||||||
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
Forgetting to configure your SPF or DKIM to authorize Odoo as a sending host can lead to the
|
||||||
|
@ -33,17 +33,17 @@ Manage the Github users who can access your project.
|
|||||||
.. image:: settings/interface-settings-collaborators.png
|
.. image:: settings/interface-settings-collaborators.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
There are two levels of users:
|
There are three levels of users:
|
||||||
|
|
||||||
* Admin: has access to all features of Odoo.sh.
|
- :guilabel:`Admin`: has access to all features of an Odoo.sh project.
|
||||||
* User: does not have access to the project settings nor to the production and staging databases.
|
|
||||||
|
|
||||||
The user group is meant for developers who can make modifications in your code but are not allowed
|
- :guilabel:`Tester`: has access to the *Staging* and *Development* databases and their tooling.
|
||||||
to access the production data. Users of this group cannot connect to the production and staging
|
This role is for users conducting User Acceptance Tests. Testers can work with copies of
|
||||||
databases using the *1-click connect* feature, but they can of course use their regular account on
|
production data but cannot access the production database through the Odoo.sh tooling.
|
||||||
these databases if they have one, using their regular credentials.
|
|
||||||
|
|
||||||
In addition, they cannot use the webshell nor have access to the server logs.
|
- :guilabel:`Developer`: has access only to the *Development* databases and their tooling. This
|
||||||
|
role is for developers who propose code modifications but are not allowed to access production
|
||||||
|
and staging databases through the Odoo.sh tooling.
|
||||||
|
|
||||||
.. list-table::
|
.. list-table::
|
||||||
:header-rows: 1
|
:header-rows: 1
|
||||||
@ -51,83 +51,145 @@ In addition, they cannot use the webshell nor have access to the server logs.
|
|||||||
|
|
||||||
* -
|
* -
|
||||||
-
|
-
|
||||||
- User
|
- Developer
|
||||||
|
- Tester
|
||||||
- Admin
|
- Admin
|
||||||
* - Development
|
* - Development
|
||||||
- History
|
- History
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- 1-click connect
|
- 1-click connect
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Logs
|
- Logs
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Shell/SSH
|
- Shell/SSH
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Mails
|
- Mails
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
* -
|
|
||||||
- Upgrade
|
|
||||||
- |green|
|
|
||||||
- |green|
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Settings
|
- Settings
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
* - Production & Staging
|
- |green|
|
||||||
|
* - Staging
|
||||||
- History
|
- History
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- 1-click connect
|
- 1-click connect
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Logs
|
- Logs
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Shell/SSH
|
- Shell/SSH
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Mails
|
- Mails
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Monitoring
|
- Monitoring
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Backups
|
- Backups
|
||||||
-
|
-
|
||||||
|
-
|
||||||
- |green|
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Upgrade
|
- Upgrade
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* -
|
* -
|
||||||
- Settings
|
- Settings
|
||||||
- |green|\*
|
-
|
||||||
|
- |green|
|
||||||
|
- |green|
|
||||||
|
* - Production
|
||||||
|
- History
|
||||||
|
- |green|
|
||||||
|
- |green|
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- 1-click connect
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- Logs
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- Shell/SSH
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- Mails
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- Monitoring
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- Backups
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- Upgrade
|
||||||
|
-
|
||||||
|
-
|
||||||
|
- |green|
|
||||||
|
* -
|
||||||
|
- Settings
|
||||||
|
-
|
||||||
|
-
|
||||||
- |green|
|
- |green|
|
||||||
* - Status
|
* - Status
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
|
- |green|
|
||||||
* - Settings
|
* - Settings
|
||||||
|
-
|
||||||
-
|
-
|
||||||
-
|
-
|
||||||
- |green|
|
- |green|
|
||||||
|
|
||||||
.. note::
|
.. warning::
|
||||||
\* Only in staging branches
|
Those roles only apply to the usage of Odoo.sh. It is important to reflect the user roles
|
||||||
|
attribution within the repository on GitHub. Please refer to the GitHub documentation section on
|
||||||
|
`Managing a branch protection rule <https://docs.github.com/en/repositories/configuring-branches-and-merges-in-your-repository/managing-protected-branches/managing-a-branch-protection-rule>`_
|
||||||
|
for detailed guidance.
|
||||||
|
|
||||||
.. |green| raw:: html
|
.. |green| raw:: html
|
||||||
|
|
||||||
@ -149,15 +211,32 @@ Allow public access to your development builds.
|
|||||||
.. image:: settings/interface-settings-public.png
|
.. image:: settings/interface-settings-public.png
|
||||||
:align: center
|
:align: center
|
||||||
|
|
||||||
If activated, this option exposes the Builds page publicly, allowing visitors to connect to your
|
If activated, this option exposes the Builds page publicly, allowing visitors to view logs of development builds.
|
||||||
development builds.
|
|
||||||
|
|
||||||
In addition, visitors have access to the logs, shell and mails of your development builds.
|
|
||||||
|
|
||||||
Production and staging builds are excluded, visitors can only see their status.
|
Production and staging builds are excluded, visitors can only see their status.
|
||||||
|
|
||||||
.. _odoosh-gettingstarted-settings-modules-installation:
|
.. _odoosh-gettingstarted-settings-modules-installation:
|
||||||
|
|
||||||
|
GitHub commit statuses
|
||||||
|
======================
|
||||||
|
|
||||||
|
This option enables Odoo.sh to push commit statuses to your GitHub repository when a build is
|
||||||
|
created or updated. It requires a GitHub token with permissions to push commit statuses to the
|
||||||
|
repository. Refer to `GitHub's documentation on personal access tokens <https://docs.github.com/en/authentication/keeping-your-account-and-data-secure/managing-your-personal-access-tokens>`_
|
||||||
|
for instructions to create yours.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
GitHub's **fine-grained personal tokens** have an expiration date and will be disabled if they
|
||||||
|
fail to update the commit status. You can replace the token at any time on Odoo.sh.
|
||||||
|
|
||||||
|
The commit statuses pushed to GitHub can have the following contexts:
|
||||||
|
|
||||||
|
- :guilabel:`ci/odoo.sh (dev)`: status of a development build
|
||||||
|
- :guilabel:`ci/odoo.sh (staging)`: status of a staging build
|
||||||
|
- :guilabel:`ci/odoo.sh (production)`: status of a production build
|
||||||
|
- :guilabel:`ci/odoo.sh (test_ci)`: testing the token from the Settings page will push a test
|
||||||
|
status on the last commit of your repository
|
||||||
|
|
||||||
Custom domains
|
Custom domains
|
||||||
==============
|
==============
|
||||||
|
|
||||||
|
@ -61,8 +61,8 @@ To resolve the issue:
|
|||||||
your **network and firewall settings** allow the Odoo server to open outgoing connections
|
your **network and firewall settings** allow the Odoo server to open outgoing connections
|
||||||
towards:
|
towards:
|
||||||
|
|
||||||
- `services.odoo.com` on port `443` (or `80`)
|
- Odoo 18.0 and above: `services.odoo.com` on port `80`
|
||||||
- for older deployments, `services.openerp.com` on port `443` (or `80`)
|
- Odoo 17.0 and below: `services.openerp.com` on port `80`
|
||||||
|
|
||||||
These ports must be kept open even after registering a database, as the update notification runs
|
These ports must be kept open even after registering a database, as the update notification runs
|
||||||
once a week.
|
once a week.
|
||||||
@ -85,12 +85,6 @@ To resolve the issue, either:
|
|||||||
displayed in the message to validate the upsell quotation and pay for the extra users.
|
displayed in the message to validate the upsell quotation and pay for the extra users.
|
||||||
- :ref:`Deactivate users <users/deactivate>` and **reject** the upsell quotation.
|
- :ref:`Deactivate users <users/deactivate>` and **reject** the upsell quotation.
|
||||||
|
|
||||||
.. important::
|
|
||||||
If you are on a monthly subscription plan, the database will automatically update to reflect the
|
|
||||||
added user(s). If you are on a yearly or multi-year plan, an expiration banner will appear in the
|
|
||||||
database. You can create the upsell quotation by clicking the banner to update the subscription
|
|
||||||
or `send a support ticket <https://www.odoo.com/help>`_ to resolve the issue.
|
|
||||||
|
|
||||||
Once your database has the correct number of users, the expiration message disappears automatically
|
Once your database has the correct number of users, the expiration message disappears automatically
|
||||||
after a few days, when the next verification occurs.
|
after a few days, when the next verification occurs.
|
||||||
|
|
||||||
|
@ -33,7 +33,6 @@ In you alias config (:file:`/etc/aliases`):
|
|||||||
- `Postfix aliases <http://www.postfix.org/aliases.5.html>`_
|
- `Postfix aliases <http://www.postfix.org/aliases.5.html>`_
|
||||||
- `Postfix virtual <http://www.postfix.org/virtual.8.html>`_
|
- `Postfix virtual <http://www.postfix.org/virtual.8.html>`_
|
||||||
|
|
||||||
|
|
||||||
For Exim
|
For Exim
|
||||||
--------
|
--------
|
||||||
|
|
||||||
@ -47,5 +46,5 @@ For Exim
|
|||||||
- `Exim <https://www.exim.org/docs.html>`_
|
- `Exim <https://www.exim.org/docs.html>`_
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
If you don't have access/manage your email server, use :ref:`inbound messages
|
If you do not have access/manage your email server, use :ref:`incoming mail servers
|
||||||
<email_communication/inbound_messages>`.
|
<email-inbound-custom-domain-incoming-server>`.
|
||||||
|
@ -132,7 +132,7 @@ be downloaded from the `Odoo download page <https://www.odoo.com/page/download>`
|
|||||||
.. group-tab:: Fedora
|
.. group-tab:: Fedora
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Odoo {CURRENT_MAJOR_VERSION} 'rpm' package supports Fedora 36.
|
Odoo {CURRENT_MAJOR_VERSION} 'rpm' package supports Fedora 38.
|
||||||
|
|
||||||
Once downloaded, the package can be installed using the 'dnf' package manager:
|
Once downloaded, the package can be installed using the 'dnf' package manager:
|
||||||
|
|
||||||
|
@ -31,90 +31,60 @@ This matrix shows the support status of every version.
|
|||||||
- On-Premise
|
- On-Premise
|
||||||
- Release date
|
- Release date
|
||||||
- End of support
|
- End of support
|
||||||
* - Odoo saas~17.2
|
* - Odoo SaaS 18.1
|
||||||
- |green|
|
- |green|
|
||||||
- N/A
|
- N/A
|
||||||
- N/A
|
- N/A
|
||||||
|
- January 2025
|
||||||
|
-
|
||||||
|
* - **Odoo 18.0**
|
||||||
|
- |green|
|
||||||
|
- |green|
|
||||||
|
- |green|
|
||||||
|
- October 2024
|
||||||
|
- October 2027 (planned)
|
||||||
|
* - Odoo SaaS 17.4
|
||||||
|
- |red|
|
||||||
|
- N/A
|
||||||
|
- N/A
|
||||||
|
- July 2024
|
||||||
|
- October 2024
|
||||||
|
* - Odoo SaaS 17.2
|
||||||
|
- |red|
|
||||||
|
- N/A
|
||||||
|
- N/A
|
||||||
- April 2024
|
- April 2024
|
||||||
-
|
- October 2024
|
||||||
* - Odoo saas~17.1
|
|
||||||
- |green|
|
|
||||||
- N/A
|
|
||||||
- N/A
|
|
||||||
- January 2024
|
|
||||||
-
|
|
||||||
* - **Odoo 17.0**
|
* - **Odoo 17.0**
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
- November 2023
|
- November 2023
|
||||||
- October 2026 (planned)
|
- October 2026 (planned)
|
||||||
* - Odoo saas~16.4
|
|
||||||
- |red|
|
|
||||||
- N/A
|
|
||||||
- N/A
|
|
||||||
- August 2023
|
|
||||||
-
|
|
||||||
* - Odoo saas~16.3
|
|
||||||
- |red|
|
|
||||||
- N/A
|
|
||||||
- N/A
|
|
||||||
- June 2023
|
|
||||||
-
|
|
||||||
* - Odoo saas~16.2
|
|
||||||
- |red|
|
|
||||||
- N/A
|
|
||||||
- N/A
|
|
||||||
- March 2023
|
|
||||||
-
|
|
||||||
* - Odoo saas~16.1
|
|
||||||
- |red|
|
|
||||||
- N/A
|
|
||||||
- N/A
|
|
||||||
- February 2023
|
|
||||||
-
|
|
||||||
* - **Odoo 16.0**
|
* - **Odoo 16.0**
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
- |green|
|
- |green|
|
||||||
- October 2022
|
- October 2022
|
||||||
- November 2025 (planned)
|
- October 2025 (planned)
|
||||||
* - Odoo saas~15.2
|
|
||||||
- |red|
|
|
||||||
- N/A
|
|
||||||
- N/A
|
|
||||||
- March 2022
|
|
||||||
- January 2023
|
|
||||||
* - Odoo saas~15.1
|
|
||||||
- |red|
|
|
||||||
- N/A
|
|
||||||
- N/A
|
|
||||||
- February 2022
|
|
||||||
- July 2022
|
|
||||||
* - **Odoo 15.0**
|
* - **Odoo 15.0**
|
||||||
- |green|
|
- |red|
|
||||||
- |green|
|
- |red|
|
||||||
- |green|
|
- |red|
|
||||||
- October 2021
|
- October 2021
|
||||||
- November 2024 (planned)
|
- October 2024
|
||||||
* - **Odoo 14.0**
|
* - **Odoo 14.0**
|
||||||
- |red|
|
- |red|
|
||||||
- |red|
|
- |red|
|
||||||
- |red|
|
- |red|
|
||||||
- October 2020
|
- October 2020
|
||||||
- November 2023
|
- November 2023
|
||||||
* - **Odoo 13.0**
|
|
||||||
- |red|
|
|
||||||
- |red|
|
|
||||||
- |red|
|
|
||||||
- October 2019
|
|
||||||
- October 2022
|
|
||||||
* - Older versions
|
* - Older versions
|
||||||
- |red|
|
- |red|
|
||||||
- |red|
|
- |red|
|
||||||
- |red|
|
- |red|
|
||||||
- Before 2019
|
- Before 2020
|
||||||
- Before 2022
|
- Before 2023
|
||||||
|
|
||||||
.. admonition:: Legend
|
.. admonition:: Legend
|
||||||
|
|
||||||
|
@ -2,31 +2,55 @@
|
|||||||
Upgrade
|
Upgrade
|
||||||
=======
|
=======
|
||||||
|
|
||||||
An upgrade is the process of moving your database from an older version to a newer :doc:`supported
|
An upgrade involves moving a database from an older version to a newer supported version (e.g., from
|
||||||
version <supported_versions>` (e.g., Odoo 14.0 to Odoo 16.0). Frequently upgrading is essential as
|
Odoo 16.0 to Odoo 18.0). Regular upgrades are crucial as each version offers new features, bug
|
||||||
each version comes with new and improved features, bug fixes, and security patches.
|
fixes, and security patches. Using a :doc:`supported version <supported_versions>` is strongly
|
||||||
|
recommended. Each major version is supported for three years.
|
||||||
|
|
||||||
.. _upgrade_faq/rolling_release:
|
Depending on the hosting type and Odoo version used, a database upgrade can be **mandatory**.
|
||||||
|
|
||||||
|
.. tabs::
|
||||||
|
|
||||||
|
.. group-tab:: Odoo Online
|
||||||
|
|
||||||
|
- If a database is on a **major version** (e.g., 16.0, 17.0, 18.0), an upgrade is mandatory
|
||||||
|
every two years.
|
||||||
|
- If a database is on a **minor version** (e.g., 17.1, 17.2, 17.4), an upgrade is mandatory
|
||||||
|
a few weeks after the next version is released. Minor versions are usually released every
|
||||||
|
two months.
|
||||||
|
|
||||||
|
.. group-tab:: Odoo.sh
|
||||||
|
|
||||||
|
After the initial three years of support, you will have another two years to complete the
|
||||||
|
upgrade. You will be notified when an upgrade is required.
|
||||||
|
|
||||||
|
.. image:: upgrade/odoo-sh-message.png
|
||||||
|
:alt: The "unsupported version" popup on Odoo.sh.
|
||||||
|
|
||||||
|
.. group-tab:: On-premise
|
||||||
|
|
||||||
|
You can stay on the same version indefinitely, even if it is not recommended. Note that the
|
||||||
|
smaller the version gap, the easier the upgrade should be.
|
||||||
|
|
||||||
.. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process
|
.. spoiler:: Automatic upgrades: Odoo Online's Rolling Release process
|
||||||
|
|
||||||
The Rolling Release process allows Odoo Online customers to upgrade their database directly from
|
You will receive a notification in your database a few weeks before a mandatory upgrade will be
|
||||||
a message prompt sent to the database administrator as soon as a new version is released. The
|
automatically carried out. You are in control of the process as long as the deadline is not
|
||||||
invitation to upgrade is only sent if no issues are detected during the automatic tests.
|
reached.
|
||||||
|
|
||||||
.. image:: upgrade/rr-upgrade-message.png
|
.. image:: upgrade/rr-upgrade-message.png
|
||||||
:alt: The upgrade message prompt on the top right of the database
|
:alt: The upgrade message prompt on the top right of the database
|
||||||
|
|
||||||
It is strongly recommended to manually :ref:`test the upgrade first <upgrade/test_your_db>`.
|
Concretely, Odoo’s Upgrade Team performs a silent test upgrade of every database that should be
|
||||||
Clicking :guilabel:`I want to test first` redirects to `the database manager
|
upgraded. If the test is successful and lasts less than 20 minutes, you can directly trigger the
|
||||||
<https://www.odoo.com/my/databases/>`_, where it is possible to request an upgraded test database
|
upgrade from the database. If the test fails, you can test an upgrade using the `database manager
|
||||||
and check it for any discrepancies.
|
<https://www.odoo.com/my/databases>`_.
|
||||||
|
|
||||||
It is **not** recommended to click :guilabel:`Upgrade Now` without testing first, as it
|
When you are invited to upgrade, it is strongly recommended to :ref:`request an upgraded test
|
||||||
immediately triggers the live production database upgrade.
|
database <upgrade-request-test>` first and spend time :ref:`testing <upgrade-testing>` it.
|
||||||
|
|
||||||
If the Rolling Release process detects an issue with the upgrade, it will be deactivated until
|
An automatic upgrade to the next version will be triggered if no action is taken before the
|
||||||
the issue is resolved.
|
specified due date.
|
||||||
|
|
||||||
An upgrade does not cover:
|
An upgrade does not cover:
|
||||||
|
|
||||||
@ -40,36 +64,40 @@ An upgrade does not cover:
|
|||||||
If your database contains custom modules, it cannot be upgraded until a version of your custom
|
If your database contains custom modules, it cannot be upgraded until a version of your custom
|
||||||
modules is available for the target version of Odoo. For customers maintaining their own custom
|
modules is available for the target version of Odoo. For customers maintaining their own custom
|
||||||
modules, we recommend to parallelize the process by :ref:`requesting an upgraded database
|
modules, we recommend to parallelize the process by :ref:`requesting an upgraded database
|
||||||
<upgrade/request-test-database>` while also :doc:`upgrading the source code of your custom
|
<upgrade-request-test>` while also :doc:`upgrading the source code of your custom
|
||||||
modules </developer/howtos/upgrade_custom_db>`.
|
modules </developer/howtos/upgrade_custom_db>`.
|
||||||
|
|
||||||
|
.. _upgrade-nutshell:
|
||||||
|
|
||||||
Upgrading in a nutshell
|
Upgrading in a nutshell
|
||||||
-----------------------
|
=======================
|
||||||
|
|
||||||
#. Request an upgraded test database (see :ref:`obtaining an upgraded test database
|
#. Request an upgraded test database (see :ref:`obtaining an upgraded test database
|
||||||
<upgrade/request-test-database>`).
|
<upgrade-request-test>`).
|
||||||
#. If applicable, upgrade the source code of your custom module to be compatible with the new
|
#. If applicable, upgrade the source code of your custom module to be compatible with the new
|
||||||
version of Odoo (see :doc:`/developer/howtos/upgrade_custom_db`).
|
version of Odoo (see :doc:`/developer/howtos/upgrade_custom_db`).
|
||||||
#. Thoroughly test the upgraded database (see :ref:`testing the new version of the database
|
#. Thoroughly test the upgraded database (see :ref:`testing the new version of the database
|
||||||
<upgrade/test_your_db>`).
|
<upgrade-testing>`).
|
||||||
#. Report any issue encountered during the testing to Odoo by `submitting a ticket for an issue
|
#. Report any issue encountered during the testing to Odoo by going to the `Support page and
|
||||||
related to my future upgrade (I am testing an upgrade) <https://odoo.com/help?stage=migration>`_.
|
selecting "An issue related to my future upgrade (I am testing an upgrade)"
|
||||||
|
<https://www.odoo.com/help?stage=migration>`_.
|
||||||
#. Once all issues are resolved and you are confident that the upgraded database can be used as
|
#. Once all issues are resolved and you are confident that the upgraded database can be used as
|
||||||
your main database without any issues, plan the upgrade of your production database.
|
your main database without any issues, plan the upgrade of your production database.
|
||||||
#. Request the upgrade for the production database, rendering it unavailable for the time it takes
|
#. Request the upgrade for the production database, rendering it unavailable for the time it takes
|
||||||
to complete the process (see :ref:`upgrading the production database <upgrade/upgrade-prod>`).
|
to complete the process (see :ref:`upgrading the production database <upgrade-production>`).
|
||||||
#. Report any issue encountered during the upgrade to Odoo by `submitting a ticket for an issue
|
#. Report any issue encountered during the upgrade to Odoo by going to the `Support page and
|
||||||
related to my upgrade (production) <https://odoo.com/help?stage=post_upgrade>`_.
|
selecting "An issue related to my upgrade (production)"
|
||||||
|
<https://www.odoo.com/help?stage=post_upgrade>`_.
|
||||||
|
|
||||||
.. _upgrade/request-test-database:
|
.. _upgrade-request-test:
|
||||||
|
|
||||||
Obtaining an upgraded test database
|
Obtaining an upgraded test database
|
||||||
-----------------------------------
|
===================================
|
||||||
|
|
||||||
The `Upgrade page <https://upgrade.odoo.com/>`_ is the main platform for requesting an upgraded
|
The `Upgrade page <https://upgrade.odoo.com>`_ is the main platform for requesting an upgraded
|
||||||
database. However, depending on the hosting type, you can upgrade from the command line
|
database. However, depending on the hosting type, you can upgrade from the command line
|
||||||
(on-premise), the `Odoo Online database manager <https://odoo.com/my/databases>`_, or your `Odoo.sh
|
(on-premise), the Odoo Online `database manager <https://www.odoo.com/my/databases>`_, or your
|
||||||
project <https://odoo.sh/project>`_.
|
`Odoo.sh project <https://www.odoo.sh/project>`_.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
The Upgrade platform follows the same `Privacy Policy <https://www.odoo.com/privacy>`_ as the
|
The Upgrade platform follows the same `Privacy Policy <https://www.odoo.com/privacy>`_ as the
|
||||||
@ -81,7 +109,7 @@ project <https://odoo.sh/project>`_.
|
|||||||
.. group-tab:: Odoo Online
|
.. group-tab:: Odoo Online
|
||||||
|
|
||||||
Odoo Online databases can be manually upgraded via the `database manager
|
Odoo Online databases can be manually upgraded via the `database manager
|
||||||
<https://odoo.com/my/databases>`_.
|
<https://www.odoo.com/my/databases>`_.
|
||||||
|
|
||||||
The database manager displays all databases associated with the user's account. Databases
|
The database manager displays all databases associated with the user's account. Databases
|
||||||
not on the most recent version of Odoo display an arrow in a circle icon next to their name,
|
not on the most recent version of Odoo display an arrow in a circle icon next to their name,
|
||||||
@ -115,8 +143,7 @@ project <https://odoo.sh/project>`_.
|
|||||||
.. image:: upgrade/odoo-sh-staging.png
|
.. image:: upgrade/odoo-sh-staging.png
|
||||||
:alt: Odoo.sh project and tabs
|
:alt: Odoo.sh project and tabs
|
||||||
|
|
||||||
The **latest production daily automatic backup** is then sent to the `upgrade platform
|
The **latest production daily automatic backup** is then sent to the Upgrade platform.
|
||||||
<https://upgrade.odoo.com>`_.
|
|
||||||
|
|
||||||
Once the upgrade platform is done upgrading the backup and uploading it on the branch, it is
|
Once the upgrade platform is done upgrading the backup and uploading it on the branch, it is
|
||||||
put in a **special mode**: each time a **commit is pushed** on the branch, a **restore
|
put in a **special mode**: each time a **commit is pushed** on the branch, a **restore
|
||||||
@ -142,6 +169,21 @@ project <https://odoo.sh/project>`_.
|
|||||||
|
|
||||||
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
|
$ python <(curl -s https://upgrade.odoo.com/upgrade) test -d <your db name> -t <target version>
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
This command has some requirements on the environment it runs in:
|
||||||
|
|
||||||
|
- Some external commands that must be provided by the operating system, normally found in
|
||||||
|
any Linux distribution (including WSL). An error will be displayed if one or several of
|
||||||
|
them are missing.
|
||||||
|
- The system user that executes the command needs to be configured with access to the
|
||||||
|
database. Please refer to the PostgreSQL documentation of the `client environment
|
||||||
|
<https://www.postgresql.org/docs/current/libpq-envars.html>`_ or the `client password
|
||||||
|
file <https://www.postgresql.org/docs/current/libpq-pgpass.html>`_ for this requirement.
|
||||||
|
- The script needs to be able to reach one or multiple servers of the upgrade platform
|
||||||
|
both on TCP port 443 and to any random TCP port in the range between 32768 and 60999.
|
||||||
|
This can be in conflict with your restrictive firewall and may need an exception added
|
||||||
|
to the firewall configuration.
|
||||||
|
|
||||||
The following command can be used to display the general help and the main commands:
|
The following command can be used to display the general help and the main commands:
|
||||||
|
|
||||||
.. code-block:: console
|
.. code-block:: console
|
||||||
@ -149,7 +191,7 @@ project <https://odoo.sh/project>`_.
|
|||||||
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
|
$ python <(curl -s https://upgrade.odoo.com/upgrade) --help
|
||||||
|
|
||||||
An upgraded test database can also be requested via the `Upgrade page
|
An upgraded test database can also be requested via the `Upgrade page
|
||||||
<https://upgrade.odoo.com/>`_.
|
<https://upgrade.odoo.com>`_.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
In databases where custom modules are installed, their source code must be up-to-date with
|
In databases where custom modules are installed, their source code must be up-to-date with
|
||||||
@ -175,22 +217,20 @@ project <https://odoo.sh/project>`_.
|
|||||||
.. note::
|
.. note::
|
||||||
You can request multiple test databases if you wish to test an upgrade more than once.
|
You can request multiple test databases if you wish to test an upgrade more than once.
|
||||||
|
|
||||||
.. _upgrade/upgrade_report:
|
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
When an upgrade request is completed, an upgrade report is attached to the successful upgrade
|
When an upgrade request is completed, an upgrade report is attached to the successful upgrade
|
||||||
email, and it becomes available in the Discuss app for users who are part of the "Administration
|
email, and it becomes available in the Discuss app for users who are part of the "Administration
|
||||||
/ Settings" group. This report provides important information about the changes introduced by
|
/ Settings" group. This report provides important information about the changes introduced by
|
||||||
the new version.
|
the new version.
|
||||||
|
|
||||||
.. _upgrade/test_your_db:
|
.. _upgrade-testing:
|
||||||
|
|
||||||
Testing the new version of the database
|
Testing the new version of the database
|
||||||
---------------------------------------
|
=======================================
|
||||||
|
|
||||||
It is essential to spend some time testing the upgraded test database to ensure that you are not
|
It is essential to test the upgraded test database to ensure that you are not stuck in your
|
||||||
stuck in your day-to-day activities by a change in views, behavior, or an error message once the
|
day-to-day activities by a change in views, behavior, or an error message once the upgrade goes
|
||||||
upgrade goes live.
|
live.
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
Test databases are neutralized, and some features are disabled to prevent them from impacting the
|
Test databases are neutralized, and some features are disabled to prevent them from impacting the
|
||||||
@ -245,9 +285,10 @@ working correctly and to get more familiar with the new version.
|
|||||||
This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo.
|
This list is **not** exhaustive. Extend the example to your other apps based on your use of Odoo.
|
||||||
|
|
||||||
If you face an issue while testing your upgraded test database, you can request the assistance of
|
If you face an issue while testing your upgraded test database, you can request the assistance of
|
||||||
Odoo by `submitting a ticket for an issue related to my future upgrade (I am testing an upgrade)
|
Odoo by going to the `Support page and selecting "An issue related to my future upgrade (I am
|
||||||
<https://odoo.com/help?stage=migration>`_. In any case, it is essential to report any problem
|
testing an upgrade)" <https://www.odoo.com/help?stage=migration>`_. In any case, it is essential to
|
||||||
encountered during the testing to fix it before upgrading your production database.
|
report any problem encountered during the testing to fix it before upgrading your production
|
||||||
|
database.
|
||||||
|
|
||||||
You might encounter significant differences with standard views, features, fields, and models during
|
You might encounter significant differences with standard views, features, fields, and models during
|
||||||
testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced
|
testing. Those changes cannot be reverted on a case-by-case basis. However, if a change introduced
|
||||||
@ -265,12 +306,12 @@ module to make it compatible with the new version of Odoo.
|
|||||||
- Server actions in the action menu on form views, as well as by selecting multiple records on
|
- Server actions in the action menu on form views, as well as by selecting multiple records on
|
||||||
list views
|
list views
|
||||||
|
|
||||||
.. _upgrade/upgrade-prod:
|
.. _upgrade-production:
|
||||||
|
|
||||||
Upgrading the production database
|
Upgrading the production database
|
||||||
---------------------------------
|
=================================
|
||||||
|
|
||||||
Once the :ref:`tests <upgrade/test_your_db>` are completed and you are confident that the upgraded
|
Once the :ref:`tests <upgrade-testing>` are completed and you are confident that the upgraded
|
||||||
database can be used as your main database without any issues, it is time to plan the go-live day.
|
database can be used as your main database without any issues, it is time to plan the go-live day.
|
||||||
|
|
||||||
Your production database will be unavailable during its upgrade. Therefore, we recommend planning
|
Your production database will be unavailable during its upgrade. Therefore, we recommend planning
|
||||||
@ -288,15 +329,15 @@ day before upgrading the production database is also recommended.**
|
|||||||
- Business interruptions (e.g., no longer having the possibility to validate an action)
|
- Business interruptions (e.g., no longer having the possibility to validate an action)
|
||||||
- Poor customer experience (e.g., an eCommerce website that does not work correctly)
|
- Poor customer experience (e.g., an eCommerce website that does not work correctly)
|
||||||
|
|
||||||
The process of upgrading a production database is similar to upgrading a test database with a few
|
The process of upgrading a production database is similar to upgrading a test database, but with a
|
||||||
exceptions.
|
few exceptions.
|
||||||
|
|
||||||
.. tabs::
|
.. tabs::
|
||||||
|
|
||||||
.. group-tab:: Odoo Online
|
.. group-tab:: Odoo Online
|
||||||
|
|
||||||
The process is similar to :ref:`obtaining an upgraded test database
|
The process is similar to :ref:`obtaining an upgraded test database
|
||||||
<upgrade/request-test-database>`, except for the purpose option, which must be set to
|
<upgrade-request-test>`, except for the purpose option, which must be set to
|
||||||
:guilabel:`Production` instead of :guilabel:`Test`.
|
:guilabel:`Production` instead of :guilabel:`Test`.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
@ -306,8 +347,8 @@ exceptions.
|
|||||||
|
|
||||||
.. group-tab:: Odoo.sh
|
.. group-tab:: Odoo.sh
|
||||||
|
|
||||||
The process is similar to :ref:`obtaining an upgraded test database
|
The process is similar to :ref:`obtaining an upgraded test database <upgrade-request-test>` on
|
||||||
<upgrade/request-test-database>` on the :guilabel:`Production` branch.
|
the :guilabel:`Production` branch.
|
||||||
|
|
||||||
.. image:: upgrade/odoo-sh-prod.png
|
.. image:: upgrade/odoo-sh-prod.png
|
||||||
:alt: View from the upgrade tab
|
:alt: View from the upgrade tab
|
||||||
@ -337,7 +378,8 @@ exceptions.
|
|||||||
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
|
$ python <(curl -s https://upgrade.odoo.com/upgrade) production -d <your db name> -t <target version>
|
||||||
|
|
||||||
An upgraded production database can also be requested via the `Upgrade page
|
An upgraded production database can also be requested via the `Upgrade page
|
||||||
<https://upgrade.odoo.com/>`_.
|
<https://upgrade.odoo.com>`_.
|
||||||
|
|
||||||
Once the database is uploaded, any modification to your production database will **not** be
|
Once the database is uploaded, any modification to your production database will **not** be
|
||||||
present on your upgraded database. This is why we recommend not using it during the upgrade
|
present on your upgraded database. This is why we recommend not using it during the upgrade
|
||||||
process.
|
process.
|
||||||
@ -347,14 +389,14 @@ exceptions.
|
|||||||
a filestore. Therefore, the upgraded database filestore must be merged with the production
|
a filestore. Therefore, the upgraded database filestore must be merged with the production
|
||||||
filestore before deploying the new version.
|
filestore before deploying the new version.
|
||||||
|
|
||||||
In case of an issue with your production database, you can request the assistance of Odoo by
|
In case of an issue with your production database, you can request the assistance of Odoo by going
|
||||||
`submitting a ticket for an issue related to my upgrade (production)
|
to the `Support page and selecting "An issue related to my upgrade (production)"
|
||||||
<https://odoo.com/help?stage=post_upgrade>`_.
|
<https://www.odoo.com/help?stage=post_upgrade>`_.
|
||||||
|
|
||||||
.. _upgrade/sla:
|
.. _upgrade-sla:
|
||||||
|
|
||||||
Service-level agreement (SLA)
|
Service-level agreement (SLA)
|
||||||
-----------------------------
|
=============================
|
||||||
|
|
||||||
With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including
|
With Odoo Enterprise, upgrading a database to the most recent version of Odoo is **free**, including
|
||||||
any support required to rectify potential discrepancies in the upgraded database.
|
any support required to rectify potential discrepancies in the upgraded database.
|
||||||
@ -363,8 +405,10 @@ Information about the upgrade services included in the Enterprise Licence is ava
|
|||||||
:ref:`Odoo Enterprise Subscription Agreement <upgrade>`. However, this section clarifies what
|
:ref:`Odoo Enterprise Subscription Agreement <upgrade>`. However, this section clarifies what
|
||||||
upgrade services you can expect.
|
upgrade services you can expect.
|
||||||
|
|
||||||
|
.. _upgrade-sla-covered:
|
||||||
|
|
||||||
Upgrade services covered by the SLA
|
Upgrade services covered by the SLA
|
||||||
===================================
|
-----------------------------------
|
||||||
|
|
||||||
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
|
Databases hosted on Odoo's cloud platforms (Odoo Online and Odoo.sh) or self-hosted (On-Premise) can
|
||||||
benefit from upgrade services at all times for:
|
benefit from upgrade services at all times for:
|
||||||
@ -378,16 +422,16 @@ benefit from upgrade services at all times for:
|
|||||||
Upgrade services are limited to the technical conversion and adaptation of a database (standard
|
Upgrade services are limited to the technical conversion and adaptation of a database (standard
|
||||||
modules and data) to make it compatible with the version targeted by the upgrade.
|
modules and data) to make it compatible with the version targeted by the upgrade.
|
||||||
|
|
||||||
|
.. _upgrade-sla-not-covered:
|
||||||
|
|
||||||
Upgrade services not covered by the SLA
|
Upgrade services not covered by the SLA
|
||||||
=======================================
|
---------------------------------------
|
||||||
|
|
||||||
The following upgrade-related services are **not** included:
|
The following upgrade-related services are **not** included:
|
||||||
|
|
||||||
- the **cleaning** of pre-existing data and configurations while upgrading;
|
- the **cleaning** of pre-existing data and configurations while upgrading;
|
||||||
- the upgrade of **custom modules created in-house or by third parties**, including Odoo partners;
|
- the upgrade of **additional modules not covered by a maintenance contract** that are created
|
||||||
- lines of **code added to standard modules**, i.e., customizations created outside the Studio app,
|
in-house or by third parties, including Odoo partners; and
|
||||||
code entered manually, and :ref:`automated actions using Python code
|
|
||||||
<studio/automated-actions/action>`; and
|
|
||||||
- **training** on using the upgraded version's features and workflows.
|
- **training** on using the upgraded version's features and workflows.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
|
BIN
content/administration/upgrade/odoo-sh-message.png
Normal file
After Width: | Height: | Size: 14 KiB |
Before Width: | Height: | Size: 22 KiB After Width: | Height: | Size: 14 KiB |
@ -10,3 +10,4 @@ Odoo essentials
|
|||||||
essentials/contacts
|
essentials/contacts
|
||||||
essentials/export_import_data
|
essentials/export_import_data
|
||||||
essentials/in_app_purchase
|
essentials/in_app_purchase
|
||||||
|
essentials/keyboard_shortcuts
|
||||||
|
@ -2,6 +2,9 @@
|
|||||||
Export and import data
|
Export and import data
|
||||||
======================
|
======================
|
||||||
|
|
||||||
|
.. |list| replace:: :icon:`oi-view-list` :guilabel:`(list)` icon
|
||||||
|
.. |actions| replace:: :icon:`fa-cog` :guilabel:`Actions`
|
||||||
|
|
||||||
In Odoo, it is sometimes necessary to export or import data for running reports, or for data
|
In Odoo, it is sometimes necessary to export or import data for running reports, or for data
|
||||||
modification. This document covers the export and import of data into and out of Odoo.
|
modification. This document covers the export and import of data into and out of Odoo.
|
||||||
|
|
||||||
@ -20,9 +23,9 @@ can aid in reporting on activities, although, Odoo provides a precise and easy r
|
|||||||
each available application.
|
each available application.
|
||||||
|
|
||||||
With Odoo, the values can be exported from any field in any record. To do so, activate the list view
|
With Odoo, the values can be exported from any field in any record. To do so, activate the list view
|
||||||
(:guilabel:`≣ (four horizontal lines)` icon), on the items that need to be exported, and then
|
(|list|), on the items that need to be exported, then select the records that should be exported. To
|
||||||
select the records that should be exported. To select a record, tick the checkbox next to the
|
select a record, tick the checkbox next to the corresponding record. Finally, click on |actions|,
|
||||||
corresponding record. Finally, click on :guilabel:`⚙️ Action`, and then :guilabel:`Export`.
|
then :guilabel:`Export`.
|
||||||
|
|
||||||
.. image:: export_import_data/list-view-export.png
|
.. image:: export_import_data/list-view-export.png
|
||||||
:align: center
|
:align: center
|
||||||
@ -36,9 +39,10 @@ several options for the data to export:
|
|||||||
:alt: Overview of options to consider when exporting data in Odoo..
|
:alt: Overview of options to consider when exporting data in Odoo..
|
||||||
|
|
||||||
#. With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system
|
#. With the :guilabel:`I want to update data (import-compatable export)` option ticked, the system
|
||||||
only shows the fields that can be imported. This is helpful in the case where the existing
|
only shows the fields that can be imported. This is helpful in the case where the :ref:`existing
|
||||||
records need to be updated. This works like a filter. Leaving the box unticked, gives many more
|
records need to be updated <essentials/update-data>`. This works like a filter. Leaving the box
|
||||||
field options because it shows all the fields, not just the ones that can be imported.
|
unticked, gives many more field options because it shows all the fields, not just the ones that
|
||||||
|
can be imported.
|
||||||
#. When exporting, there is the option to export in two formats: `.csv` and `.xls`. With `.csv`,
|
#. When exporting, there is the option to export in two formats: `.csv` and `.xls`. With `.csv`,
|
||||||
items are separated by a comma, while `.xls` holds information about all the worksheets in a
|
items are separated by a comma, while `.xls` holds information about all the worksheets in a
|
||||||
file, including both content and formatting.
|
file, including both content and formatting.
|
||||||
@ -70,7 +74,8 @@ Import data into Odoo
|
|||||||
=====================
|
=====================
|
||||||
|
|
||||||
Importing data into Odoo is extremely helpful during implementation, or in times where data needs to
|
Importing data into Odoo is extremely helpful during implementation, or in times where data needs to
|
||||||
be updated in bulk. The following documentation covers how to import data into an Odoo database.
|
be :ref:`updated in bulk <essentials/update-data>`. The following documentation covers how to import
|
||||||
|
data into an Odoo database.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
Imports are permanent and **cannot** be undone. However, it is possible to use filters (`created
|
Imports are permanent and **cannot** be undone. However, it is possible to use filters (`created
|
||||||
@ -158,6 +163,9 @@ Once the template is downloaded, proceed to follow these steps:
|
|||||||
using the fields that should be imported. This way, if there is not a sample import template,
|
using the fields that should be imported. This way, if there is not a sample import template,
|
||||||
the names are accurate.
|
the names are accurate.
|
||||||
|
|
||||||
|
|
||||||
|
.. _essentials/external-id:
|
||||||
|
|
||||||
Import from another application
|
Import from another application
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
@ -166,7 +174,8 @@ from previous software to facilitate the transition to Odoo.
|
|||||||
|
|
||||||
Setting an ID is not mandatory when importing, but it helps in many cases:
|
Setting an ID is not mandatory when importing, but it helps in many cases:
|
||||||
|
|
||||||
- Update imports: import the same file several times without creating duplicates.
|
- :ref:`Update imports <essentials/update-data>`: import the same file several times without
|
||||||
|
creating duplicates.
|
||||||
- :ref:`Import relation fields <export_import_data/relation-fields>`.
|
- :ref:`Import relation fields <export_import_data/relation-fields>`.
|
||||||
|
|
||||||
To recreate relationships between different records, the unique identifier from the original
|
To recreate relationships between different records, the unique identifier from the original
|
||||||
@ -176,10 +185,7 @@ When another record is imported that links to the first one, use **XXX/ID** (XXX
|
|||||||
the original unique identifier. This record can also be found using its name.
|
the original unique identifier. This record can also be found using its name.
|
||||||
|
|
||||||
.. warning::
|
.. warning::
|
||||||
It should be noted that there will be a conflict if two or more records have the same name.
|
It should be noted that conflicts occur if two (or more) records have the same *External ID*.
|
||||||
|
|
||||||
The :guilabel:`External ID` (ID) can also be used to update the original import, if modified data
|
|
||||||
needs to be re-imported later, therefore, it is a good practice to specify it whenever possible.
|
|
||||||
|
|
||||||
Field missing to map column
|
Field missing to map column
|
||||||
---------------------------
|
---------------------------
|
||||||
@ -476,3 +482,43 @@ The two files produced are ready to be imported in Odoo without any modification
|
|||||||
imported these two :abbr:`CSV (Comma-separated Values)` files, there are four contacts and three
|
imported these two :abbr:`CSV (Comma-separated Values)` files, there are four contacts and three
|
||||||
companies (the first two contacts are linked to the first company). Keep in mind to first import
|
companies (the first two contacts are linked to the first company). Keep in mind to first import
|
||||||
the companies, and then the people.
|
the companies, and then the people.
|
||||||
|
|
||||||
|
.. _essentials/update-data:
|
||||||
|
|
||||||
|
Update data in Odoo
|
||||||
|
===================
|
||||||
|
|
||||||
|
Existing data can be updated in bulk through a data import, as long as the :ref:`External ID
|
||||||
|
<essentials/external-id>` remains consistent.
|
||||||
|
|
||||||
|
Prepare data export
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
To update data through an import, first navigate to the data to be updated, and select the |list| to
|
||||||
|
activate list view. On the far-left side of the list, tick the checkbox for any record to be
|
||||||
|
updated. Then, click |actions|, and select :icon:`fa-upload` :guilabel:`Export` from the drop-down
|
||||||
|
menu.
|
||||||
|
|
||||||
|
On the resulting :guilabel:`Export Data` pop-up window, tick the checkbox labeled, :guilabel:`I want
|
||||||
|
to update data (import-compatible export)`. This automatically includes the *External ID* in the
|
||||||
|
export. Additionally, it limits the :guilabel:`Fields to export` list to **only** include fields
|
||||||
|
that are able to be imported.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
The :guilabel:`External ID` field does **not** appear in the :guilabel:`Fields to export` list
|
||||||
|
unless it is manually added, but it is still included in the export. However, if the :guilabel:`I
|
||||||
|
want to update data (import-compatible export)` checkbox is ticked, it is included in the export.
|
||||||
|
|
||||||
|
Select the required fields to be included in the export using the :ref:`options <export-data>` on
|
||||||
|
the pop-up window, then click :guilabel:`Export`.
|
||||||
|
|
||||||
|
Import updated data
|
||||||
|
-------------------
|
||||||
|
|
||||||
|
After exporting, make any necessary changes to the data file. When the file is ready, it can be
|
||||||
|
:ref:`imported <import-data>` by following the same process as a normal data import.
|
||||||
|
|
||||||
|
.. danger::
|
||||||
|
When updating data, it is extremely important that the *External ID* remain consistent, as
|
||||||
|
this is how the system identifies a record. If an ID is altered, or removed, the system may add a
|
||||||
|
duplicate record, instead of updating the existing one.
|
||||||
|
@ -89,7 +89,7 @@ settings. To use a service, simply interact with it wherever it appears in the d
|
|||||||
- :doc:`Lead mining <../sales/crm/acquire_leads/lead_mining>`
|
- :doc:`Lead mining <../sales/crm/acquire_leads/lead_mining>`
|
||||||
- :doc:`Enrich your contacts base with Partner Autocomplete
|
- :doc:`Enrich your contacts base with Partner Autocomplete
|
||||||
<../sales/crm/optimize/partner_autocomplete>`
|
<../sales/crm/optimize/partner_autocomplete>`
|
||||||
- :doc:`SMS essentials <../marketing/sms_marketing/essentials/sms_essentials>`
|
- :doc:`SMS Marketing <../marketing/sms_marketing>`
|
||||||
|
|
||||||
.. _in_app_purchase/credits:
|
.. _in_app_purchase/credits:
|
||||||
|
|
||||||
@ -119,7 +119,7 @@ Credits are purchased in *Packs* from the `Odoo IAP Catalog
|
|||||||
The number of credits consumed depends on the length of the SMS and the country of destination.
|
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
|
For more information, refer to the :doc:`SMS Pricing and FAQ
|
||||||
<../marketing/sms_marketing/pricing/pricing_and_faq>` documentation.
|
<../marketing/sms_marketing/pricing_and_faq>` documentation.
|
||||||
|
|
||||||
.. _iap/buying_credits:
|
.. _iap/buying_credits:
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 8.7 KiB |
Before Width: | Height: | Size: 3.4 KiB |
86
content/applications/essentials/keyboard_shortcuts.rst
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
==================
|
||||||
|
Keyboard shortcuts
|
||||||
|
==================
|
||||||
|
|
||||||
|
Users in Odoo can utilize several keyboard shortcuts to navigate through modules, execute actions,
|
||||||
|
and manage data.
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
Hold :kbd:`Ctrl` to view the keyboard shortcuts assigned to each element on the interface.
|
||||||
|
|
||||||
|
.. image:: keyboard_shortcuts/menu-shortcuts.png
|
||||||
|
:align: center
|
||||||
|
:alt: A selection of keyboard shortcuts in Odoo.
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
Some keyboard shortcuts may not be available on different versions of Odoo or effective depending
|
||||||
|
on browsers, extensions, or other individual settings.
|
||||||
|
|
||||||
|
Keyboard shortcuts by operating system
|
||||||
|
======================================
|
||||||
|
|
||||||
|
Below is a list of some of the most commonly used keyboard shortcuts within Odoo, listed by
|
||||||
|
operating system.
|
||||||
|
|
||||||
|
.. list-table::
|
||||||
|
:header-rows: 1
|
||||||
|
:stub-columns: 1
|
||||||
|
|
||||||
|
* - Description
|
||||||
|
- Windows / Linux
|
||||||
|
- macOS
|
||||||
|
* - Previous breadcrumb
|
||||||
|
- :kbd:`Alt` + :kbd:`B`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`B`
|
||||||
|
* - Create new record
|
||||||
|
- :kbd:`Alt` + :kbd:`C`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`C`
|
||||||
|
* - Odoo Home Page
|
||||||
|
- :kbd:`Alt` + :kbd:`H`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`H`
|
||||||
|
* - Discard changes
|
||||||
|
- :kbd:`Alt` + :kbd:`J`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`J`
|
||||||
|
* - Save changes
|
||||||
|
- :kbd:`Alt` + :kbd:`S`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`S`
|
||||||
|
* - Next page
|
||||||
|
- :kbd:`Alt` + :kbd:`N`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`N`
|
||||||
|
* - Previous page
|
||||||
|
- :kbd:`Alt` + :kbd:`P`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`P`
|
||||||
|
* - Search
|
||||||
|
- :kbd:`Alt` + :kbd:`Q`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`Q`
|
||||||
|
* - Select menus
|
||||||
|
- :kbd:`Alt` + :kbd:`1-9`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`1-9`
|
||||||
|
* - Create a new To-Do
|
||||||
|
- :kbd:`Alt` + :kbd:`Shift` + :kbd:`T`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`Shift` + :kbd:`T`
|
||||||
|
* - Search a Knowledge article
|
||||||
|
- :kbd:`Alt` + :kbd:`F`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`F`
|
||||||
|
* - Share a Knowledge article
|
||||||
|
- :kbd:`Alt` + :kbd:`Shift` + :kbd:`S`
|
||||||
|
- :kbd:`Ctrl` + :kbd:`Shift` + :kbd:`S`
|
||||||
|
* - Open command palette
|
||||||
|
- :kbd:`Ctrl` + :kbd:`K`
|
||||||
|
- :kbd:`Command` + :kbd:`K`
|
||||||
|
|
||||||
|
.. tip::
|
||||||
|
After opening the command palette, search using the following keyboard shortcuts:
|
||||||
|
|
||||||
|
- :kbd:`/`: search for menus, applications, and modules.
|
||||||
|
- :kbd:`@`: search for users.
|
||||||
|
- :kbd:`#`: search for **Discuss** channels.
|
||||||
|
- :kbd:`?`: search for **Knowledge** articles.
|
||||||
|
|
||||||
|
Enter a name (or term) in the search bar, or use the arrow keys to scroll through the available
|
||||||
|
options. Then, click :kbd:`Ctrl` + :kbd:`Enter` to open the selected app, module, or menu in a
|
||||||
|
new tab.
|
||||||
|
|
||||||
|
.. image:: keyboard_shortcuts/command-palete.png
|
||||||
|
:align: center
|
||||||
|
:alt: The command palette in Odoo, with the menu search option selected.
|
After Width: | Height: | Size: 15 KiB |
After Width: | Height: | Size: 5.7 KiB |
@ -181,6 +181,75 @@ It is possible to *customize groups* by using a field present on the model. To d
|
|||||||
cluster, the next one that is added further divides the main group's categories, and so on.
|
cluster, the next one that is added further divides the main group's categories, and so on.
|
||||||
Furthermore, filters and groups can be used together to refine the view even more.
|
Furthermore, filters and groups can be used together to refine the view even more.
|
||||||
|
|
||||||
|
.. _search/comparison:
|
||||||
|
|
||||||
|
Comparison
|
||||||
|
==========
|
||||||
|
|
||||||
|
Certain reporting dashboards include a :guilabel:`Comparison` section in the drop-down menus of
|
||||||
|
their :guilabel:`Search...` bars. This includes the :doc:`Overall Equipment Effectiveness
|
||||||
|
<../inventory_and_mrp/manufacturing/reporting/oee>` report for the *Manufacturing* app, and the
|
||||||
|
:doc:`Purchase <../inventory_and_mrp/purchase/advanced/analyze>` report for the *Purchase* app,
|
||||||
|
among others.
|
||||||
|
|
||||||
|
The options in the :icon:`fa-adjust` :guilabel:`Comparison` section are used to compare data from
|
||||||
|
two different time periods. There are two comparison options to choose from: :guilabel:`(Time
|
||||||
|
Filter): Previous Period` and :guilabel:`(Time Filter): Previous Year`.
|
||||||
|
|
||||||
|
.. important::
|
||||||
|
For some reports, the :guilabel:`Comparison` section **only** appears in the
|
||||||
|
:guilabel:`Search...` bar drop-down menu if one (or more) time periods have been selected in the
|
||||||
|
:guilabel:`Filters` column. This is because, if no time period is specified, there is nothing to
|
||||||
|
compare.
|
||||||
|
|
||||||
|
Additionally, some reports only allow use of the :guilabel:`Comparison` feature when the
|
||||||
|
:icon:`fa-pie-chart` :guilabel:`(pie chart)` graph type, or the :icon:`oi-view-pivot`
|
||||||
|
:guilabel:`(pivot)` view, is selected. A :guilabel:`Comparison` option can be selected even if
|
||||||
|
another view is enabled, but doing so does **not** change the way data is displayed on the
|
||||||
|
report.
|
||||||
|
|
||||||
|
.. image:: search/comparison-section.png
|
||||||
|
:align: center
|
||||||
|
:alt: The Search... bar for the production analysis report.
|
||||||
|
|
||||||
|
To view data using one of the two comparisons, begin by selecting a time period in the
|
||||||
|
:guilabel:`Filters` column of the :guilabel:`Search...` bar drop-down menu. Then, select either
|
||||||
|
:guilabel:`(Time Filter): Previous Period` or :guilabel:`(Time Filter): Previous Year` in the
|
||||||
|
:guilabel:`Comparison` section.
|
||||||
|
|
||||||
|
With one of the :guilabel:`Comparison` options enabled, the report compares the data for the
|
||||||
|
selected period, with the data for the same unit of time (month, quarter, year), one period or year
|
||||||
|
prior. The way the data is displayed depends on the selected view:
|
||||||
|
|
||||||
|
- The :icon:`fa-bar-chart` :guilabel:`(bar chart)` shows two bars, side-by-side, for each unit of
|
||||||
|
time for the selected time period. The left bar represents the selected time period, while the
|
||||||
|
right bar represents the previous time period.
|
||||||
|
- The :icon:`fa-line-chart` :guilabel:`(line chart)` is displayed with two lines, one representing
|
||||||
|
the selected time period, and the other representing the previous time period.
|
||||||
|
- The :icon:`fa-pie-chart` :guilabel:`(pie chart)` appears as a large circle with a smaller circle
|
||||||
|
inside. The larger circle represents the selected time period, while the smaller circle represents
|
||||||
|
the previous time period.
|
||||||
|
- The :icon:`oi-view-pivot` :guilabel:`(pivot table)` is displayed with each column split into two
|
||||||
|
smaller columns. The right column represents the selected time period, while the left column
|
||||||
|
represents the previous time period.
|
||||||
|
|
||||||
|
.. example::
|
||||||
|
In the :guilabel:`Production Analysis` report of the :menuselection:`Manufacturing` app, data for
|
||||||
|
the second quarter of 2024 is compared to data for the second quarter of 2023. :guilabel:`Q2` is
|
||||||
|
selected in the :guilabel:`End Date` filter section of the :guilabel:`Search...` bar drop-down
|
||||||
|
menu. In the :guilabel:`Comparison` section, :guilabel:`End Date: Previous Year` is selected.
|
||||||
|
|
||||||
|
The current year is 2024, so the larger circle shows data for the second quarter (Q2) of 2024.
|
||||||
|
The smaller circle shows data for the second quarter (Q2) of 2023, which is the same time period,
|
||||||
|
but one *year* prior.
|
||||||
|
|
||||||
|
If :guilabel:`End Date: Previous Period` is selected instead, the smaller circle shows data for
|
||||||
|
the first quarter (Q1) of 2024, which is the same time period, but one *period* prior.
|
||||||
|
|
||||||
|
.. image:: search/comparison.png
|
||||||
|
:align: center
|
||||||
|
:alt: The comparison view of the Production Analysis report.
|
||||||
|
|
||||||
.. _search/favorites:
|
.. _search/favorites:
|
||||||
|
|
||||||
Favorites
|
Favorites
|
||||||
|
BIN
content/applications/essentials/search/comparison-section.png
Normal file
After Width: | Height: | Size: 11 KiB |
BIN
content/applications/essentials/search/comparison.png
Normal file
After Width: | Height: | Size: 31 KiB |
@ -211,7 +211,7 @@ available methods are standard price, average price, :abbr:`LIFO (Last-In, First
|
|||||||
:abbr:`FIFO (First-In, First-Out).`
|
:abbr:`FIFO (First-In, First-Out).`
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
:doc:`../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config`
|
:doc:`../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config`
|
||||||
|
|
||||||
Retained earnings
|
Retained earnings
|
||||||
=================
|
=================
|
||||||
|
@ -36,6 +36,8 @@ follow the instructions.
|
|||||||
.. seealso::
|
.. seealso::
|
||||||
:doc:`bank/bank_synchronization`
|
:doc:`bank/bank_synchronization`
|
||||||
|
|
||||||
|
.. _bank_accounts/create:
|
||||||
|
|
||||||
Create a bank account
|
Create a bank account
|
||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
@ -108,6 +110,8 @@ You can edit the currency used to enter the statements.
|
|||||||
.. seealso::
|
.. seealso::
|
||||||
:doc:`get_started/multi_currency`
|
:doc:`get_started/multi_currency`
|
||||||
|
|
||||||
|
.. _accounting/bank/account-number:
|
||||||
|
|
||||||
Account number
|
Account number
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
@ -191,4 +195,3 @@ Payments` tab. To display the outstanding accounts column, click on the toggle b
|
|||||||
bank/reconciliation
|
bank/reconciliation
|
||||||
bank/reconciliation_models
|
bank/reconciliation_models
|
||||||
bank/foreign_currency
|
bank/foreign_currency
|
||||||
bank/cash_register
|
|
||||||
|
@ -42,7 +42,7 @@ First synchronization
|
|||||||
---------------------
|
---------------------
|
||||||
|
|
||||||
You can start synchronization either by going to the Accounting app and
|
You can start synchronization either by going to the Accounting app and
|
||||||
:menuselection:`Accounting Dashboard --> Configuration --> Banks: Add a Bank Account`.
|
:menuselection:`Accounting --> Configuration --> Add a Bank Account`.
|
||||||
|
|
||||||
Now you can search for your bank institution. Select it and follow the steps to synchronize with it.
|
Now you can search for your bank institution. Select it and follow the steps to synchronize with it.
|
||||||
|
|
||||||
@ -70,19 +70,19 @@ By default, transactions fetched from an online source are grouped inside the sa
|
|||||||
one bank statement is created per month. You can change the bank statement creation periodicity
|
one bank statement is created per month. You can change the bank statement creation periodicity
|
||||||
in your journal settings.
|
in your journal settings.
|
||||||
|
|
||||||
You can find all your synchronizations by going to :menuselection:`Accounting Dashboard -->
|
To view all your synchronizations, activate the :ref:`developer mode <developer-mode>` and go to
|
||||||
Configuration --> Accounting: Online Synchronization`.
|
:menuselection:`Accounting --> Configuration --> Online Synchronization`.
|
||||||
|
|
||||||
Synchronize manually
|
Synchronize manually
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
After your first synchronization, the created journals are synchronized by default every 12 hours.
|
After your first synchronization, the created journals are synchronized by default every 12 hours.
|
||||||
If you wish, you can synchronize manually by clicking on the :guilabel:`Synchronize Now` button on
|
If you wish, you can synchronize them manually by clicking on the :guilabel:`Synchronize Now` button
|
||||||
the dashboard.
|
on the dashboard.
|
||||||
|
|
||||||
Or you can go to :menuselection:`Accounting Dashboard --> Configuration -->
|
Alternatively, activate the :ref:`developer mode <developer-mode>`, go to
|
||||||
Accounting: Online Synchronization`, select your institution and then click on the
|
:menuselection:`Accounting --> Configuration --> Online Synchronization`, select your institution,
|
||||||
:guilabel:`fetch transactions` button.
|
and then click the :guilabel:`Fetch transactions` button.
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
Some institutions do not allow transactions to be fetched automatically. For such institutions,
|
Some institutions do not allow transactions to be fetched automatically. For such institutions,
|
||||||
@ -96,9 +96,10 @@ Issues
|
|||||||
Synchronization in error
|
Synchronization in error
|
||||||
------------------------
|
------------------------
|
||||||
|
|
||||||
To report a connection error to the `Odoo support <https://www.odoo.com/help>`_, go to
|
To report a connection error to the `Odoo support <https://www.odoo.com/help>`_, activate the
|
||||||
:menuselection:`Accounting Dashboard--> Configuration --> Accounting: Online Synchronization`,
|
:ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration -->
|
||||||
select the connection that failed, and copy the error description and the reference.
|
Online Synchronization`, select the connection that failed, and copy the error description and the
|
||||||
|
reference.
|
||||||
|
|
||||||
Synchronization disconnected
|
Synchronization disconnected
|
||||||
----------------------------
|
----------------------------
|
||||||
@ -128,14 +129,14 @@ Finally, make sure all your users refresh their Odoo page by pressing CTRL+F5.
|
|||||||
|
|
||||||
.. Note::
|
.. Note::
|
||||||
|
|
||||||
- All previous synchronizations are disconnected during the installation and won't work anymore.
|
- All previous synchronizations are disconnected during the installation and will not work
|
||||||
- You can find them directly in the synchronization menu
|
anymore. To view them, activate the :ref:`developer mode <developer-mode>` and go to
|
||||||
(:menuselection:`Accounting Dashboard --> Configuration -->
|
:menuselection:`Accounting --> Configuration --> Online Synchronization`). It is not possible
|
||||||
Accounting: Online Synchronization`). It is not possible to resynchronize these connections;
|
to resynchronize these connections; you have to make new ones.
|
||||||
you have to make new ones.
|
- Do not uninstall the `account_online_sync` module, which is the previous module for online
|
||||||
- Do not uninstall `account_online_sync`, which is the previous module for online
|
|
||||||
synchronization. The new one overrides it.
|
synchronization. The new one overrides it.
|
||||||
- By default, `account_online_synchronization` is installed automatically with Accounting.
|
- By default, the `account_online_synchronization` module is installed automatically with
|
||||||
|
Accounting.
|
||||||
|
|
||||||
FAQ
|
FAQ
|
||||||
===
|
===
|
||||||
@ -145,11 +146,11 @@ The synchronization is not working in real-time. Is that normal?
|
|||||||
|
|
||||||
The process is not intended to work in real-time as third party providers synchronize your accounts
|
The process is not intended to work in real-time as third party providers synchronize your accounts
|
||||||
at different intervals. To force the synchronization and fetch the statements, go to your
|
at different intervals. To force the synchronization and fetch the statements, go to your
|
||||||
:guilabel:`Accounting Dashboard`, and click on the :guilabel:`Synchronize Now` button. You can also
|
:guilabel:`Accounting Dashboard`, and click on the :guilabel:`Synchronize Now` button. Synchronize
|
||||||
synchronize and fetch transactions through :menuselection:`Accounting Dashboard -->
|
and fetch transactions by activating the :ref:`developer mode <developer-mode>` and going to
|
||||||
Configuration --> Accounting: Online Synchronization`. Some providers only allow one refresh per
|
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Some providers only allow
|
||||||
day, so it is possible that clicking on :guilabel:`Synchronize Now` does not get your latest
|
one refresh per day, so it is possible that clicking on :guilabel:`Synchronize Now` does not get
|
||||||
transactions if you already performed such action earlier in the day.
|
your latest transactions if you already performed such action earlier in the day.
|
||||||
|
|
||||||
A transaction can be visible on your bank account but not be fetched if it has the status
|
A transaction can be visible on your bank account but not be fetched if it has the status
|
||||||
:guilabel:`Pending`. Only transactions with the :guilabel:`Posted` status will be retrieved. If the
|
:guilabel:`Pending`. Only transactions with the :guilabel:`Posted` status will be retrieved. If the
|
||||||
@ -158,9 +159,9 @@ transaction is not **Posted** yet, you will have to wait until the status change
|
|||||||
Is the Online Bank Synchronization feature included in my contract?
|
Is the Online Bank Synchronization feature included in my contract?
|
||||||
-------------------------------------------------------------------
|
-------------------------------------------------------------------
|
||||||
|
|
||||||
- **Community Version**: No, this feature is not included in the Community Version.
|
- **Community Edition**: No, this feature is not included in the Community Version.
|
||||||
- **Online Version**: Yes, even if you benefit from the One App Free contract.
|
- **Online Edition**: Yes, even if you benefit from the One App Free contract.
|
||||||
- **Enterprise Version**: Yes, if you have a valid enterprise contract linked to your database.
|
- **Enterprise Edition**: Yes, if you have a valid enterprise contract linked to your database.
|
||||||
|
|
||||||
Some banks have a status "Beta." What does this mean?
|
Some banks have a status "Beta." What does this mean?
|
||||||
-----------------------------------------------------
|
-----------------------------------------------------
|
||||||
@ -186,9 +187,9 @@ Why don't I see any transactions?
|
|||||||
---------------------------------
|
---------------------------------
|
||||||
|
|
||||||
During your first synchronization, you selected the bank accounts you decided to synchronize with
|
During your first synchronization, you selected the bank accounts you decided to synchronize with
|
||||||
Odoo. If you didn't synchronize any of your accounts, you can go to
|
Odoo. If you didn't synchronize any of your accounts, activate the :ref:`developer mode
|
||||||
:menuselection:`Accounting Dashboard --> Configuration --> Accounting: Online Synchronization` to
|
<developer-mode>`, go to :menuselection:`Accounting --> Configuration --> Online Synchronization`,
|
||||||
click on the :guilabel:`Fetch Account` button on the connection.
|
and click the :guilabel:`Fetch Account` button on the connection.
|
||||||
|
|
||||||
There may also be no new transactions.
|
There may also be no new transactions.
|
||||||
|
|
||||||
@ -198,9 +199,9 @@ database, please `submit a support ticket <https://www.odoo.com/help>`_.
|
|||||||
How can I update my bank credentials?
|
How can I update my bank credentials?
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
|
|
||||||
You can update your credentials by going to :menuselection:`Accounting Dashboard -->
|
To update your credentials, activate the :ref:`developer mode <developer-mode>` and go to
|
||||||
Configuration --> Accounting: Online Synchronization`,open the connection you want to update your
|
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Open the connection you
|
||||||
credentials and click on the :guilabel:`Update Credentials` button.
|
want to update your credentials and click the :guilabel:`Update Credentials` button.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
@ -7,7 +7,6 @@ in one place. It offers non-intrusive connectivity to ASPSPs' official APIs acro
|
|||||||
storing data.
|
storing data.
|
||||||
|
|
||||||
.. image:: enablebanking/enablebanking.png
|
.. image:: enablebanking/enablebanking.png
|
||||||
:align: center
|
|
||||||
:alt: Enable Banking logo
|
:alt: Enable Banking logo
|
||||||
|
|
||||||
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
|
**Odoo** synchronizes directly with banks to get access to all bank transactions and automatically
|
||||||
@ -30,7 +29,6 @@ Link bank accounts with Odoo
|
|||||||
:guilabel:`Continue authentication`;
|
:guilabel:`Continue authentication`;
|
||||||
|
|
||||||
.. image:: enablebanking/enablebankingauth.png
|
.. image:: enablebanking/enablebankingauth.png
|
||||||
:align: center
|
|
||||||
:alt: Enable Banking authentication page
|
:alt: Enable Banking authentication page
|
||||||
|
|
||||||
#. Finally, you are redirected to your bank's login page.
|
#. Finally, you are redirected to your bank's login page.
|
||||||
|
@ -6,15 +6,11 @@ Ponto
|
|||||||
place and directly see all their transactions within one app. It is a third-party solution that is
|
place and directly see all their transactions within one app. It is a third-party solution that is
|
||||||
continuously expanding the number of bank institutions that can be synchronized with Odoo.
|
continuously expanding the number of bank institutions that can be synchronized with Odoo.
|
||||||
|
|
||||||
.. image:: ponto/ponto-logo.png
|
|
||||||
:align: center
|
|
||||||
:alt: Logo of the Ponto brand
|
|
||||||
|
|
||||||
**Odoo** can synchronize directly with your bank to get all bank statements imported automatically
|
**Odoo** can synchronize directly with your bank to get all bank statements imported automatically
|
||||||
into your database.
|
into your database.
|
||||||
|
|
||||||
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
|
Ponto is a paid third-party provider that can handle the synchronization between your bank accounts
|
||||||
and Odoo. `Its pricing is 4€/month per account/integration <https://myponto.com/en#pricing>`_.
|
and Odoo.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`../bank_synchronization`
|
- :doc:`../bank_synchronization`
|
||||||
@ -31,34 +27,29 @@ Link your bank accounts with Ponto
|
|||||||
#. Once you are logged in, create an *organization*.
|
#. Once you are logged in, create an *organization*.
|
||||||
|
|
||||||
.. image:: ponto/ponto-organization.png
|
.. image:: ponto/ponto-organization.png
|
||||||
:align: center
|
|
||||||
:alt: Fill out the form to add an organization in Ponto.
|
:alt: Fill out the form to add an organization in Ponto.
|
||||||
|
|
||||||
#. | Go to :menuselection:`Accounts --> Live`, and click on *Add account*.
|
#. Go to :menuselection:`Accounts --> Live`, and click :guilabel:`Add account`. You might have to
|
||||||
| You might have to add your **Billing Information** first.
|
add your **Billing Information** first.
|
||||||
#. Select your country, your bank institutions, give your consent to Ponto, and follow the steps
|
#. Select your country, your bank institutions, give your consent to Ponto, and follow the steps
|
||||||
on-screen to link your bank account with your Ponto account.
|
on-screen to link your bank account with your Ponto account.
|
||||||
|
|
||||||
.. image:: ponto/ponto-add-account.png
|
.. image:: ponto/ponto-add-account.png
|
||||||
:align: center
|
|
||||||
:alt: Add bank accounts to your Ponto account.
|
:alt: Add bank accounts to your Ponto account.
|
||||||
|
|
||||||
#. Make sure to add all bank accounts you want to synchronize with your Odoo database before moving
|
#. Add all bank accounts you want to synchronize with your Odoo database and move to the next steps.
|
||||||
on to the next steps.
|
|
||||||
|
|
||||||
Link your Ponto account with your Odoo database
|
Link your Ponto account with your Odoo database
|
||||||
-----------------------------------------------
|
-----------------------------------------------
|
||||||
|
|
||||||
#. Go to :menuselection:`Accounting --> Configuration --> Add a Bank Account`.
|
#. Go to :menuselection:`Accounting --> Configuration --> Add a Bank Account`.
|
||||||
#. Search your institution, make sure to select the right institution. By selecting the institution,
|
#. Search for your institution and select it so you can verify that the third party provider is
|
||||||
you can verify that the third party provider is Ponto.
|
Ponto.
|
||||||
#. Click on *Connect* and follow the steps.
|
#. Click :guilabel:`Connect` and follow the steps.
|
||||||
#. At some point, you will have to authorize the accounts you want to access in Odoo. Please select
|
#. Select **all accounts** you want to access and synchronize in Odoo, even the ones coming from
|
||||||
**all the accounts** you want to synchronize. Even the ones coming from other banking
|
other banking institutions.
|
||||||
institutions.
|
|
||||||
|
|
||||||
.. image:: ponto/ponto-select-accounts.png
|
.. image:: ponto/ponto-select-accounts.png
|
||||||
:align: center
|
|
||||||
:alt: Selection of the accounts you wish to synchronize with Odoo.
|
:alt: Selection of the accounts you wish to synchronize with Odoo.
|
||||||
|
|
||||||
#. Finish the flow.
|
#. Finish the flow.
|
||||||
@ -70,26 +61,26 @@ Link your Ponto account with your Odoo database
|
|||||||
Update your synchronization credentials
|
Update your synchronization credentials
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
You might have to update your Ponto credentials or modify the synchronization settings.
|
To update your Ponto credentials or modify the synchronization settings, activate the
|
||||||
|
:ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration -->
|
||||||
|
Online Synchronization`, and select the institution from which you want to fetch the other
|
||||||
|
accounts. Click :guilabel:`Fetch Accounts` to start the flow.
|
||||||
|
|
||||||
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and select
|
.. note::
|
||||||
the institution you want to fetch the other accounts. Click on *Fetch Accounts* button to start the
|
During the update, select **all accounts** you want to synchronize, even the ones coming from
|
||||||
flow.
|
other banking institutions.
|
||||||
|
|
||||||
During the update, select **all the accounts** you want to synchronize, even the ones coming
|
|
||||||
from other banking institutions.
|
|
||||||
|
|
||||||
Fetch new accounts
|
Fetch new accounts
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
You might want to add new online accounts to your connection.
|
To add new online accounts to your connection, activate the :ref:`developer mode <developer-mode>`,
|
||||||
|
go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the
|
||||||
|
institution from which you want to fetch the other accounts. Click :guilabel:`Fetch Accounts` to
|
||||||
|
start the flow.
|
||||||
|
|
||||||
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and select
|
.. note::
|
||||||
the institution you want to fetch the other accounts. Click on *Fetch Accounts* button to start the
|
Don't forget to keep authorization for existing accounts (for all institutions that you have
|
||||||
flow.
|
synchronized with Ponto).
|
||||||
|
|
||||||
Don't forget to keep authorization for existing accounts (for all institutions that you
|
|
||||||
have synchronized with Ponto).
|
|
||||||
|
|
||||||
FAQ
|
FAQ
|
||||||
===
|
===
|
||||||
@ -102,7 +93,7 @@ You selected an institution from the list and did not authorize any accounts fro
|
|||||||
I have an error about that my authorization has expired
|
I have an error about that my authorization has expired
|
||||||
-------------------------------------------------------
|
-------------------------------------------------------
|
||||||
|
|
||||||
Every **3 months** (90 days) you must re-authorize the connection between your bank account
|
Every **6 months** (180 days) you must re-authorize the connection between your bank account
|
||||||
and Ponto. This must be done from the `Ponto website <https://myponto.com>`_. If you do not
|
and Ponto. This must be done from the `Ponto website <https://myponto.com>`_. If you do not
|
||||||
do this, the synchronization will stop for these accounts.
|
do this, the synchronization will stop for these accounts.
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 2.5 KiB |
@ -6,11 +6,6 @@ Salt Edge
|
|||||||
from your bank accounts. It supports ~5000 institutions in more than 50
|
from your bank accounts. It supports ~5000 institutions in more than 50
|
||||||
countries.
|
countries.
|
||||||
|
|
||||||
.. image:: saltedge/saltedge-logo.png
|
|
||||||
:align: center
|
|
||||||
:width: 50%
|
|
||||||
:alt: Salt Edge Logo
|
|
||||||
|
|
||||||
Odoo can synchronize directly with your bank to get all bank statements imported
|
Odoo can synchronize directly with your bank to get all bank statements imported
|
||||||
automatically into your database.
|
automatically into your database.
|
||||||
|
|
||||||
@ -34,20 +29,17 @@ Link your bank accounts with Odoo
|
|||||||
account.
|
account.
|
||||||
|
|
||||||
.. image:: saltedge/saltedge-contact-email.png
|
.. image:: saltedge/saltedge-contact-email.png
|
||||||
:align: center
|
|
||||||
:alt: Email address to provide to Salt Edge for the creation of your account.
|
:alt: Email address to provide to Salt Edge for the creation of your account.
|
||||||
|
|
||||||
#. After entering your email address, you are redirected to Salt Edge to continue
|
#. After entering your email address, you are redirected to Salt Edge to continue
|
||||||
the synchronization process.
|
the synchronization process.
|
||||||
|
|
||||||
.. image:: saltedge/saltedge-login-page.png
|
.. image:: saltedge/saltedge-login-page.png
|
||||||
:align: center
|
|
||||||
:alt: Salt Edge Login page.
|
:alt: Salt Edge Login page.
|
||||||
|
|
||||||
#. Make sure you give your consent by checking the consent checkbox.
|
#. Make sure you give your consent by checking the consent checkbox.
|
||||||
|
|
||||||
.. image:: saltedge/saltedge-give-consent.png
|
.. image:: saltedge/saltedge-give-consent.png
|
||||||
:align: center
|
|
||||||
:alt: Salt Edge give consent page.
|
:alt: Salt Edge give consent page.
|
||||||
|
|
||||||
#. Complete the synchronization by following the steps.
|
#. Complete the synchronization by following the steps.
|
||||||
@ -56,11 +48,10 @@ Link your bank accounts with Odoo
|
|||||||
Update your credentials
|
Update your credentials
|
||||||
-----------------------
|
-----------------------
|
||||||
|
|
||||||
You might have to update your Salt Edge credentials or modify the synchronization settings.
|
To update your Salt Edge credentials or modify the synchronization settings, activate the
|
||||||
|
:ref:`developer mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration -->
|
||||||
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and
|
Online Synchronization`, and select the institution you want to update credentials. Click
|
||||||
select the institution you want to update credentials. Click on the *Update Credentials* button
|
:guilabel:`Update Credentials` to start the flow and follow the steps.
|
||||||
to start the flow and follow the steps.
|
|
||||||
|
|
||||||
Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access
|
Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access
|
||||||
your information.
|
your information.
|
||||||
@ -68,14 +59,14 @@ your information.
|
|||||||
Fetch new accounts
|
Fetch new accounts
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
You might want to add new online accounts to your connection.
|
To add new online accounts to your connection, activate the :ref:`developer mode <developer-mode>`,
|
||||||
|
go to :menuselection:`Accounting --> Configuration --> Online Synchronization`, and select the
|
||||||
|
institution to fetch the new accounts. Click :guilabel:`Fetch Accounts` to start the flow and
|
||||||
|
follow the steps.
|
||||||
|
|
||||||
To do so, go to :menuselection:`Accounting --> Configuration --> Online Synchronization` and
|
.. note::
|
||||||
select the institution to fetch the new accounts. Click on the *Fetch Accounts* button
|
Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access your
|
||||||
to start the flow and follow the steps.
|
information.
|
||||||
|
|
||||||
Don't forget to check the consent checkbox. Otherwise, Odoo may not be able to access
|
|
||||||
your information.
|
|
||||||
|
|
||||||
FAQ
|
FAQ
|
||||||
===
|
===
|
||||||
@ -94,15 +85,15 @@ record.
|
|||||||
I have an error saying that I have already synchronized this account
|
I have an error saying that I have already synchronized this account
|
||||||
--------------------------------------------------------------------
|
--------------------------------------------------------------------
|
||||||
|
|
||||||
You have probably already synchronized your bank account with Salt Edge, please check on your `dashboard
|
You have probably already synchronized your bank account with Salt Edge, please check on your
|
||||||
<https://www.saltedge.com/dashboard>`_ that you don't already have a connection with the same
|
`dashboard <https://www.saltedge.com/dashboard>`_ that you don't already have a connection with the
|
||||||
credentials.
|
same credentials.
|
||||||
|
|
||||||
In case you already have a synchronization with the same credentials present on your Salt Edge
|
If you already have a synchronization with the same credentials present on your Salt Edge
|
||||||
dashboard and this synchronization has not been created with Odoo, please delete it and create it
|
dashboard and this synchronization has not been created with Odoo, delete it and create it from your
|
||||||
from your Odoo database.
|
Odoo database.
|
||||||
|
|
||||||
In case you already have a connection with the same credentials present on your Salt Edge dashboard
|
If you already have a connection with the same credentials present on your Salt Edge dashboard
|
||||||
and this synchronization was created with Odoo, you will normally be able to find it by going to
|
and this synchronization was created with Odoo, activate the :ref:`developer
|
||||||
:menuselection:`Accounting --> Configuration --> Online Synchronization`. Please make sure to do an
|
mode <developer-mode>`, go to :menuselection:`Accounting --> Configuration --> Online
|
||||||
*Update Credentials* to reactivate the connection.
|
Synchronization`, and click :guilabel:`Update Credentials` to reactivate the connection.
|
||||||
|
Before Width: | Height: | Size: 11 KiB |
@ -1,56 +0,0 @@
|
|||||||
=============
|
|
||||||
Cash register
|
|
||||||
=============
|
|
||||||
|
|
||||||
The cash register is a journal to register receivings and payments transactions.
|
|
||||||
It calculates the total money in and out, computing the total balance.
|
|
||||||
|
|
||||||
Configuration
|
|
||||||
=============
|
|
||||||
|
|
||||||
.. image:: cash_register/journal.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
1. Configure the Cash journal in :menuselection:`Accounting --> Configuration -->
|
|
||||||
Journals`.
|
|
||||||
|
|
||||||
2. In the tab Journal Entries, the Default Debit and Credit Account can be
|
|
||||||
configured as well as the currency of the journal
|
|
||||||
|
|
||||||
Usage
|
|
||||||
=====
|
|
||||||
|
|
||||||
How to register cash payments?
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
To register a cash payment specific to another customer, you should follow
|
|
||||||
these steps:
|
|
||||||
|
|
||||||
1. Go to :menuselection:`Accounting --> Dashboard --> Cash --> Register
|
|
||||||
Transactions`
|
|
||||||
|
|
||||||
2. Fill in the start and ending balance
|
|
||||||
|
|
||||||
3. Register the transactions, specifying the customers linked to the transaction
|
|
||||||
|
|
||||||
Put money in
|
|
||||||
------------
|
|
||||||
|
|
||||||
Put money in is used to placed your cash manually before starting your
|
|
||||||
transactions. From the Register Transactions window, go to :menuselection:`More
|
|
||||||
--> Put money in`
|
|
||||||
|
|
||||||
.. image:: cash_register/put-money-in.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
Take money out
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Take money out is used to collect/get yor your cash manually after
|
|
||||||
ending all your transactions. From the Register Transaction windows, go to :menuselection:`More
|
|
||||||
--> Take money out`
|
|
||||||
|
|
||||||
.. image:: cash_register/put-money-out.png
|
|
||||||
:align: center
|
|
||||||
|
|
||||||
The transactions will be added to the current cash payment registration.
|
|
Before Width: | Height: | Size: 5.9 KiB |
Before Width: | Height: | Size: 6.0 KiB |
Before Width: | Height: | Size: 6.9 KiB |
@ -21,25 +21,23 @@ Import transactions
|
|||||||
|
|
||||||
Odoo supports multiple file formats to import transactions:
|
Odoo supports multiple file formats to import transactions:
|
||||||
|
|
||||||
- SEPA recommended Cash Management format (CAMT.053);
|
- SEPA recommended Cash Management format (CAMT.053)
|
||||||
- Comma-separated values (.CSV);
|
- Comma-separated values (CSV)
|
||||||
- Open Financial Exchange (.OFX);
|
- Open Financial Exchange (OFX)
|
||||||
- Quicken Interchange Format (.QIF);
|
- Quicken Interchange Format (QIF)
|
||||||
- Belgium: Coded Statement of Account (.CODA).
|
- Belgium: Coded Statement of Account (CODA)
|
||||||
|
|
||||||
To import a file, go to the **Accounting Dashboard**, and in the :guilabel:`Bank` journal,
|
To import a file, go to the :guilabel:`Accounting Dashboard`, and in the :guilabel:`Bank` journal,
|
||||||
click on :guilabel:`Import File`.
|
click on :guilabel:`Import File`.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
Alternatively, you can also:
|
Alternatively, you can also:
|
||||||
|
|
||||||
- click :guilabel:`⋮` on the :guilabel:`Bank` journal and select :guilabel:`Import file`;
|
- click the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon on the :guilabel:`Bank`
|
||||||
- or access the transaction list by clicking :guilabel:`⋮` on the :guilabel:`Bank` journal and
|
journal and select :guilabel:`Import file`;
|
||||||
selecting :guilabel:`Transactions`, then click the gear icon :guilabel:`(⚙)` and select
|
- or access the transaction list by clicking the :icon:`fa-ellipsis-v` :guilabel:`(ellipsis)`
|
||||||
:guilabel:`Import records`.
|
icon on the :guilabel:`Bank` journal and selecting :guilabel:`Transactions`, then click
|
||||||
|
the :icon:`fa-cog` :guilabel:`(gear)` icon and select :guilabel:`Import records`.
|
||||||
.. image:: transactions/import-transactions.png
|
|
||||||
:alt: Import bank transactions from the bank journal
|
|
||||||
|
|
||||||
Next, select the file and upload it.
|
Next, select the file and upload it.
|
||||||
|
|
||||||
@ -75,22 +73,28 @@ on your business flow, you may want to record them for control purposes.
|
|||||||
account balance as of the date you begin synchronizing or importing transactions. This is
|
account balance as of the date you begin synchronizing or importing transactions. This is
|
||||||
necessary to ensure the accuracy of your accounting.
|
necessary to ensure the accuracy of your accounting.
|
||||||
|
|
||||||
To access a list of statements, go to your :guilabel:`Accounting Dashboard`, click on the vertical
|
To access a list of existing statements, go to the :guilabel:`Accounting Dashboard`, click the
|
||||||
ellipsis (:guilabel:`⋮`) button next to the bank or cash journal you want to check, then on
|
:icon:`fa-ellipsis-v` :guilabel:`(ellipsis)` icon next to the bank or cash journal you want to
|
||||||
:guilabel:`Statements`
|
check, then click :guilabel:`Statements`.
|
||||||
|
|
||||||
|
.. _transactions/statement-kanban:
|
||||||
|
|
||||||
Statement creation from the kanban view
|
Statement creation from the kanban view
|
||||||
---------------------------------------
|
---------------------------------------
|
||||||
|
|
||||||
Open the bank reconciliation view by clicking on the name of the bank journal, and identify the
|
Open the bank reconciliation (kanban) view from the :guilabel:`Accounting Dashboard` by clicking on
|
||||||
transaction corresponding to the last transaction of your bank statement. Click on the
|
the name of the bank journal and identify the transaction corresponding to the last (most recent)
|
||||||
:guilabel:`STATEMENT` button when hovering on the upper separator line.
|
transaction of your bank statement. Click on the :guilabel:`Statement` button when hovering on the
|
||||||
|
upper separator line to create a statement from that transaction down to the oldest transaction that
|
||||||
|
is not yet part of a statement.
|
||||||
|
|
||||||
.. image:: transactions/statements-kanban.png
|
.. image:: transactions/statements-kanban.png
|
||||||
:alt: A "STATEMENT" button is visible when hovering on the line separating two transactions.
|
:alt: A "Statement" button is visible when hovering on the line separating two transactions.
|
||||||
|
|
||||||
Fill out the statement's details and save. The newly created statement includes the previous
|
In the :guilabel:`Create Statement` window, fill out the statement's :guilabel:`Reference`, verify
|
||||||
transactions following the last statement.
|
its :guilabel:`Starting Balance` and :guilabel:`Ending Balance`, and click :guilabel:`Save`.
|
||||||
|
|
||||||
|
.. _transactions/statement-list:
|
||||||
|
|
||||||
Statement creation from the list view
|
Statement creation from the list view
|
||||||
-------------------------------------
|
-------------------------------------
|
||||||
@ -100,3 +104,35 @@ view. Select all the transactions corresponding to the bank statement, and, in t
|
|||||||
:guilabel:`Statement` column, select an existing statement or create a new one by typing its
|
:guilabel:`Statement` column, select an existing statement or create a new one by typing its
|
||||||
reference, clicking on :guilabel:`Create and edit...`, filling out the statement's details, and
|
reference, clicking on :guilabel:`Create and edit...`, filling out the statement's details, and
|
||||||
saving.
|
saving.
|
||||||
|
|
||||||
|
.. _transactions/view-edit-print:
|
||||||
|
|
||||||
|
Statement viewing, editing, and printing
|
||||||
|
----------------------------------------
|
||||||
|
|
||||||
|
To view an existing statement, click on the statement amount in the reconciliation (kanban) view or
|
||||||
|
click on the statement name in the bank transaction list view. From here, you can edit the
|
||||||
|
:guilabel:`Reference`, :guilabel:`Starting Balance`, or :guilabel:`Ending Balance`.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
Manually updating the :guilabel:`Starting Balance` automatically updates the :guilabel:`Ending
|
||||||
|
Balance` based on the new value of the :guilabel:`Starting Balance` and the value of the
|
||||||
|
statement's transactions.
|
||||||
|
|
||||||
|
.. warning::
|
||||||
|
If the :guilabel:`Starting Balance` doesn't equal the previous statement's :guilabel:`Ending
|
||||||
|
Balance`, or if the :guilabel:`Ending Balance` doesn't equal the running balance
|
||||||
|
(:guilabel:`Starting Balance` plus the statement's transactions), a warning appears explaining
|
||||||
|
the issue. To maintain flexibility, it is still possible to save without first resolving the
|
||||||
|
issue.
|
||||||
|
|
||||||
|
To attach a digital copy (i.e., JPEG, PNG, or PDF) of the bank statement for enhanced recordkeeping,
|
||||||
|
click the :icon:`fa-paperclip` :guilabel:`Attachments` button and select the file to attach.
|
||||||
|
|
||||||
|
To generate and print a PDF of the bank statement, click the :guilabel:`Print` button (if accessed
|
||||||
|
via the reconciliation view) or click on the :icon:`fa-cog`:guilabel:`(gear)` icon and click
|
||||||
|
:icon:`fa-print`:guilabel:`Statement` (if accessed via the list view).
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
When a bank statement is generated to be printed, it is automatically added to the
|
||||||
|
:guilabel:`Attachments`.
|
||||||
|
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 23 KiB |
@ -4,225 +4,251 @@
|
|||||||
Customer invoices
|
Customer invoices
|
||||||
=================
|
=================
|
||||||
|
|
||||||
From Customer Invoice to Payments Collection
|
A customer invoice is a document issued by a company for products and/or services sold to a
|
||||||
============================================
|
customer. It records receivables as they are sent to customers. Customer invoices can include
|
||||||
|
amounts due for the goods and/or services provided, applicable sales taxes, shipping and handling
|
||||||
|
fees, and other charges.
|
||||||
|
Odoo supports multiple invoicing and payment workflows.
|
||||||
|
|
||||||
Odoo supports multiple invoicing and payment workflows, so you can
|
.. seealso::
|
||||||
choose and use the ones that match your business needs. Whether you want
|
:doc:`/applications/finance/accounting/customer_invoices/overview`
|
||||||
to accept a single payment for a single invoice, or process a payment
|
|
||||||
spanning multiple invoices and taking discounts for early payments, you
|
|
||||||
can do so efficiently and accurately.
|
|
||||||
|
|
||||||
From Draft Invoice to Profit and Loss
|
From draft invoice to profit and loss report, the process involves several steps once the goods (or
|
||||||
-------------------------------------
|
services) have been ordered/shipped (or rendered) to a customer, depending on the invoicing policy:
|
||||||
|
|
||||||
If we pick up at the end of a typical 'order to cash' scenario, after
|
- :ref:`accounting/invoice/creation`
|
||||||
the goods have been shipped, you will: issue an invoice; receive
|
- :ref:`accounting/invoice/confirmation`
|
||||||
payment; deposit that payment at the bank; make sure the Customer
|
- :ref:`accounting/invoice/sending`
|
||||||
Invoice is closed; follow up if Customers are late; and finally present
|
- :ref:`accounting/invoice/paymentandreconciliation`
|
||||||
your Income on the Profit and Loss report and show the decrease in
|
- :ref:`accounting/invoice/followup`
|
||||||
Assets on the Balance Sheet report.
|
- :ref:`accounting/invoice/reporting`
|
||||||
|
|
||||||
Invoicing in most countries occurs when a contractual obligation is met.
|
.. _accounting/invoice/creation:
|
||||||
If you ship a box to a customer, you have met the terms of the contract
|
|
||||||
and can bill them. If your supplier sends you a shipment, they have met
|
|
||||||
the terms of that contract and can bill you. Therefore, the terms of the
|
|
||||||
contract is fulfilled when the box moves to or from the truck. At this
|
|
||||||
point, Odoo supports the creation of what is called a Draft Invoice by
|
|
||||||
Warehouse staff.
|
|
||||||
|
|
||||||
Invoice creation
|
Invoice creation
|
||||||
----------------
|
================
|
||||||
|
|
||||||
Draft invoices can be manually generated from other documents such as
|
Draft invoices can be created directly from documents like sales orders or purchase orders or
|
||||||
Sales Orders, Purchase Orders,etc. Although you can create a draft
|
manually from the :guilabel:`Customer Invoices` journal in the :guilabel:`Accounting Dashboard`.
|
||||||
invoice directly if you would like.
|
|
||||||
|
|
||||||
An invoice must be provided to the customer with the necessary
|
An invoice must include the required information to enable the customer to pay promptly for their
|
||||||
information in order for them to pay for the goods and services ordered
|
goods and services. Make sure the following fields are appropriately completed:
|
||||||
and delivered. It must also include other information needed to pay the
|
|
||||||
invoice in a timely and precise manner.
|
|
||||||
|
|
||||||
Draft invoices
|
- :guilabel:`Customer`: When a customer is selected, Odoo automatically pulls information from the
|
||||||
--------------
|
customer record like the invoice address,
|
||||||
|
:doc:`preferred payment terms <customer_invoices/payment_terms>`,
|
||||||
|
:doc:`fiscal positions <taxes/fiscal_positions>`, receivable account, and more onto the invoice.
|
||||||
|
To change these values for this specific invoice, edit them directly on the invoice. To change
|
||||||
|
them for future invoices, change the values on the contact record.
|
||||||
|
- :guilabel:`Invoice Date`: If not set manually, this field is automatically set as the current date
|
||||||
|
upon confirmation.
|
||||||
|
- :guilabel:`Due Date` or :doc:`payment terms <customer_invoices/payment_terms>`: To specify when
|
||||||
|
the customer has to pay the invoice.
|
||||||
|
- :guilabel:`Journal`: Is automatically set and can be changed if needed.
|
||||||
|
- :doc:`Currency <get_started/multi_currency>`
|
||||||
|
- :guilabel:`Product`: Click :guilabel:`Add a line` to add a product.
|
||||||
|
- :guilabel:`Quantity`
|
||||||
|
- :guilabel:`Price`
|
||||||
|
- :doc:`Taxes <taxes>` (if applicable)
|
||||||
|
|
||||||
The system generates invoice which are initially set to the Draft state.
|
.. tip::
|
||||||
While these invoices remain unvalidated, they have no accounting impact within the system.
|
To display the total amount of the invoice in words, go to :menuselection:`Accounting -->
|
||||||
There is nothing to stop users from creating their own draft invoices.
|
Configuration --> Settings` and activate the :guilabel:`Total amount of invoice in letters`
|
||||||
|
option.
|
||||||
|
|
||||||
Let's create a customer invoice with following information:
|
The :guilabel:`Journal Items` tab displays the accounting entries created.
|
||||||
|
Additional invoice information such as the :guilabel:`Customer Reference`, :doc:`Fiscal Positions
|
||||||
|
<taxes/fiscal_positions>`, :doc:`Incoterms <customer_invoices/incoterms>`, and more can be added or
|
||||||
|
modified in the :guilabel:`Other Info` tab.
|
||||||
|
|
||||||
- Customer: Agrolait
|
.. note::
|
||||||
- Product: iMac
|
Odoo initially creates invoices in :guilabel:`Draft` status. Draft invoices have no accounting
|
||||||
- Quantity: 1
|
impact until they are :ref:`confirmed <accounting/invoice/confirmation>`.
|
||||||
- Unit Price: 100
|
|
||||||
- Taxes: Tax 15%
|
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice01.png
|
.. seealso::
|
||||||
|
:doc:`/applications/sales/sales/invoicing/proforma`
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice02.png
|
.. _accounting/invoice/confirmation:
|
||||||
|
|
||||||
The document is composed of three parts:
|
Invoice confirmation
|
||||||
|
====================
|
||||||
|
|
||||||
- the top of the invoice, with customer information,
|
Click :guilabel:`Confirm` when the document is completed. The document's status changes to
|
||||||
- the main body of the invoice, with detailed invoice lines,
|
:guilabel:`Posted`, and a journal entry is generated based on the invoice configuration. On
|
||||||
- the bottom of the page, with detail about the taxes, and the totals.
|
confirmation, Odoo assigns each document a unique number from a defined
|
||||||
|
:ref:`sequence <accounting/invoice/sequence>`.
|
||||||
|
|
||||||
Open or Pro-forma invoices
|
.. note::
|
||||||
--------------------------
|
- Once confirmed, an invoice can no longer be updated. Click :guilabel:`Reset to draft` if
|
||||||
|
changes are needed.
|
||||||
|
- If required, invoices and other journal entries can be locked once posted
|
||||||
|
using the :ref:`Lock posted entries with hash <data-inalterability/lock>` feature.
|
||||||
|
|
||||||
An invoice will usually include the quantity and the price of goods
|
.. _accounting/invoice/sending:
|
||||||
and/or services, the date, any parties involved, the unique invoice
|
|
||||||
number, and any tax information.
|
|
||||||
|
|
||||||
"Validate" the invoice when you are ready to approve it. The invoice
|
Invoice sending
|
||||||
then moves from the Draft state to the Open state.
|
===============
|
||||||
|
|
||||||
When you have validated an invoice, Odoo gives it a unique number from a
|
To send the invoice to the customer, click :guilabel:`Send & Print`. A :guilabel:`Configure your
|
||||||
defined, and modifiable, sequence.
|
document layout` pop-up window will appear if a :ref:`default invoice layout
|
||||||
|
<studio/pdf-reports/default-layout>` hasn't been customized. Then, select how to send this invoice
|
||||||
|
to the customer in the :guilabel:`Send` window.
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice03.png
|
To send and print multiple invoices, go to :menuselection:`Accounting --> Customers --> Invoices`
|
||||||
|
and select them. Then click the :icon:`fa-cog` :guilabel:`Actions` menu and select
|
||||||
|
:guilabel:`Send & Print`. A banner will appear on the selected invoices to indicate they are part of
|
||||||
|
an ongoing send and print batch. This helps prevent the process from being triggered manually again,
|
||||||
|
as it may take some time to complete for exceptionally large batches.
|
||||||
|
|
||||||
Accounting entries corresponding to this invoice are automatically
|
.. _accounting/invoice/paymentandreconciliation:
|
||||||
generated when you validate the invoice. You can see the details by
|
|
||||||
clicking on the entry in the Journal Entry field in the "Other Info"
|
|
||||||
tab.
|
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice04.png
|
Payment and reconciliation
|
||||||
|
==========================
|
||||||
|
|
||||||
Send the invoice to customer
|
In Odoo, an invoice is considered :guilabel:`Paid` when the associated accounting entry has been
|
||||||
----------------------------
|
reconciled with a corresponding bank transaction.
|
||||||
|
|
||||||
After validating the customer invoice, you can directly send it to the
|
.. seealso::
|
||||||
customer via the 'Send by email' functionality.
|
- :doc:`payments`
|
||||||
|
- :doc:`bank/reconciliation`
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice05.png
|
.. _accounting/invoice/followup:
|
||||||
|
|
||||||
A typical journal entry generated from a validated invoice will look
|
Payment follow-up
|
||||||
like as follows:
|
=================
|
||||||
|
|
||||||
+-----------------------+---------------+----------------+-------------+--------------+
|
Odoo's :doc:`follow-up actions <payments/follow_up>` help companies follow up on customer invoices.
|
||||||
| **Account** | **Partner** | **Due date** | **Debit** | **Credit** |
|
Different actions can be set up to remind customers to pay their outstanding invoices, depending on
|
||||||
+=======================+===============+================+=============+==============+
|
how much the customer is overdue. These actions are bundled into follow-up levels that trigger when
|
||||||
| Accounts Receivable | Agrolait | 01/07/2015 | 115 | |
|
an invoice is overdue by a certain number of days. If there are multiple overdue invoices for the
|
||||||
+-----------------------+---------------+----------------+-------------+--------------+
|
same customer, the actions are performed on the most overdue invoice.
|
||||||
| Taxes | Agrolait | | | 15 |
|
|
||||||
+-----------------------+---------------+----------------+-------------+--------------+
|
|
||||||
| Sales | | | | 100 |
|
|
||||||
+-----------------------+---------------+----------------+-------------+--------------+
|
|
||||||
|
|
||||||
Payment
|
.. _accounting/invoice/sequence:
|
||||||
-------
|
|
||||||
|
|
||||||
In Odoo, an invoice is considered to be paid when the associated
|
Sequence
|
||||||
accounting entry has been reconciled with the payment entries. If there
|
========
|
||||||
has not been a reconciliation, the invoice will remain in the Open state
|
|
||||||
until you have entered the payment.
|
|
||||||
|
|
||||||
A typical journal entry generated from a payment will look like as
|
The sequence that Odoo assigns to each document is a unique number made up of a prefix and a number.
|
||||||
follows:
|
The prefix combines the journal code and the entry date and is used to group entries by period. The
|
||||||
|
number is unique for each period and is used to identify the entry. The default sequence on customer
|
||||||
|
invoices is INV/YYYY/number. In some specific cases,
|
||||||
|
:ref:`resequencing <accounting/invoice/resequencing>` invoices might be necessary.
|
||||||
|
|
||||||
+-----------------------+---------------+----------------+-------------+--------------+
|
.. _accounting/invoice/resequencing:
|
||||||
| **Account** | **Partner** | **Due date** | **Debit** | **Credit** |
|
|
||||||
+=======================+===============+================+=============+==============+
|
|
||||||
| Bank | Agrolait | | 115 | |
|
|
||||||
+-----------------------+---------------+----------------+-------------+--------------+
|
|
||||||
| Accounts Receivable | Agrolait | | | 115 |
|
|
||||||
+-----------------------+---------------+----------------+-------------+--------------+
|
|
||||||
|
|
||||||
Receive a partial payment through the bank statement
|
Resequencing
|
||||||
----------------------------------------------------
|
------------
|
||||||
|
|
||||||
You can manually enter your bank statements in Odoo, or you can import
|
Resequencing is not possible:
|
||||||
them in from a csv file or from several other predefined formats
|
|
||||||
according to your accounting localisation.
|
|
||||||
|
|
||||||
Create a bank statement from the accounting dashboard with the related
|
- When entries are before a lock date.
|
||||||
journal and enter an amount of $100 .
|
- When the sequence leads to a duplicate.
|
||||||
|
- When the :guilabel:`Invoice Date` doesn't match the date contained in the new sequence number,
|
||||||
|
e.g., if the sequence is changed to INV/2023/XXXXX for a document with an :guilabel:`Invoice Date`
|
||||||
|
of 2024.
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice06.png
|
To change the invoice sequence with the structure INV/YYYY/MM/number, add `/MM` with the number of
|
||||||
|
the month of the :guilabel:`Invoice date`. Odoo will recognize the "/" term as a month and update
|
||||||
|
the future invoice sequence appropriately with the month of the :guilabel:`Invoice date`. For
|
||||||
|
example, if the invoice date is January, change the sequence to `INV/2024/01/XXXXX`.
|
||||||
|
|
||||||
Reconcile
|
In this case, if the :guilabel:`Invoice date` isn't aligned with the sequence number, a
|
||||||
---------
|
:guilabel:`Validation Error` message appears.
|
||||||
|
|
||||||
Now let's reconcile!
|
.. note::
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice07.png
|
- All sequence changes are logged in the chatter to keep the information.
|
||||||
|
- Sequence changes also affect the format of future invoices' sequences.
|
||||||
|
|
||||||
You can now go through every transaction and reconcile them or you can mass reconcile with instructions at the bottom.
|
.. _accounting/invoice/resequencing-one-invoice:
|
||||||
|
|
||||||
After reconciling the items in the sheet, the related invoice will now
|
Resequencing a single invoice
|
||||||
display "You have outstanding payments for this customer. You can
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
reconcile them to pay this invoice. "
|
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice08.png
|
To resequence the last confirmed invoice, click :guilabel:`Reset to Draft`, then change the
|
||||||
|
sequence. The invoice now appears in red on the :guilabel:`Customer Invoices` list.
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice09.png
|
.. _accounting/invoice/mass-resequencing:
|
||||||
|
|
||||||
Apply the payment. Below, you can see that the payment has been added to
|
Mass-resequencing invoices
|
||||||
the invoice.
|
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice10.png
|
It can be helpful to resequence multiple invoice numbers. For example, when importing invoices from
|
||||||
|
another invoicing or accounting system and the reference originates from the previous software,
|
||||||
|
continuity for the current year must be maintained without restarting from the beginning.
|
||||||
|
|
||||||
Payment Followup
|
.. note::
|
||||||
----------------
|
This feature is only available to users with administrator or advisor access.
|
||||||
|
|
||||||
There's a growing trend of customers paying bills later and later.
|
Follow these steps to resequence invoice numbers:
|
||||||
Therefore, collectors must make every effort to collect money and
|
|
||||||
collect it faster.
|
|
||||||
|
|
||||||
Odoo will help you define your follow-up strategy. To remind customers
|
#. Activate the :ref:`developer mode <developer-mode>`.
|
||||||
to pay their outstanding invoices, you can define different actions
|
#. From the :guilabel:`Accounting Dashboard`, open the :guilabel:`Customer Invoices` journal.
|
||||||
depending on how severely overdue the customer is. These actions are
|
#. Select the invoices that need a new sequence.
|
||||||
bundled into follow-up levels that are triggered when the due date of an
|
#. Click the :icon:`fa-cog` :guilabel:`Actions` menu and select :guilabel:`Resequence`.
|
||||||
invoice has passed a certain number of days. If there are other overdue
|
#. In the :guilabel:`Ordering` field, choose to
|
||||||
invoices for the same customer, the actions of the most overdue invoice
|
|
||||||
will be executed.
|
|
||||||
|
|
||||||
By going to the customer record and diving into the "Overdue Payments"
|
- :guilabel:`Keep current order`: The order of the numbers remains the same.
|
||||||
you will see the follow-up message and all overdue invoices.
|
- :guilabel:`Reorder by accounting date`: The number is reordered by accounting date.
|
||||||
|
#. Set the :guilabel:`First New Sequence`.
|
||||||
|
#. :guilabel:`Preview Modifications` and click :guilabel:`Confirm`.
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice11.png
|
The first invoice using the new sequence appears in red in the :guilabel:`Customer Invoices` list.
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice12.png
|
.. image:: customer_invoices/invoice-sequencing.png
|
||||||
|
:alt: Resequence options window
|
||||||
|
|
||||||
.. _customer-invoices/aging-report:
|
.. _accounting/invoice/reporting:
|
||||||
|
|
||||||
Customer aging report:
|
Reporting
|
||||||
~~~~~~~~~~~~~~~~~~~~~~
|
=========
|
||||||
|
|
||||||
The customer aging report will be an additional key tool for the
|
.. _accounting/invoice/partner-reports:
|
||||||
collector to understand the customer credit issues, and to prioritize
|
|
||||||
their work.
|
|
||||||
|
|
||||||
Use the aging report to determine which customers are overdue and begin
|
Partner reports
|
||||||
your collection efforts.
|
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice13.png
|
|
||||||
|
|
||||||
Profit and loss
|
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
The Profit and Loss statement displays your revenue and expense details.
|
.. _accounting/invoices/partner-ledger:
|
||||||
Ultimately, this gives you a clear image of your Net Profit and Loss. It
|
|
||||||
is sometimes referred to as the "Income Statement" or "Statement of
|
|
||||||
Revenues and Expenses."
|
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice14.png
|
Partner Ledger
|
||||||
|
~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The :guilabel:`Partner Ledger` report shows the balance of customers and suppliers. To access it,
|
||||||
|
go to :menuselection:`Accounting --> Reporting --> Partner Ledger`.
|
||||||
|
|
||||||
|
.. _accounting/invoices/aging-report:
|
||||||
|
|
||||||
|
Aged Receivable
|
||||||
|
~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
To review outstanding customer invoices and their related due dates, use the
|
||||||
|
:ref:`Aged Receivable <accounting/reporting/aged-receivable>` report. To access it, go to
|
||||||
|
:menuselection:`Accounting --> Reporting --> Aged Receivable`.
|
||||||
|
|
||||||
|
.. _accounting/invoices/aged-payable:
|
||||||
|
|
||||||
|
Aged Payable
|
||||||
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
To review outstanding vendor bills and their related due dates, use the
|
||||||
|
:ref:`Aged Payable <accounting/reporting/aged-payable>` report. To access it, go to
|
||||||
|
:menuselection:`Accounting --> Reporting --> Aged Payable`.
|
||||||
|
|
||||||
|
.. _accounting/invoices/profit-and-loss:
|
||||||
|
|
||||||
|
Profit and Loss
|
||||||
|
---------------
|
||||||
|
|
||||||
|
The :ref:`Profit and Loss <accounting/reporting/profit-and-loss>` statement shows details of income
|
||||||
|
and expenses.
|
||||||
|
|
||||||
|
.. _accounting/invoices/balance-sheet:
|
||||||
|
|
||||||
Balance sheet
|
Balance sheet
|
||||||
-------------
|
-------------
|
||||||
|
|
||||||
The balance sheet summarizes your company's liabilities,
|
The :ref:`Balance Sheet <accounting/reporting/balance-sheet>` summarizes the company's assets,
|
||||||
assets and equity at a specific moment in time.
|
liabilities, and equity at a specific time.
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice15.png
|
|
||||||
|
|
||||||
.. image:: customer_invoices/invoice16.png
|
|
||||||
|
|
||||||
For example, if you manage your inventory using the perpetual accounting
|
|
||||||
method, you should expect a decrease in account "Current Assets" once
|
|
||||||
the material has been shipped to the customer.
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
@ -18,8 +18,13 @@ To specify a sales order's invoice and delivery addresses, first go to :menusele
|
|||||||
|
|
||||||
On quotations and sales orders, there are now fields for :guilabel:`Invoice Address` and
|
On quotations and sales orders, there are now fields for :guilabel:`Invoice Address` and
|
||||||
:guilabel:`Delivery Address`. If the customer has an invoice or delivery address listed on their
|
:guilabel:`Delivery Address`. If the customer has an invoice or delivery address listed on their
|
||||||
contact record, the corresponding field will use that address by default, but any contact's address
|
:ref:`contact record <sales/send_quotations/contact-form-config>`, the corresponding field uses that
|
||||||
can be used instead.
|
address, by default, but any contact's address can be used instead.
|
||||||
|
|
||||||
|
.. seealso::
|
||||||
|
For more information, refer to the documentation on :ref:`Contact Form Configuration
|
||||||
|
<sales/send_quotations/contact-form-config>`.
|
||||||
|
|
||||||
|
|
||||||
Invoice and deliver to different addresses
|
Invoice and deliver to different addresses
|
||||||
==========================================
|
==========================================
|
||||||
|
@ -33,19 +33,28 @@ Make sure the default settings are correctly configured for your business. To do
|
|||||||
|
|
||||||
Journal
|
Journal
|
||||||
The deferral entries are posted in this journal.
|
The deferral entries are posted in this journal.
|
||||||
Deferred Expense Account
|
Deferred Revenue
|
||||||
Expenses are deferred on this Current Asset account until they are recognized.
|
|
||||||
Deferred Revenue Account
|
|
||||||
Revenues are deferred on this Current Liability account until they are recognized.
|
Revenues are deferred on this Current Liability account until they are recognized.
|
||||||
Generate Entries
|
Generate Entries
|
||||||
By default, Odoo :ref:`automatically generates <customer_invoices/deferred/generate_on_validation>`
|
By default, Odoo :ref:`automatically generates <customer_invoices/deferred/generate_on_validation>`
|
||||||
the deferral entries when you post a customer invoice. However, you can also choose to
|
the deferral entries when you post a customer invoice. However, you can also choose to
|
||||||
:ref:`generate them manually <customer_invoices/deferred/generate_manually>` by selecting the
|
:ref:`generate them manually <customer_invoices/deferred/generate_manually>` by selecting the
|
||||||
:guilabel:`Manually & Grouped` option instead.
|
:guilabel:`Manually & Grouped` option instead.
|
||||||
Amount Computation
|
Based on
|
||||||
Suppose an invoice of $1200 must be deferred over 12 months. The :guilabel:`Equal per month`
|
Suppose an invoice of $1200 must be deferred over 12 months.
|
||||||
computation accounts for $100 each month, while the :guilabel:`Based on days` computation
|
|
||||||
accounts for different amounts depending on the number of days in each month.
|
- The :guilabel:`Months` option accounts for $100 each month prorated to the number of days in
|
||||||
|
that month (e.g., $50 for the first month if the :guilabel:`Start Date` is set to the 15th of
|
||||||
|
the month).
|
||||||
|
|
||||||
|
- The :guilabel:`Full Months` option considers each month started to be full (e.g., $100 for the
|
||||||
|
first month even if the :guilabel:`Start Date` is set to the 15th of the month); this means that
|
||||||
|
with the :guilabel:`Full Months` option, a full $100 is recognized in the first partial month,
|
||||||
|
eliminating the need for a 13th month to recognize any remainder as would be the case when using
|
||||||
|
the :guilabel:`Months` option.
|
||||||
|
|
||||||
|
- The :guilabel:`Days` option accounts for different amounts depending on the number of days in
|
||||||
|
each month (e.g., ~$102 for January and ~$92 for February).
|
||||||
|
|
||||||
.. _customer_invoices/deferred/generate_on_validation:
|
.. _customer_invoices/deferred/generate_on_validation:
|
||||||
|
|
||||||
|
After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 23 KiB |
Before Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 15 KiB |
@ -116,7 +116,7 @@ for every computed *due date*.
|
|||||||
This makes for easier :doc:`follow-ups </applications/finance/accounting/payments/follow_up>` and
|
This makes for easier :doc:`follow-ups </applications/finance/accounting/payments/follow_up>` and
|
||||||
:doc:`reconciliation </applications/finance/accounting/bank/reconciliation>` since Odoo takes each
|
:doc:`reconciliation </applications/finance/accounting/bank/reconciliation>` since Odoo takes each
|
||||||
due date into account, rather than just the balance due date. It also helps to get an accurate
|
due date into account, rather than just the balance due date. It also helps to get an accurate
|
||||||
:ref:`aged receivable report <customer-invoices/aging-report>`.
|
:ref:`aged receivable report <accounting/invoices/aging-report>`.
|
||||||
|
|
||||||
.. example::
|
.. example::
|
||||||
.. image:: payment_terms/journal-entry.png
|
.. image:: payment_terms/journal-entry.png
|
||||||
|
@ -4,8 +4,8 @@
|
|||||||
Get started
|
Get started
|
||||||
===========
|
===========
|
||||||
|
|
||||||
When you first open your Odoo Accounting app, the *Accounting Overview* page welcomes you with a
|
When you first open your Odoo Accounting app, the :guilabel:`Accounting Dashboard` welcomes you with
|
||||||
step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
|
a step-by-step onboarding banner, a wizard that helps you get started. This onboarding banner is
|
||||||
displayed until you choose to close it.
|
displayed until you choose to close it.
|
||||||
|
|
||||||
The settings visible in the onboarding banner can still be modified later by going to
|
The settings visible in the onboarding banner can still be modified later by going to
|
||||||
@ -22,69 +22,22 @@ Accounting onboarding banner
|
|||||||
|
|
||||||
The step-by-step Accounting onboarding banner is composed of four steps:
|
The step-by-step Accounting onboarding banner is composed of four steps:
|
||||||
|
|
||||||
.. image:: get_started/setup_accounting_onboarding.png
|
.. image:: get_started/accounting-onboarding-banner.png
|
||||||
:alt: Step-by-step onboarding banner in Odoo Accounting
|
:alt: Step-by-step onboarding banner in Odoo Accounting
|
||||||
|
|
||||||
#. :ref:`accounting-setup-company`
|
|
||||||
#. :ref:`accounting-setup-bank`
|
|
||||||
#. :ref:`accounting-setup-periods`
|
#. :ref:`accounting-setup-periods`
|
||||||
|
#. :ref:`accounting-setup-bank`
|
||||||
|
#. :ref:`accounting-setup-taxes`
|
||||||
#. :ref:`accounting-setup-chart`
|
#. :ref:`accounting-setup-chart`
|
||||||
|
|
||||||
.. _accounting-setup-company:
|
|
||||||
|
|
||||||
Company Data
|
|
||||||
------------
|
|
||||||
|
|
||||||
This menu allows you to add your company’s details such as the name, address, logo, website, phone
|
|
||||||
number, email address, and Tax ID, or VAT number. These details are then displayed on your documents,
|
|
||||||
such as on invoices.
|
|
||||||
|
|
||||||
.. image:: get_started/setup_company.png
|
|
||||||
:alt: Add your company's details in Odoo Accounting and Odoo Invoicing
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
You can also change these settings by going to :menuselection:`Settings --> General Settings -->
|
|
||||||
Settings --> Companies` and clicking on **Update Info**.
|
|
||||||
|
|
||||||
.. _accounting-setup-bank:
|
|
||||||
|
|
||||||
Bank Account
|
|
||||||
------------
|
|
||||||
|
|
||||||
Connect your bank account to your database and have your bank statements synced automatically. To do
|
|
||||||
so, find your bank in the list, click on *Connect*, and follow the instructions on-screen.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
|
|
||||||
|
|
||||||
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
|
||||||
your database, you may also configure your bank account manually by clicking on *Create it*, and
|
|
||||||
filling out the form.
|
|
||||||
|
|
||||||
- **Name**: the bank account's name, as displayed on Odoo.
|
|
||||||
- **Account Number**: your bank account number (IBAN in Europe).
|
|
||||||
- **Bank**: click on *Create and Edit* to configure the bank's details. Add the bank institution's
|
|
||||||
name and its Identifier Code (BIC or SWIFT).
|
|
||||||
- **Code**: this code is your Journal's *Short Code*, as displayed on Odoo. By default, Odoo creates
|
|
||||||
a new Journal with this Short Code.
|
|
||||||
- **Journal**: This field is displayed if you have an existing Bank Journal that is not linked yet
|
|
||||||
to a bank account. If so, then select the *Journal* you want to use to record the financial
|
|
||||||
transactions linked to this bank account or create a new one by clicking on *Create and Edit*.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
- You can add as many bank accounts as needed with this tool by going to :menuselection:`Accounting
|
|
||||||
--> Configuration`, and clicking on *Add a Bank Account*.
|
|
||||||
- :doc:`Click here <bank>` for more information about Bank
|
|
||||||
Accounts.
|
|
||||||
|
|
||||||
.. _accounting-setup-periods:
|
.. _accounting-setup-periods:
|
||||||
|
|
||||||
Accounting Periods
|
Accounting Periods
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
Define here your **Fiscal Years**’ opening and closing dates, which are used to generate reports
|
Define the **Fiscal Years**’ opening and closing dates, which are used to generate reports
|
||||||
automatically, and your **Tax Return Periodicity**, along with a reminder to never miss a tax return
|
automatically, and set your **Tax Return Periodicity**, along with a reminder to never miss a tax
|
||||||
deadline.
|
return deadline.
|
||||||
|
|
||||||
By default, the opening date is set on the 1st of January and the closing date on the 31st of
|
By default, the opening date is set on the 1st of January and the closing date on the 31st of
|
||||||
December, as this is the most common use.
|
December, as this is the most common use.
|
||||||
@ -93,6 +46,49 @@ December, as this is the most common use.
|
|||||||
You can also change these settings by going to :menuselection:`Accounting --> Configuration -->
|
You can also change these settings by going to :menuselection:`Accounting --> Configuration -->
|
||||||
Settings --> Fiscal Periods` and updating the values.
|
Settings --> Fiscal Periods` and updating the values.
|
||||||
|
|
||||||
|
.. _accounting-setup-bank:
|
||||||
|
|
||||||
|
Bank Account
|
||||||
|
------------
|
||||||
|
|
||||||
|
Connect your bank account to your database and have your bank statements synced automatically. To do
|
||||||
|
so, find your bank in the list, click :guilabel:`Connect`, and follow the instructions on-screen.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
:doc:`Click here <bank/bank_synchronization>` for more information about this feature.
|
||||||
|
|
||||||
|
If your Bank Institution can’t be synchronized automatically, or if you prefer not to sync it with
|
||||||
|
your database, you can also configure your bank account manually by typing its name, clicking
|
||||||
|
:guilabel:`Create your Bank Account`, and filling out the form.
|
||||||
|
|
||||||
|
- :guilabel:`Name`: the bank account's name, as displayed in Odoo.
|
||||||
|
- :guilabel:`Account Number`: your bank account number (IBAN in Europe).
|
||||||
|
- :guilabel:`Bank`: click :guilabel:`Create and edit` to configure the bank's details. Add the
|
||||||
|
bank institution's :guilabel:`Name` and its :guilabel:`Identifier Code` (BIC or SWIFT).
|
||||||
|
- :guilabel:`Code`: this code is your Journal's :guilabel:`Short Code`, as displayed in Odoo.
|
||||||
|
By default, Odoo creates a new Journal with this short code.
|
||||||
|
- :guilabel:`Journal`: This field is displayed if you have an existing bank journal that is not
|
||||||
|
linked yet to a bank account. If so, then select the :guilabel:`Journal` you want to use to record
|
||||||
|
the financial transactions linked to this bank account or create a new one by clicking
|
||||||
|
:guilabel:`Create and Edit`.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
- You can add as many bank accounts as needed with this tool by going to
|
||||||
|
:menuselection:`Accounting --> Configuration --> Add a Bank Account`.
|
||||||
|
- :doc:`Click here <bank>` for more information about Bank Accounts.
|
||||||
|
|
||||||
|
.. _accounting-setup-taxes:
|
||||||
|
|
||||||
|
Taxes
|
||||||
|
-----
|
||||||
|
|
||||||
|
This menu allows you to create new taxes, (de)activate, or modify existing taxes. Depending on the
|
||||||
|
:doc:`localization package <../fiscal_localizations>` installed on your database, taxes required for
|
||||||
|
your country are already configured.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
:doc:`Click here <taxes>` for more information about taxes.
|
||||||
|
|
||||||
.. _accounting-setup-chart:
|
.. _accounting-setup-chart:
|
||||||
|
|
||||||
Chart of Accounts
|
Chart of Accounts
|
||||||
@ -102,85 +98,83 @@ With this menu, you can add accounts to your **Chart of Accounts** and indicate
|
|||||||
opening balances.
|
opening balances.
|
||||||
|
|
||||||
Basic settings are displayed on this page to help you review your Chart of Accounts. To access all
|
Basic settings are displayed on this page to help you review your Chart of Accounts. To access all
|
||||||
the settings of an account, click on the *double arrow button* at the end of the line.
|
the settings of an account, click on the :guilabel:`Setup` button at the end of the line.
|
||||||
|
|
||||||
.. image:: get_started/setup_chart_of_accounts.png
|
.. image:: get_started/setup_chart_of_accounts.png
|
||||||
:alt: Setup of the Chart of Accounts and their opening balances in Odoo Accounting
|
:alt: Setup of the Chart of Accounts and their opening balances in Odoo Accounting
|
||||||
|
|
||||||
.. note::
|
.. note::
|
||||||
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your Chart of
|
:doc:`Click here <get_started/chart_of_accounts>` for more information on how to configure your
|
||||||
Accounts.
|
Chart of Accounts.
|
||||||
|
|
||||||
Invoicing onboarding banner
|
Invoicing onboarding banner
|
||||||
===========================
|
===========================
|
||||||
|
|
||||||
There is another step-by-step onboarding banner that helps you take advantage of your Odoo Invoicing
|
There is another step-by-step onboarding banner that helps you take advantage of your Odoo Invoicing
|
||||||
and Accounting apps. The *Invoicing onboarding banner* is the one that welcomes you if you use the
|
and Accounting apps. The Invoicing onboarding banner is the one that welcomes you if you use the
|
||||||
Invoicing app rather than the Accounting app.
|
Invoicing app rather than the Accounting app.
|
||||||
|
|
||||||
If you have Odoo Accounting installed on your database, you can reach it by going to
|
If you have Odoo Accounting installed on your database, you can reach it by going to
|
||||||
:menuselection:`Accounting --> Customers --> Invoices`.
|
:menuselection:`Accounting --> Customers --> Invoices`.
|
||||||
|
|
||||||
The Invoicing onboarding banner is composed of four main steps:
|
The Invoicing onboarding banner consists of four main steps:
|
||||||
|
|
||||||
.. image:: get_started/setup_invoicing_onboarding.png
|
.. image:: get_started/invoicing-onboarding-banner.png
|
||||||
:alt: Step-by-step onboarding banner in Odoo Invoicing
|
:alt: Step-by-step onboarding banner in Odoo Invoicing
|
||||||
|
|
||||||
#. :ref:`invoicing-setup-company`
|
#. :ref:`invoicing-setup-company`
|
||||||
#. :ref:`invoicing-setup-layout`
|
#. :ref:`invoicing-setup-layout`
|
||||||
#. :ref:`invoicing-setup-payment`
|
#. :ref:`invoicing-setup-invoice`
|
||||||
#. :ref:`invoicing-setup-sample`
|
#. :ref:`invoicing-setup-payments`
|
||||||
|
|
||||||
.. _invoicing-setup-company:
|
.. _invoicing-setup-company:
|
||||||
|
|
||||||
Company Data
|
Company Data
|
||||||
------------
|
------------
|
||||||
|
|
||||||
This form is the same as :ref:`the one presented in the Accounting onboarding banner
|
Add your company’s details, such as the name, address, logo, website, phone number, email address,
|
||||||
<accounting-setup-company>`.
|
and Tax ID or VAT number. These details are then displayed on your documents, such as invoices.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
You can also change the company's details by going to :menuselection:`Settings --> General
|
||||||
|
Settings`, scrolling down to the :guilabel:`Companies` section, and :guilabel:`Update Info`.
|
||||||
|
|
||||||
.. _invoicing-setup-layout:
|
.. _invoicing-setup-layout:
|
||||||
|
|
||||||
Invoice Layout
|
Documents Layout
|
||||||
|
----------------
|
||||||
|
|
||||||
|
Customize the :ref:`default invoice layout <studio/pdf-reports/default-layout>`.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
You can also change the invoice layout by going to :menuselection:`Settings --> General
|
||||||
|
Settings`, scrolling down to the :guilabel:`Companies` section, and clicking :guilabel:`Configure
|
||||||
|
Document Layout`.
|
||||||
|
|
||||||
|
.. _invoicing-setup-invoice:
|
||||||
|
|
||||||
|
Create Invoice
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
With this tool, you can design the appearance of your documents by selecting which layout template,
|
Create your first invoice.
|
||||||
paper format, colors, font, and logo you want to use.
|
|
||||||
|
|
||||||
You can also add your *Company Tagline* and the content of the documents’ *footer*. Note that Odoo
|
|
||||||
automatically adds the company's phone number, email, website URL, and Tax ID (or VAT number) to the
|
|
||||||
footer, according to the values you previously configured in the :ref:`Company Data
|
|
||||||
<accounting-setup-company>`.
|
|
||||||
|
|
||||||
.. image:: get_started/setup_document_layout.png
|
|
||||||
:alt: Document layout configuration in Odoo Invoicing
|
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
Add your **bank account number** and a link to your **General Terms & Condition** in the footer.
|
Add your **bank account number** and a link to your **General Terms & Condition** in the footer.
|
||||||
This way, your contacts can find the full content of your GT&C online without having to print
|
This way, your contacts can find the full content of your GT&C online without having to print
|
||||||
them on the invoices you issue.
|
them on the invoices you issue.
|
||||||
|
|
||||||
.. note::
|
.. _invoicing-setup-payments:
|
||||||
These settings can also be modified by going to :menuselection:`Settings --> General Settings`,
|
|
||||||
under the *Business Documents* section.
|
|
||||||
|
|
||||||
.. _invoicing-setup-payment:
|
Online Payments
|
||||||
|
---------------
|
||||||
|
|
||||||
Payment Method
|
Get started with Stripe and enable secure integrated credit and debit card payments within Odoo.
|
||||||
--------------
|
|
||||||
|
|
||||||
This menu helps you configure the payment methods with which your customers can pay you.
|
.. tip::
|
||||||
|
To use other payment providers, go to
|
||||||
|
:guilabel:`Invoicing --> Configuration --> Payment Providers` and
|
||||||
|
:doc:`enable the desired providers <../payment_providers>`.
|
||||||
|
|
||||||
.. important::
|
|
||||||
Configuring a *Payment Provider* with this tool also activates the *Invoice Online Payment*
|
|
||||||
option automatically. With this, users can directly pay online, from their Customer Portal.
|
|
||||||
|
|
||||||
.. _invoicing-setup-sample:
|
|
||||||
|
|
||||||
Sample Invoice
|
|
||||||
--------------
|
|
||||||
|
|
||||||
Send yourself a sample invoice by email to make sure everything is correctly configured.
|
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
* :doc:`bank`
|
* :doc:`bank`
|
||||||
@ -197,4 +191,4 @@ Send yourself a sample invoice by email to make sure everything is correctly con
|
|||||||
get_started/chart_of_accounts
|
get_started/chart_of_accounts
|
||||||
get_started/multi_currency
|
get_started/multi_currency
|
||||||
get_started/avg_price_valuation
|
get_started/avg_price_valuation
|
||||||
get_started/vat_units
|
get_started/tax_units
|
||||||
|
After Width: | Height: | Size: 21 KiB |
@ -26,12 +26,12 @@ valuation <inventory/avg_price/leaving_inventory>`.
|
|||||||
.. note::
|
.. note::
|
||||||
This document addresses a specific use case for theoretical purposes. For instructions on how to
|
This document addresses a specific use case for theoretical purposes. For instructions on how to
|
||||||
set up and use |AVCO|, refer to the :doc:`inventory valuation configuration
|
set up and use |AVCO|, refer to the :doc:`inventory valuation configuration
|
||||||
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config>`
|
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`
|
||||||
doc.
|
doc.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`Using inventory valuation
|
- :doc:`Using inventory valuation
|
||||||
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/using_inventory_valuation>`
|
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/using_inventory_valuation>`
|
||||||
- :ref:`Other inventory valuation methods <inventory/warehouses_storage/costing_methods>`
|
- :ref:`Other inventory valuation methods <inventory/warehouses_storage/costing_methods>`
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
@ -44,7 +44,7 @@ product category page, set :guilabel:`Costing Method` to `Average Cost (AVCO)` a
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
:doc:`Inventory valuation configuration
|
:doc:`Inventory valuation configuration
|
||||||
<../../../inventory_and_mrp/inventory/warehouses_storage/inventory_valuation/inventory_valuation_config>`
|
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/inventory_valuation_config>`
|
||||||
|
|
||||||
Using average cost valuation
|
Using average cost valuation
|
||||||
============================
|
============================
|
||||||
@ -69,8 +69,9 @@ When new products arrive, the new average cost for each product is recomputed us
|
|||||||
- **Incoming Qty**: count of products arriving in the new shipment;
|
- **Incoming Qty**: count of products arriving in the new shipment;
|
||||||
- **Purchase Price**: estimated price of products at the reception of products (since vendor bills
|
- **Purchase Price**: estimated price of products at the reception of products (since vendor bills
|
||||||
may arrive later). The amount includes not only the price for the products, but also added costs,
|
may arrive later). The amount includes not only the price for the products, but also added costs,
|
||||||
such as shipping, taxes, and :ref:`landed costs <inventory/reporting/landed_costs>`. At reception
|
such as shipping, taxes, and :doc:`landed costs
|
||||||
of the vendor bill, this price is adjusted;
|
<../../../inventory_and_mrp/inventory/product_management/inventory_valuation/landed_costs>`. At
|
||||||
|
reception of the vendor bill, this price is adjusted;
|
||||||
- **Final Qty**: quantity of on-hand stock after the stock move.
|
- **Final Qty**: quantity of on-hand stock after the stock move.
|
||||||
|
|
||||||
.. _inventory/avg_cost/definite_rule:
|
.. _inventory/avg_cost/definite_rule:
|
||||||
|
Before Width: | Height: | Size: 3.0 KiB |
After Width: | Height: | Size: 21 KiB |
Before Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 57 KiB |
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 32 KiB |
Before Width: | Height: | Size: 71 KiB |
@ -1,50 +1,35 @@
|
|||||||
=========
|
=========
|
||||||
VAT units
|
Tax units
|
||||||
=========
|
=========
|
||||||
|
|
||||||
.. important::
|
.. important::
|
||||||
This is only applicable to multi-company environments.
|
This is only applicable to multi-company environments.
|
||||||
|
|
||||||
A **VAT unit** is a group of VAT-taxable enterprises that are legally independent of each other but
|
A **tax unit** is a group of VAT-taxable enterprises that are legally independent of each other but
|
||||||
are closely linked financially, organizationally, and economically and therefore considered the same
|
are closely linked financially, organizationally, and economically and therefore considered the same
|
||||||
VAT-taxable enterprise. **VAT units** are not mandatory, but if created, constituent companies of
|
VAT-taxable enterprise. **Tax units** are not mandatory, but if created, constituent companies of
|
||||||
the unit must belong to the same **country**, use the same **currency**, and one company must be
|
the unit must belong to the same **country**, use the same **currency**, and one company must be
|
||||||
designated as the **representative** company of the **VAT unit**. **VAT units** receive a specific
|
designated as the **representative** company of the **tax unit**. **Tax units** receive a specific
|
||||||
**tax ID** intended only for **tax returns**. **Constituent** companies keep their **tax ID** used
|
**tax ID** intended only for **tax returns**. **Constituent** companies keep their **tax ID** used
|
||||||
for **commercial purposes**.
|
for **commercial purposes**.
|
||||||
|
|
||||||
.. example::
|
.. example::
|
||||||
Enterprise **A** owes €300.000,00 of VAT taxes and enterprise **B** can recover €280.000,00 of
|
Enterprise **A** owes €300.000,00 of VAT taxes and enterprise **B** can recover €280.000,00 of
|
||||||
VAT taxes. They form up as a **VAT unit** so that the two amounts balance out and must conjointly
|
VAT taxes. They form up as a **tax unit** so that the two amounts balance out and must conjointly
|
||||||
only pay €20.000,00 of VAT taxes.
|
only pay €20.000,00 of VAT taxes.
|
||||||
|
|
||||||
Configuration
|
Configuration
|
||||||
=============
|
=============
|
||||||
|
|
||||||
To configure a **VAT unit**, go to :menuselection:`Settings --> General Settings`, scroll down to
|
To create a **tax unit**, go to :menuselection:`Accounting --> Configuration --> Tax Units`, and
|
||||||
the :guilabel:`Companies` section, and click :guilabel:`Manage Companies`. Select the company to
|
click :guilabel:`New`. Enter a **name** for the unit, select a :guilabel:`Country`, the
|
||||||
serve the **representative** role, and in the :guilabel:`General Information` tab, fill in the
|
:guilabel:`Companies` to incorporate in the unit, the :guilabel:`Main Company`, and the
|
||||||
mandatory fields for the .XML export when exporting the **tax report**: :guilabel:`Company Name`,
|
:guilabel:`Tax ID` of the **constituent** company of that tax unit.
|
||||||
:guilabel:`Address`, :guilabel:`VAT`, :guilabel:`Currency`, :guilabel:`Phone`, and
|
|
||||||
:guilabel:`Email`.
|
|
||||||
|
|
||||||
.. image:: vat_units/general.png
|
|
||||||
:align: center
|
|
||||||
:alt: General information tab
|
|
||||||
|
|
||||||
Then, click on the :guilabel:`VAT Units` tab, :guilabel:`Add a line`, and either select an existing
|
|
||||||
**VAT unit**, or create a new one. Enter a **name** for the unit, :guilabel:`Country` of the
|
|
||||||
constituent companies and tax report, the :guilabel:`Companies`, the :guilabel:`Main Company` that
|
|
||||||
serves the **representative** role, and the :guilabel:`Tax ID` of the **VAT unit**.
|
|
||||||
|
|
||||||
.. image:: vat_units/vat-unit.png
|
|
||||||
:align: center
|
|
||||||
:alt: VAT units tab
|
|
||||||
|
|
||||||
Fiscal position
|
Fiscal position
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
As transactions between constituents of the same **VAT unit** are not subject to VAT, it is possible
|
As transactions between constituents of the same **tax unit** are not subject to VAT, it is possible
|
||||||
to create a :doc:`tax mapping (fiscal position) <../taxes/fiscal_positions>` to avoid the
|
to create a :doc:`tax mapping (fiscal position) <../taxes/fiscal_positions>` to avoid the
|
||||||
application of VAT on inter-constituent transactions.
|
application of VAT on inter-constituent transactions.
|
||||||
|
|
||||||
@ -61,13 +46,12 @@ Do the same for the :guilabel:`Account Mapping` tab if required, and repeat this
|
|||||||
Depending on your :doc:`localization package </applications/finance/fiscal_localizations>`, taxes
|
Depending on your :doc:`localization package </applications/finance/fiscal_localizations>`, taxes
|
||||||
may vary from the screenshot displayed.
|
may vary from the screenshot displayed.
|
||||||
|
|
||||||
.. image:: vat_units/fiscal-positions.png
|
.. image:: tax_units/fiscal-positions.png
|
||||||
:align: center
|
:alt: Tax mapping of fiscal position for tax unit
|
||||||
:alt: Tax mapping of fiscal position for VAT unit
|
|
||||||
|
|
||||||
Then, assign the fiscal position by opening the **Contacts** app. Search for a **constituent**
|
Then, assign the fiscal position by opening the **Contacts** app. Search for a **constituent**
|
||||||
company, and open the contact's **card**. Click the :guilabel:`Sales & Purchase` tab, and in the
|
company, and open the contact's **card**. Click the :guilabel:`Sales & Purchase` tab, and in the
|
||||||
:guilabel:`Fiscal Position` field, input the **fiscal position** created for the **VAT unit**.
|
:guilabel:`Fiscal Position` field, input the **fiscal position** created for the **tax unit**.
|
||||||
Repeat the process for each **constituent** company card form, on each company database.
|
Repeat the process for each **constituent** company card form, on each company database.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
@ -76,11 +60,10 @@ Repeat the process for each **constituent** company card form, on each company d
|
|||||||
Tax report
|
Tax report
|
||||||
==========
|
==========
|
||||||
|
|
||||||
The **representative** company can access the aggregated tax report of the **VAT unit** by going to
|
The **representative** company can access the aggregated tax report of the **tax unit** by going to
|
||||||
:menuselection:`Accounting --> Reporting --> Tax Report`, and selecting the **VAT unit** in
|
:menuselection:`Accounting --> Reporting --> Tax Report`, and selecting the **tax unit** in
|
||||||
:guilabel:`Tax Unit`. This report contains the aggregated transactions of all **constituents** and
|
:guilabel:`Tax Unit`. This report contains the aggregated transactions of all **constituents** and
|
||||||
the .XML export contains the name and VAT number of the **main** company.
|
the .XML export contains the name and VAT number of the **main** company.
|
||||||
|
|
||||||
.. image:: vat_units/report.png
|
.. image:: tax_units/report.png
|
||||||
:align: center
|
:alt: tax unit tax report
|
||||||
:alt: VAT unit tax report
|
|
After Width: | Height: | Size: 12 KiB |
After Width: | Height: | Size: 4.9 KiB |
Before Width: | Height: | Size: 16 KiB |
Before Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 5.8 KiB |
Before Width: | Height: | Size: 10 KiB |
@ -7,33 +7,35 @@ Payments
|
|||||||
In Odoo, payments can either be automatically linked to an invoice or bill or be stand-alone records
|
In Odoo, payments can either be automatically linked to an invoice or bill or be stand-alone records
|
||||||
for use at a later date:
|
for use at a later date:
|
||||||
|
|
||||||
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due of the
|
- If a payment is **linked to an invoice or bill**, it reduces/settles the amount due on the
|
||||||
invoice. You can have multiple payments related to the same invoice.
|
invoice. Multiple payments on the same invoice are possible.
|
||||||
|
|
||||||
- If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
|
- If a payment is **not linked to an invoice or bill**, the customer has an outstanding credit with
|
||||||
your company, or your company has an outstanding debit with a vendor. You can use those
|
the company, or the company has an outstanding debit with a vendor. Those outstanding amounts
|
||||||
outstanding amounts to reduce/settle unpaid invoices/bills.
|
reduce/settle unpaid invoices/bills.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`Internal transfers <payments/internal_transfers>`
|
- :doc:`Internal transfers <payments/internal_transfers>`
|
||||||
- :doc:`bank/reconciliation`
|
- :doc:`bank/reconciliation`
|
||||||
- `Odoo Tutorials: Bank Configuration
|
- `Odoo Tutorials: Bank Configuration
|
||||||
<https://www.odoo.com/slides/slide/bank-configuration-1880>`_
|
<https://www.odoo.com/slides/slide/bank-configuration-6832>`_
|
||||||
|
|
||||||
.. _payments/register:
|
.. _accounting/payments/from-invoice-bill:
|
||||||
|
|
||||||
Registering payment from an invoice or bill
|
Registering payment from an invoice or bill
|
||||||
===========================================
|
===========================================
|
||||||
|
|
||||||
When clicking :guilabel:`Register payment` in a customer invoice or vendor bill, it generates a new
|
Clicking :guilabel:`Register payment` in a customer invoice or vendor bill generates a new journal
|
||||||
journal entry and changes the amount due according to the payment amount. The counterpart is
|
entry and sets the amount due according to the payment amount. The counterpart is reflected in an
|
||||||
reflected in an :ref:`outstanding <bank/outstanding-accounts>` **receipts** or **payments** account.
|
:ref:`outstanding <bank/outstanding-accounts>` **receipts** or **payments** account. At this point,
|
||||||
At this point, the customer invoice or vendor bill is marked as :guilabel:`In payment`. Then, when
|
the customer invoice or vendor bill is marked as :guilabel:`In payment` or :ref:`Partially paid
|
||||||
the outstanding account is reconciled with a bank statement line, the invoice or vendor bill changes
|
<accounting/payments/partial-payment>`. Then, when the outstanding account is reconciled with a bank
|
||||||
to the :guilabel:`Paid` status.
|
transaction, the invoice or vendor bill changes to the :guilabel:`Paid` status.
|
||||||
|
|
||||||
The information icon near the payment line displays more information about the payment. You can
|
To open the :guilabel:`Journal Entry Info` window and display more information about the payment,
|
||||||
access additional information, such as the related journal, by clicking :guilabel:`View`.
|
click the :icon:`fa-info-circle` :guilabel:`(information)` icon in the footer of the
|
||||||
|
:guilabel:`Invoice Lines` tab. To access additional information, such as the related journal entry,
|
||||||
|
click :guilabel:`View`.
|
||||||
|
|
||||||
.. image:: payments/information-icon.png
|
.. image:: payments/information-icon.png
|
||||||
:alt: See detailed information of a payment.
|
:alt: See detailed information of a payment.
|
||||||
@ -41,105 +43,155 @@ access additional information, such as the related journal, by clicking :guilabe
|
|||||||
.. note::
|
.. note::
|
||||||
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
|
- The customer invoice or vendor bill must be in the :guilabel:`Posted` status to register the
|
||||||
payment.
|
payment.
|
||||||
- If you unreconcile a payment, it still appears in your books but is no longer linked to the
|
- If a payment is unreconciled, it still appears in the books but is no longer linked to the
|
||||||
invoice.
|
invoice.
|
||||||
- If you (un)reconcile a payment in a different currency, a journal entry is automatically
|
- If a payment is (un)reconciled in a different currency, a journal entry is automatically
|
||||||
created to post the currency exchange gains/losses (reversal) amount.
|
created to post the currency exchange gains/losses (reversal) amount.
|
||||||
- If you (un)reconcile a payment and an invoice having cash basis taxes, a journal entry is
|
- If a payment is (un)reconciled on an invoice with cash-basis taxes, a journal entry is
|
||||||
automatically created to post the cash basis tax (reversal) amount.
|
automatically created to post the cash-basis tax (reversal) amount.
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
- If your main bank account is set as an :ref:`outstanding account
|
If the main bank account is set as the :ref:`outstanding account <bank/outstanding-accounts>` on
|
||||||
<bank/outstanding-accounts>`, and the payment is registered in Odoo (not through a related
|
the bank journal's payment method, registering the full payment on an invoice or bill moves the
|
||||||
bank statement), invoices and bills are directly registered as :guilabel:`Paid`.
|
invoice/bill directly to the :guilabel:`Paid` status without requiring bank reconciliation.
|
||||||
|
|
||||||
|
.. _accounting/payments/not-tied:
|
||||||
|
|
||||||
Registering payments not tied to an invoice or bill
|
Registering payments not tied to an invoice or bill
|
||||||
===================================================
|
===================================================
|
||||||
|
|
||||||
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments` menu, it is
|
When a new payment is registered via :menuselection:`Customers / Vendors --> Payments`, it is not
|
||||||
not directly linked to an invoice or bill. Instead, the account receivable or the account payable is
|
directly linked to an invoice or bill. Instead, the account receivable or the account payable is
|
||||||
matched with the **outstanding account** until it is manually matched with its related invoice or
|
matched with the **outstanding account** until it is manually matched with its related invoice or
|
||||||
bill.
|
bill. Then, :doc:`reconciling <bank/reconciliation>` the payment with the bank transaction completes
|
||||||
|
the payment workflow.
|
||||||
|
|
||||||
Matching invoices and bills with payments
|
.. _accounting/payments/payments-matching:
|
||||||
-----------------------------------------
|
|
||||||
|
|
||||||
A blue banner appears when you validate a new invoice/bill and an **outstanding payment** exists for
|
Payments matching
|
||||||
this specific customer or vendor. It can easily be matched from the invoice or bill by clicking
|
-----------------
|
||||||
:guilabel:`ADD` under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
|
||||||
|
.. note::
|
||||||
|
During the :doc:`bank reconciliation <bank/reconciliation>` process, a remaining balance is
|
||||||
|
identified if the total debits and credits do not match when records are compared with bank
|
||||||
|
transactions. This balance must either be reconciled later or written off immediately.
|
||||||
|
|
||||||
|
.. _accounting/payments/matching-invoices-bills:
|
||||||
|
|
||||||
|
For a single invoice or bill
|
||||||
|
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
A blue banner appears when validating a new invoice/bill and an **outstanding payment** exists for
|
||||||
|
this specific customer or vendor. To match it with the invoice or bill, click :guilabel:`Add`
|
||||||
|
under :guilabel:`Outstanding Credits` or :guilabel:`Outstanding Debits`.
|
||||||
|
|
||||||
.. image:: payments/add-option.png
|
.. image:: payments/add-option.png
|
||||||
:alt: Shows the ADD option to reconcile an invoice or a bill with a payment.
|
:alt: Shows the Add option to reconcile an invoice or a bill with a payment.
|
||||||
|
|
||||||
The invoice or bill is now marked as :guilabel:`In payment` until it is reconciled with its
|
The invoice or bill is then marked as :guilabel:`In payment` until the payment is :doc:`reconciled
|
||||||
corresponding bank statement.
|
<bank/reconciliation>` with its corresponding :doc:`bank transaction(s) <bank/transactions>`.
|
||||||
|
|
||||||
.. _payments/batch-payments:
|
.. _accounting/payments/auto-reconcile-tool:
|
||||||
|
|
||||||
Batch payment
|
Matching payments
|
||||||
-------------
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
Batch payments allow you to group different payments to ease :doc:`reconciliation
|
The :guilabel:`Payments matching` or :guilabel:`Auto-reconcile` tool allows reconciling journal
|
||||||
<bank/reconciliation>`. They are also useful when you deposit :doc:`checks <payments/checks>` to the
|
items with each other (i.e., payments with customer invoices or vendor bills) either individually or
|
||||||
bank or for :doc:`SEPA payments <payments/pay_sepa>`. To do so, go to :menuselection:`Accounting -->
|
in batches. Access the :guilabel:`Accounting Dashboard`, click the :icon:`fa-ellipsis-v`
|
||||||
Customers --> Batch Payments` or :menuselection:`Accounting --> Vendors --> Batch Payments`. In the
|
(:guilabel:`dropdown menu`) button from the :guilabel:`Customer Invoices` or :guilabel:`Vendor
|
||||||
list view of payments, you can select and group several payments in a batch by clicking
|
Bills` journals, and select :guilabel:`Payments Matching`. Alternatively, go to
|
||||||
:menuselection:`Action --> Create Batch Payment`.
|
:menuselection:`Accounting --> Accounting --> Reconcile`.
|
||||||
|
|
||||||
|
To manually :guilabel:`Reconcile` journal items, select the individual items from the list view and
|
||||||
|
click :guilabel:`Reconcile`.
|
||||||
|
|
||||||
|
Auto-Reconcile Feature
|
||||||
|
**********************
|
||||||
|
|
||||||
|
To use the :guilabel:`Auto-Reconcile` feature, follow these steps:
|
||||||
|
|
||||||
|
#. In the :guilabel:`Journal Items to reconcile` list view, click :guilabel:`Auto-Reconcile` next to
|
||||||
|
the receivable or payable account (or a specific contact's journal item in that account).
|
||||||
|
#. In the :guilabel:`Find Entries to Reconcile Automatically` window, set the :guilabel:`Reconcile`
|
||||||
|
field depending on how you want to match journal items:
|
||||||
|
|
||||||
|
- :guilabel:`Opposite balances one by one`: Each debit journal item will be matched with the
|
||||||
|
corresponding credit journal item of the same value.
|
||||||
|
- :guilabel:`Accounts with zero balances`: All reconciled journal items will have the same
|
||||||
|
matching number.
|
||||||
|
|
||||||
|
#. Click :guilabel:`Launch`.
|
||||||
|
|
||||||
|
Invoices and bills are automatically matched to their corresponding payments and marked as
|
||||||
|
:guilabel:`In payment` until they are :doc:`reconciled <bank/reconciliation>` with their
|
||||||
|
corresponding :doc:`bank transactions <bank/transactions>`.
|
||||||
|
|
||||||
|
.. _accounting/payments/group-payments:
|
||||||
|
|
||||||
|
Registering payments on multiple invoices or bills (group payments)
|
||||||
|
===================================================================
|
||||||
|
|
||||||
|
To register payments on multiple invoices/bills, follow these steps:
|
||||||
|
|
||||||
|
#. Go to :menuselection:`Accounting --> Customers --> Invoices/Credit Notes` or
|
||||||
|
:menuselection:`Accounting --> Vendors --> Bills/Refunds`.
|
||||||
|
#. In the list view, select the relevant invoices/credit notes or bills/refunds.
|
||||||
|
#. Click :icon:`fa-cog` :guilabel:`Actions` and select :guilabel:`Register Payment`.
|
||||||
|
#. In the :guilabel:`Register Payment` window, select the :guilabel:`Journal`, the
|
||||||
|
:guilabel:`Payment Method`, and the :guilabel:`Payment Date`.
|
||||||
|
#. To combine all payments from the same contact into a single payment, enable the :guilabel:`Group
|
||||||
|
Payments` option, or leave it unchecked to create separate payments.
|
||||||
|
#. Click :guilabel:`Create payment`.
|
||||||
|
|
||||||
|
The invoices or bills are then marked as :guilabel:`In payment` until the bank transactions are
|
||||||
|
:doc:`reconciled <bank/reconciliation>` with the payments.
|
||||||
|
|
||||||
|
.. _accounting/payments/batch-payments:
|
||||||
|
|
||||||
|
Registering a single payment for multiple customers or vendors (batch payments)
|
||||||
|
===============================================================================
|
||||||
|
|
||||||
|
Batch payments allow grouping payments from multiple contacts to ease
|
||||||
|
:doc:`reconciliation <bank/reconciliation>`. They are also useful when depositing :doc:`checks
|
||||||
|
<payments/checks>` to the bank or for generating bank payment files such as :doc:`SEPA
|
||||||
|
<payments/pay_sepa>` or :ref:`NACHA <l10n_us/nacha>`. To do so, go to :menuselection:`Accounting -->
|
||||||
|
Customers --> Payments` or :menuselection:`Accounting --> Vendors --> Payments`. In the payments
|
||||||
|
list view, select the payments to be grouped in a batch, click :icon:`fa-cog` :guilabel:`Actions`,
|
||||||
|
and select :guilabel:`Create Batch Payment`.
|
||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`payments/batch`
|
- :doc:`payments/batch`
|
||||||
- :doc:`payments/batch_sdd`
|
- :doc:`payments/batch_sdd`
|
||||||
|
|
||||||
.. _payments/matching:
|
.. _accounting/payments/partial-payment:
|
||||||
|
|
||||||
Payments matching
|
|
||||||
-----------------
|
|
||||||
|
|
||||||
The :guilabel:`Payments matching` tool opens all unreconciled customer invoices or vendor bills and
|
|
||||||
allows you to process them individually, matching all payments and invoices in one place. You can
|
|
||||||
reach this tool from the :menuselection:`Accounting Dashboard --> Customer Invoices / Vendor Bills`,
|
|
||||||
click the drop-down menu button (:guilabel:`⋮`), and select :guilabel:`Payments Matching`, or go to
|
|
||||||
:menuselection:`Accounting --> Accounting --> Reconciliation`.
|
|
||||||
|
|
||||||
.. image:: payments/payments-journal.png
|
|
||||||
:alt: Payments matching menu in the drop-down menu.
|
|
||||||
|
|
||||||
.. note::
|
|
||||||
During the :doc:`reconciliation <bank/reconciliation>`, if the sum of the debits and credits does
|
|
||||||
not match, there is a remaining balance. This either needs to be reconciled at a later date or
|
|
||||||
needs to be written off directly.
|
|
||||||
|
|
||||||
Batch payments matching
|
|
||||||
-----------------------
|
|
||||||
|
|
||||||
You can use the **batch reconciliation feature** to reconcile several outstanding payments or
|
|
||||||
invoices simultaneously for a specific customer or vendor. Go to your **Accounting Dashboard** and
|
|
||||||
open your **bank journal**. In the **bank reconciliation** view, select a **transaction**, and click
|
|
||||||
the :guilabel:`Batch Payments` tab. From here, you can reconcile your
|
|
||||||
:doc:`batch payments <payments/batch>` with your outstanding payments or invoices.
|
|
||||||
|
|
||||||
.. image:: payments/reconcile-option.png
|
|
||||||
:alt: The batch payment reconcile option.
|
|
||||||
|
|
||||||
Registering a partial payment
|
Registering a partial payment
|
||||||
=============================
|
=============================
|
||||||
|
|
||||||
To register a **partial payment**, click :guilabel:`Register payment` from the related invoice or
|
To register a partial payment, click on :guilabel:`Register Payment` from the related invoice or
|
||||||
bill, and enter the amount received or paid. Upon entering the amount, a prompt appears to decide
|
bill. In the case of a partial payment (when the :guilabel:`Amount` paid is less than the total
|
||||||
whether to :guilabel:`Keep open` the invoice or bill, or :guilabel:`Mark as fully paid`. Select
|
remaining amount on the invoice or the bill), the :guilabel:`Payment Difference` field displays the
|
||||||
:guilabel:`Keep open` and click :guilabel:`Create payment`. The invoice or bill is now marked as
|
outstanding balance. There are two options:
|
||||||
:guilabel:`Partial`. Select :guilabel:`Mark as fully paid` if you wish to settle the invoice or bill
|
|
||||||
with a difference in the amount.
|
|
||||||
|
|
||||||
.. image:: payments/payment-difference.png
|
- :guilabel:`Keep open`: Keep the invoice or the bill open and mark it with a :guilabel:`Partial`
|
||||||
:alt: Partial payment of an invoice or bill.
|
banner;
|
||||||
|
- :guilabel:`Mark as fully paid`: Select an account in the :guilabel:`Post Difference In` field and
|
||||||
|
change the :guilabel:`Label` if needed. A journal entry will be created to balance the accounts
|
||||||
|
payable or receivable with the selected account.
|
||||||
|
|
||||||
Reconciling payments with bank statements
|
.. image:: payments/partial-payment.png
|
||||||
=========================================
|
:alt: register a partial payment
|
||||||
|
|
||||||
|
.. _accounting/payments/reconciling-payments:
|
||||||
|
|
||||||
|
Reconciling payments with bank transactions
|
||||||
|
===========================================
|
||||||
|
|
||||||
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
|
Once a payment has been registered, the status of the invoice or bill is :guilabel:`In payment`. The
|
||||||
next step is :doc:`reconciling <bank/reconciliation>` it with the related bank statement line to
|
next step is :doc:`reconciling <bank/reconciliation>` the payment with the related :doc:`bank
|
||||||
have the transaction finalized and the invoice or bill marked as :guilabel:`Paid`.
|
transaction <bank/transactions>` line to finalize the payment workflow and mark the invoice or bill
|
||||||
|
as :guilabel:`Paid`.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
Before Width: | Height: | Size: 6.3 KiB After Width: | Height: | Size: 4.7 KiB |
@ -16,6 +16,8 @@ Go to :menuselection:`Accounting --> Configuration --> Settings --> Customer Pay
|
|||||||
Deposit multiple payments in batch
|
Deposit multiple payments in batch
|
||||||
==================================
|
==================================
|
||||||
|
|
||||||
|
.. _batch-payments/register-payments:
|
||||||
|
|
||||||
Register payments
|
Register payments
|
||||||
-----------------
|
-----------------
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 9.2 KiB |
@ -91,5 +91,5 @@ select :guilabel:`Process follow-ups`.
|
|||||||
|
|
||||||
.. seealso::
|
.. seealso::
|
||||||
- :doc:`/applications/essentials/in_app_purchase`
|
- :doc:`/applications/essentials/in_app_purchase`
|
||||||
- :doc:`/applications/marketing/sms_marketing/pricing/pricing_and_faq`
|
- :doc:`/applications/marketing/sms_marketing/pricing_and_faq`
|
||||||
- :doc:`../customer_invoices/snailmail`
|
- :doc:`../customer_invoices/snailmail`
|
||||||
|
Before Width: | Height: | Size: 15 KiB After Width: | Height: | Size: 13 KiB |
After Width: | Height: | Size: 14 KiB |
@ -30,8 +30,9 @@ Non-EEA territories:
|
|||||||
- Jersey;
|
- Jersey;
|
||||||
- Isle of Man.
|
- Isle of Man.
|
||||||
|
|
||||||
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the day's end,
|
When paying a bill in Odoo, you can select SEPA mandates as a payment option. At the end of the day,
|
||||||
you can generate the SEPA file containing all bank wire transfers and send it to the bank.
|
you can generate the SEPA file containing all bank wire transfers and upload it to your online
|
||||||
|
banking interface to process the payments.
|
||||||
|
|
||||||
By default, the file follows the SEPA Credit Transfer **'pain.001.001.03'** specifications. This is
|
By default, the file follows the SEPA Credit Transfer **'pain.001.001.03'** specifications. This is
|
||||||
a well-defined standard among banks. However, for Swiss and German companies, other formats are used
|
a well-defined standard among banks. However, for Swiss and German companies, other formats are used
|
||||||
@ -69,7 +70,7 @@ the BIC (bank identifier code) in the :guilabel:`Journal Entries` tab.
|
|||||||
Registering payments
|
Registering payments
|
||||||
--------------------
|
--------------------
|
||||||
|
|
||||||
You can register and vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
|
You can register any vendor payments made with SEPA. To do so, go to :menuselection:`Accounting -->
|
||||||
Vendors --> Payments`. When creating your payment, select :guilabel:`SEPA Credit Transfer` as the
|
Vendors --> Payments`. When creating your payment, select :guilabel:`SEPA Credit Transfer` as the
|
||||||
:guilabel:`Payment Method`.
|
:guilabel:`Payment Method`.
|
||||||
|
|
||||||
|
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 9.0 KiB |
Before Width: | Height: | Size: 32 KiB |
@ -4,157 +4,130 @@
|
|||||||
Reporting
|
Reporting
|
||||||
=========
|
=========
|
||||||
|
|
||||||
Main reports available
|
Odoo includes **generic** and **dynamic** reports available for all countries, regardless of the
|
||||||
======================
|
:doc:`localization package <../../finance/fiscal_localizations>` installed:
|
||||||
|
|
||||||
Besides the reports created specifically in each localisation module, a
|
- :ref:`accounting/reporting/balance-sheet`
|
||||||
few very useful **generic** and **dynamic reports** are available for all
|
- :ref:`accounting/reporting/profit-and-loss`
|
||||||
countries :
|
- :ref:`accounting/reporting/executive-summary`
|
||||||
|
- :ref:`accounting/reporting/general-ledger`
|
||||||
|
- :ref:`accounting/reporting/aged-receivable`
|
||||||
|
- :ref:`accounting/reporting/aged-payable`
|
||||||
|
- :ref:`accounting/reporting/cash-flow-statement`
|
||||||
|
- :ref:`accounting/reporting/tax-report`
|
||||||
|
|
||||||
- **Balance Sheet**
|
To expand the lines of a report and view its details, click the :icon:`fa-caret-right`
|
||||||
- **Profit and Loss**
|
(:guilabel:`right arrow`) on the left. Then click the :icon:`fa-caret-down` (:guilabel:`down arrow`)
|
||||||
- **Executive Summary**
|
to the right of the account, journal entry, payment, invoice, etc. to :guilabel:`Annotate` and view
|
||||||
- **General Ledger**
|
the details.
|
||||||
- **Aged Payable**
|
|
||||||
- **Aged Receivable**
|
|
||||||
- **Cash Flow Statement**
|
|
||||||
- **Tax Report**
|
|
||||||
- **Bank Reconciliation**
|
|
||||||
|
|
||||||
You can annotate every reports to print them and report to your adviser.
|
.. image:: reporting/reporting-annotate.png
|
||||||
Export to xls to manage extra analysis. Drill down in the reports to see
|
:alt: Annotate reports.
|
||||||
more details (payments, invoices, journal items, etc.).
|
|
||||||
|
|
||||||
You can also compare values with another period. Choose how many periods
|
To export reports in PDF or XLSX format, click :guilabel:`PDF` at the top or click the
|
||||||
you want to compare the chosen time period with. You can choose up to 12
|
:icon:`fa-caret-down` (:guilabel:`down arrow`) icon next to the :guilabel:`PDF` button and
|
||||||
periods back from the date of the report if you don't want to use the
|
select :guilabel:`XLSX`.
|
||||||
default **Previous 1 Period** option.
|
|
||||||
|
|
||||||
.. _reporting/balance-sheet:
|
To compare values across periods, click the :guilabel:`Comparison` menu and select the periods you
|
||||||
|
want to compare.
|
||||||
|
|
||||||
Balance Sheet
|
.. image:: reporting/reporting-comparison.png
|
||||||
-------------
|
:alt: Comparison menu to compare time periods.
|
||||||
|
|
||||||
The **Balance Sheet** shows a snapshot of the assets, liabilities and equity
|
|
||||||
of your organisation as at a particular date.
|
|
||||||
|
|
||||||
.. image:: reporting/main_reports09.png
|
|
||||||
|
|
||||||
.. _accounting/reporting/balance-sheet:
|
.. _accounting/reporting/balance-sheet:
|
||||||
|
|
||||||
|
Balance Sheet
|
||||||
|
=============
|
||||||
|
|
||||||
|
The :guilabel:`Balance Sheet` shows a snapshot of your organization's assets, liabilities, and
|
||||||
|
equity at a particular date.
|
||||||
|
|
||||||
|
.. _accounting/reporting/profit-and-loss:
|
||||||
|
|
||||||
Profit and Loss
|
Profit and Loss
|
||||||
---------------
|
===============
|
||||||
|
|
||||||
The **Profit and Loss** report (or **Income Statement**) shows your
|
The :guilabel:`Profit and Loss` report (or **Income Statement**) shows your company's net income by
|
||||||
organisation's net income, by deducting expenses from revenue for the
|
deducting expenses from revenue for the reporting period.
|
||||||
report period.
|
|
||||||
|
|
||||||
.. image:: reporting/main_reports10.png
|
|
||||||
|
|
||||||
.. _accounting/reporting/executive-summary:
|
.. _accounting/reporting/executive-summary:
|
||||||
|
|
||||||
Executive Summary
|
Executive Summary
|
||||||
-----------------
|
=================
|
||||||
|
|
||||||
The **Executive Summary** allows for a quick look at all the important
|
The :guilabel:`Executive Summary` provides an overview of all the important figures for overseeing
|
||||||
figures you need to run your company.
|
your company's performance.
|
||||||
|
|
||||||
In very basic terms, this is what each of the items in this section is
|
It includes the following items:
|
||||||
reporting :
|
|
||||||
|
|
||||||
- **Performance:**
|
- :guilabel:`Performance`:
|
||||||
- **Gross profit margin:**
|
- :guilabel:`Gross profit margin`:
|
||||||
The contribution each individual sale made
|
The contribution of all sales your business makes **minus** any direct costs needed to
|
||||||
by your business less any direct costs needed to make those sales
|
make those sales (labor, materials, etc.).
|
||||||
(things like labour, materials, etc).
|
- :guilabel:`Net profit margin`:
|
||||||
- **Net profit margin:**
|
The contribution of all sales made by your business **minus** any direct costs needed to
|
||||||
The contribution each individual sale made by
|
make those sales *and* fixed overheads your company has (electricity, rent, taxes
|
||||||
your business less any direct costs needed to make those sales,
|
to be paid as a result of those sales, etc.).
|
||||||
as well as any fixed overheads your company has (things like
|
- :guilabel:`Return on investment (per annum)`:
|
||||||
rent, electricity, taxes you need to pay as a result of those
|
The ratio of the net profit to the amount of assets the company used to make those profits.
|
||||||
sales).
|
- :guilabel:`Position`:
|
||||||
- **Return on investment (p.a.):**
|
- :guilabel:`Average debtors days`:
|
||||||
The ratio of net profit made, to the
|
The average number of days it takes your customers to (fully) pay you across all your
|
||||||
amount of assets the company used to make those profits.
|
customer invoices.
|
||||||
- **Position:**
|
- :guilabel:`Average creditors days`:
|
||||||
- **Average debtor days:**
|
The average number of days it takes you to (fully) pay your suppliers across all your bills.
|
||||||
The average number of days it takes your
|
- :guilabel:`Short-term cash forecast`:
|
||||||
customers to pay you (fully), across all your customer invoices.
|
How much cash is expected in or out of your business in the next month, i.e., the balance of
|
||||||
- **Average creditor days:**
|
your **Sales account** for the month **minus** the balance of your **Purchases account** for
|
||||||
The average number of days it takes you to
|
the month.
|
||||||
pay your suppliers (fully) across all your bills.
|
- :guilabel:`Current assets to liabilities`:
|
||||||
- **Short term cash forecast:**
|
Also referred to as the **current ratio**, this is the ratio of current assets (:dfn:`assets
|
||||||
How much cash is expected in or out of
|
that could be turned into cash within a year`) to the current liabilities (:dfn:`liabilities
|
||||||
your organisation in the next month i.e. balance of your **Sales
|
that will be due in the next year`). It is typically used to measure a company's ability to
|
||||||
account** for the month less the balance of your **Purchases account**
|
service its debt.
|
||||||
for the month.
|
|
||||||
- **Current assets to liabilities:**
|
|
||||||
Also referred to as **current ratio**, this is the ratio
|
|
||||||
of current assets (assets that could be
|
|
||||||
turned into cash within a year) to the current liabilities
|
|
||||||
(liabilities which will be due in the next year). This is
|
|
||||||
typically used as as a measure of a company's ability to service
|
|
||||||
its debt.
|
|
||||||
|
|
||||||
.. image:: reporting/main_reports01.png
|
.. _accounting/reporting/general-ledger:
|
||||||
|
|
||||||
General Ledger
|
General Ledger
|
||||||
--------------
|
==============
|
||||||
|
|
||||||
The **General Ledger Report** shows all transactions from all accounts for a
|
The :guilabel:`General Ledger` report shows all transactions from all accounts for a selected date
|
||||||
chosen date range. The initial summary report shows the totals for each
|
range. The initial summary report shows the totals for each account. To expand an account and view
|
||||||
account and from there you can view a detailed transaction report or any
|
its details, click the :icon:`fa-caret-right` (:guilabel:`right arrow`) on the left.
|
||||||
exceptions. This report is useful for checking every transaction that
|
This report is useful for reviewing each transaction that occurred during a specific period.
|
||||||
occurred during a certain period of time.
|
|
||||||
|
|
||||||
.. image:: reporting/main_reports05.png
|
.. _accounting/reporting/aged-receivable:
|
||||||
|
|
||||||
.. _reporting/aged-payable:
|
|
||||||
|
|
||||||
Aged Payable
|
|
||||||
------------
|
|
||||||
|
|
||||||
Run the **Aged Payable Details** report to display information on individual
|
|
||||||
bills, credit notes and overpayments owed by you, and how long these
|
|
||||||
have gone unpaid.
|
|
||||||
|
|
||||||
.. image:: reporting/main_reports02.png
|
|
||||||
|
|
||||||
.. _reporting/aged-receivable:
|
|
||||||
|
|
||||||
Aged Receivable
|
Aged Receivable
|
||||||
---------------
|
===============
|
||||||
|
|
||||||
The **Aged Receivables** report shows the sales invoices that were awaiting
|
The :guilabel:`Aged Receivable` report shows the sales invoices awaiting payment during a selected
|
||||||
payment during a selected month and several months prior.
|
month and several months prior.
|
||||||
|
|
||||||
.. image:: reporting/main_reports07.png
|
.. _accounting/reporting/aged-payable:
|
||||||
|
|
||||||
|
Aged Payable
|
||||||
|
============
|
||||||
|
|
||||||
|
The :guilabel:`Aged Payable` report displays information on individual bills, credit notes, and
|
||||||
|
overpayments you owe and how long these have gone unpaid.
|
||||||
|
|
||||||
.. _accounting/reporting/cash-flow-statement:
|
.. _accounting/reporting/cash-flow-statement:
|
||||||
|
|
||||||
Cash Flow Statement
|
Cash Flow Statement
|
||||||
-------------------
|
===================
|
||||||
|
|
||||||
The **Cash Flow Statement** shows how changes in balance sheet accounts and
|
The :guilabel:`Cash Flow Statement` shows how changes in balance sheet accounts and income affect
|
||||||
income affect cash and cash equivalents, and breaks the analysis down to
|
cash and cash equivalents and breaks the analysis down to operating, investing, and financing
|
||||||
operating, investing and financing activities.
|
activities.
|
||||||
|
|
||||||
.. image:: reporting/main_reports03.png
|
.. _accounting/reporting/tax-report:
|
||||||
|
|
||||||
.. _reporting/tax-report:
|
|
||||||
|
|
||||||
Tax Report
|
Tax Report
|
||||||
----------
|
==========
|
||||||
|
|
||||||
This report allows you to see the **net** and **tax amounts** for all the taxes
|
The :guilabel:`Tax Report` shows the :guilabel:`NET` and :guilabel:`TAX` amounts for all the
|
||||||
grouped by type (sale/purchase).
|
taxes grouped by type (:guilabel:`Sales`/:guilabel:`Purchases`).
|
||||||
|
|
||||||
.. image:: reporting/main_reports04.png
|
|
||||||
|
|
||||||
Bank Reconciliation
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
.. image:: reporting/main_reports06.png
|
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:titlesonly:
|
:titlesonly:
|
||||||
|
@ -1,5 +1,5 @@
|
|||||||
================
|
================
|
||||||
Financial budget
|
Analytic budgets
|
||||||
================
|
================
|
||||||
|
|
||||||
Managing budgets is an essential part of running a business. Budgets help people become more
|
Managing budgets is an essential part of running a business. Budgets help people become more
|
||||||
|
Before Width: | Height: | Size: 20 KiB |
Before Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 6.7 KiB |
Before Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 13 KiB |