[MERGE] Forward-port of branch 12.0 to 13.0
This commit is contained in:
commit
40afc9d9f0
2
conf.py
2
conf.py
@ -131,7 +131,7 @@ github_project = 'documentation'
|
||||
|
||||
locale_dirs = ['../locale/']
|
||||
|
||||
# custom docname_to_domain to devide the translations of applications in subdirectories
|
||||
# custom docname_to_domain to divide the translations of applications in subdirectories
|
||||
sphinx.transforms.i18n.docname_to_domain = (
|
||||
sphinx.util.i18n.docname_to_domain
|
||||
) = lambda docname, compact: docname.split('/')[1 if docname.startswith('applications/') else 0]
|
||||
|
@ -14,7 +14,7 @@ button.
|
||||
:align: center
|
||||
|
||||
Make sure you are connected as the administrator of the database you
|
||||
want to manage - many operations depends on indentifying you remotely to that
|
||||
want to manage - many operations depends on identifying you remotely to that
|
||||
database.
|
||||
|
||||
Several actions are available:
|
||||
@ -113,7 +113,7 @@ receive an e-mail with the URL of the test database.
|
||||
|
||||
**Testing your database is the most important step of the upgrade process!**
|
||||
Even though we test all upgrades manually, we do not know your work processes.
|
||||
A change in standard worfklows of Odoo in new versions might require you to
|
||||
A change in standard workflows of Odoo in new versions might require you to
|
||||
change internal processes, or some of the customizations you made through Odoo
|
||||
Studio might not work properly. *It is up to you to make sure that everything
|
||||
works as it should!* You can report issues with your test database through our
|
||||
|
@ -69,7 +69,7 @@ in ``/etc/odoo.conf`` set:
|
||||
of securing your deployment.
|
||||
Once it is correctly working and only matching a single database per hostname, it
|
||||
is strongly recommended to block access to the database manager screens,
|
||||
and to use the ``--no-database-list`` startup paramater to prevent listing
|
||||
and to use the ``--no-database-list`` startup parameter to prevent listing
|
||||
your databases, and to block access to the database management screens.
|
||||
See also security_.
|
||||
|
||||
@ -171,7 +171,7 @@ SSL Between Odoo and PostgreSQL
|
||||
|
||||
Since Odoo 11.0, you can enforce ssl connection between Odoo and PostgreSQL.
|
||||
in Odoo the db_sslmode control the ssl security of the connection
|
||||
with value choosed out of 'disable', 'allow', 'prefer', 'require', 'verify-ca'
|
||||
with value chosen out of 'disable', 'allow', 'prefer', 'require', 'verify-ca'
|
||||
or 'verify-full'
|
||||
|
||||
`PostgreSQL Doc <https://www.postgresql.org/docs/current/static/libpq-ssl.html>`_
|
||||
@ -386,7 +386,7 @@ notifications.
|
||||
|
||||
The solutions to support livechat/motifications in a WSGI application are:
|
||||
|
||||
* Deploy a threaded version of Odoo (instread of a process-based preforking
|
||||
* Deploy a threaded version of Odoo (instead of a process-based preforking
|
||||
one) and redirect only requests to URLs starting with ``/longpolling/`` to
|
||||
that Odoo, this is the simplest and the longpolling URL can double up as
|
||||
the cron instance.
|
||||
|
@ -14,7 +14,7 @@ Install the account_yodlee module
|
||||
----------------------------------
|
||||
|
||||
Start by installing the **account_yodlee** module, if it is not already
|
||||
installed. To do that, got the the menu
|
||||
installed. To do that, got the the menu
|
||||
:menuselection:`Accounting --> Configuration --> Settings` of the
|
||||
accounting application. In the section **Bank & Cash**, set the option **Bank
|
||||
Interface - Sync your bank feeds automatically**.
|
||||
@ -46,7 +46,7 @@ Then, you will have to provide your credentials to connect to PayPal.
|
||||
|
||||
.. note::
|
||||
Your Paypal **must be in English** (if it is not the case you must change
|
||||
the langage of your Paypal account) and if you use a Paypal business account
|
||||
the language of your Paypal account) and if you use a Paypal business account
|
||||
you must switch back to the old interface in order for it to work with
|
||||
Online feeds (you can switch from new to old interface in your Paypal account).
|
||||
|
||||
|
@ -283,7 +283,7 @@ process in Odoo, this considerations to understand the behavior are important.
|
||||
**1.1. How can I generate an invoice with payment term `PUE`?**
|
||||
|
||||
`According to the SAT documentation`_ a payment is classified as ``PUE`` if
|
||||
it was agreed that the invoice would be fully payed before the 1st of the
|
||||
it was agreed that the invoice would be fully paid before the 1st of the
|
||||
next calendar month (the month after the one in the CFDI date); any other
|
||||
condition will generate a ``PPD`` invoice.
|
||||
|
||||
@ -655,7 +655,7 @@ generic one with no explanation.
|
||||
'{http://www.sat.gob.mx/sitio_internet/cfd/catalogos}c_TipoRelacion' does
|
||||
not resolve to a(n) simple type definition., line 36``
|
||||
|
||||
This can be caused by a database backup restored in anothe server,
|
||||
This can be caused by a database backup restored in another server,
|
||||
or when the XSD files are not correctly downloaded. Follow the same steps
|
||||
as above but:
|
||||
|
||||
|
@ -147,7 +147,7 @@ This form is the same as :ref:`the one presented in the Accounting onboarding ba
|
||||
Invoice Layout
|
||||
--------------
|
||||
|
||||
With this tool, you can design the appearance of your documents by selecting which layout tamplate,
|
||||
With this tool, you can design the appearance of your documents by selecting which layout template,
|
||||
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
|
||||
|
663
content/applications/finance/accounting/localizations/mexico.rst
Normal file
663
content/applications/finance/accounting/localizations/mexico.rst
Normal file
@ -0,0 +1,663 @@
|
||||
======
|
||||
Mexico
|
||||
======
|
||||
|
||||
.. note::
|
||||
This documentation is written assuming that you follow and know the official
|
||||
documentation regarding Invoicing, Sales and Accounting and that you have
|
||||
experience working with odoo on such areas, we are not intended to put
|
||||
here procedures that are already explained on those documents, just the
|
||||
information necessary to allow you use odoo in a Company with the country
|
||||
"Mexico" set.
|
||||
|
||||
Introduction
|
||||
~~~~~~~~~~~~
|
||||
|
||||
The mexican localization is a group of 3 modules:
|
||||
|
||||
1. **l10n_mx:** All basic data to manage the accounting, taxes and the
|
||||
chart of account, this proposed chart of account installed is a intended
|
||||
copy of the list of group codes offered by the `SAT`_.
|
||||
2. **l10n_mx_edi**: All regarding to electronic transactions, CFDI 3.2 and 3.3,
|
||||
payment complement, invoice addendum.
|
||||
3. **l10n_mx_reports**: All mandatory electronic reports for electronic
|
||||
accounting are here (Accounting app required).
|
||||
|
||||
With the Mexican localization in Odoo you will be able not just to comply
|
||||
with the required features by law in México but to use it as your
|
||||
accounting and invoicing system due to all the set of normal requirements for
|
||||
this market, becoming your Odoo in the perfect solution to administer your
|
||||
company in Mexico.
|
||||
|
||||
Configuration
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
.. tip::
|
||||
After the configuration we will give you the process to test everything,
|
||||
try to follow step by step in order to allow you to avoid expend time on
|
||||
fix debugging problems. In any step you can recall the step and try again.
|
||||
|
||||
1. Install the Mexican Accounting Localization
|
||||
----------------------------------------------
|
||||
|
||||
For this, go in Apps and search for Mexico. Then click on *Install*.
|
||||
|
||||
.. image:: media/mexico01.png
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
When creating a database from www.odoo.com, if you choose Mexico
|
||||
as country when creating your account, the mexican localization will be
|
||||
automatically installed.
|
||||
|
||||
2. Electronic Invoices (CDFI 3.2 and 3.3 format)
|
||||
------------------------------------------------
|
||||
|
||||
To enable this requirement in Mexico go to configuration in accounting Go in
|
||||
:menuselection:`Accounting --> Settings` and enable the option on the image
|
||||
with this you will be able to generate the signed invoice (CFDI 3.2 and 3.3)
|
||||
and generate the payment complement signed as well (3.3 only) all fully
|
||||
integrate with the normal invoicing flow in Odoo.
|
||||
|
||||
.. image:: media/mexico02.png
|
||||
:align: center
|
||||
|
||||
.. _mx-legal-info:
|
||||
|
||||
3. Set you legal information in the company
|
||||
-------------------------------------------
|
||||
|
||||
First, make sure that your company is configured with the correct data.
|
||||
Go in :menuselection:`Settings --> Users --> Companies`
|
||||
and enter a valid address and VAT for
|
||||
your company. Don’t forget to define a mexican fiscal position on your
|
||||
company’s contact.
|
||||
|
||||
.. tip::
|
||||
If you want use the Mexican localization on test mode, you can put any known
|
||||
address inside Mexico with all fields for the company address and
|
||||
set the vat to **EKU9003173C9**.
|
||||
|
||||
.. image:: media/mexico03.png
|
||||
:align: center
|
||||
|
||||
.. warning::
|
||||
From a legal point of view, a Mexican company must use the local currency (MXN).
|
||||
Therefore, Odoo does not provide features to manage an alternative configuration.
|
||||
If you want to manage another currency, let MXN be the default currency and use
|
||||
price list instead.
|
||||
|
||||
4. Set the proper "Fiscal Position" on the partner that represent the company
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Go In the same form where you are editing the company save the record in
|
||||
order to set this form as a readonly and on readonly view click on the partner
|
||||
link, then edit it and set in the *Invoicing* tab the proper Fiscal Information
|
||||
(for the **Test Environment** this must be *601 - General de Ley Personas
|
||||
Morales*, just search it as a normal Odoo field if you can't see the option).
|
||||
|
||||
5. Enabling CFDI Version 3.3
|
||||
----------------------------
|
||||
|
||||
.. warning::
|
||||
This steps are only necessary when you will enable the CFDI 3.3 (only available
|
||||
for V11.0 and above) if you do not have Version 11.0 or above on your
|
||||
SaaS instance please ask for an upgrade sending a ticket to support in
|
||||
https://www.odoo.com/help.
|
||||
|
||||
Enable debug mode:
|
||||
|
||||
.. image:: media/mexico10.png
|
||||
:align: center
|
||||
|
||||
Go and look the following technical parameter, on
|
||||
:menuselection:`Settings --> Technical --> Parameters --> System Parameters`
|
||||
and set the parameter called *l10n_mx_edi_cfdi_version* to 3.3 (Create it if
|
||||
the entry with this name does not exist).
|
||||
|
||||
.. warning::
|
||||
The CFDI 3.2 will be legally possible until November 30th 2017 enable the
|
||||
3.3 version will be a mandatory step to comply with the new `SAT resolution`_
|
||||
in any new database created since v11.0 released CFDI 3.3 is the default
|
||||
behavior.
|
||||
|
||||
.. image:: media/mexico11.png
|
||||
:align: center
|
||||
|
||||
Important considerations when yo enable the CFDI 3.3
|
||||
====================================================
|
||||
|
||||
Your tax which represent the VAT 16% and 0% must have the "Factor Type" field
|
||||
set to "Tasa".
|
||||
|
||||
.. image:: media/mexico12.png
|
||||
:align: center
|
||||
.. image:: media/mexico13.png
|
||||
:align: center
|
||||
|
||||
You must go to the Fiscal Position configuration and set the proper code (it is
|
||||
the first 3 numbers in the name) for example for the test one you should set
|
||||
601, it will look like the image.
|
||||
|
||||
.. image:: media/mexico14.png
|
||||
:align: center
|
||||
|
||||
All products must have for CFDI 3.3 the "SAT code" and the field "Reference"
|
||||
properly set, you can export them and re import them to do it faster.
|
||||
|
||||
.. image:: media/mexico15.png
|
||||
:align: center
|
||||
|
||||
6. Configure the PAC in order to sign properly the invoices
|
||||
-----------------------------------------------------------
|
||||
|
||||
To configure the EDI with the **PACs**, you can go in
|
||||
:menuselection:`Accounting --> Settings --> Electronic Invoicing (MX)`.
|
||||
You can choose a PAC within the **List of supported PACs** on the *PAC field*
|
||||
and then enter your PAC username and PAC password.
|
||||
|
||||
.. warning::
|
||||
Remember you must sign up in the refereed PAC before hand, that process
|
||||
can be done with the PAC itself on this case we will have two
|
||||
(2) availables `Finkok`_ and `Solución Factible`_.
|
||||
|
||||
You must process your **Private Key (CSD)** with the SAT institution before
|
||||
follow this steps, if you do not have such information please try all the
|
||||
"Steps for Test" and come back to this process when you finish the process
|
||||
proposed for the SAT in order to set this information for your production
|
||||
environment with real transactions.
|
||||
|
||||
.. image:: media/mexico04.png
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
If you ticked the box *MX PAC test environment* there is no need
|
||||
to enter a PAC username or password.
|
||||
|
||||
.. image:: media/mexico05.png
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
Here is a SAT certificate you can use if you want to use the *Test
|
||||
Environment* for the Mexican Accounting Localization.
|
||||
|
||||
:download:` Certificate <files/certificate.cer>`
|
||||
:download:` Certificate Key <files/certificate.key>`
|
||||
- **Password:** 12345678a
|
||||
|
||||
7. Configure the tag in sales taxes
|
||||
-----------------------------------
|
||||
|
||||
This tag is used to set the tax type code, transferred or withhold, applicable
|
||||
to the concept in the CFDI.
|
||||
So, if the tax is a sale tax the "Tag" field should be "IVA", "ISR" or "IEPS".
|
||||
|
||||
.. image:: media/mexico33.png
|
||||
:align: center
|
||||
|
||||
Note that the default taxes already has a tag assigned, but when you create a
|
||||
new tax you should choose a tag.
|
||||
|
||||
Usage and testing
|
||||
~~~~~~~~~~~~~~~~~
|
||||
|
||||
Invoicing
|
||||
---------
|
||||
|
||||
To use the mexican invoicing you just need to do a normal invoice following
|
||||
the normal Odoo's behaviour.
|
||||
|
||||
Once you validate your first invoice a correctly signed invoice should look
|
||||
like this:
|
||||
|
||||
|
||||
.. image:: media/mexico07.png
|
||||
:align: center
|
||||
|
||||
You can generate the PDF just clicking on the Print button on the invoice or
|
||||
sending it by email following the normal process on odoo to send your invoice
|
||||
by email.
|
||||
|
||||
.. image:: media/mexico08.png
|
||||
:align: center
|
||||
|
||||
Once you send the electronic invoice by email this is the way it should looks
|
||||
like.
|
||||
|
||||
.. image:: media/mexico09.png
|
||||
:align: center
|
||||
|
||||
Cancelling invoices
|
||||
-------------------
|
||||
|
||||
The cancellation process is completely linked to the normal cancellation in Odoo.
|
||||
|
||||
If the invoice is not paid.
|
||||
|
||||
- Go to to the customer invoice journal where the invoice belong to
|
||||
|
||||
.. image:: media/mexico28.png
|
||||
:align: center
|
||||
|
||||
.. image:: media/mexico29.png
|
||||
:align: center
|
||||
|
||||
- Check the "Allow cancelling entries" field
|
||||
|
||||
.. image:: media/mexico29.png
|
||||
:align: center
|
||||
|
||||
- Go back to your invoice and click on the button "Cancel Invoice"
|
||||
|
||||
.. image:: media/mexico30.png
|
||||
:align: center
|
||||
|
||||
- For security reasons it is recommendable return the check on the to allow
|
||||
cancelling to false again, then go to the journal and un check such field.
|
||||
|
||||
**Legal considerations**
|
||||
|
||||
- A cancelled invoice will automatically cancelled on the SAT.
|
||||
- If you retry to use the same invoice after cancelled, you will have as much
|
||||
cancelled CFDI as you tried, then all those xml are important to maintain a
|
||||
good control of the cancellation reasons.
|
||||
- You must unlink all related payment done to an invoice on odoo before
|
||||
cancel such document, this payments must be cancelled to following the same
|
||||
approach but setting the "Allow Cancel Entries" in the payment itself.
|
||||
|
||||
Payments (Just available for CFDI 3.3)
|
||||
--------------------------------------
|
||||
|
||||
To generate the payment complement you only need to follow the normal payment
|
||||
process in Odoo, this considerations to understand the behavior are important.
|
||||
|
||||
1. To generate payment complement the payment term in the invoice must be
|
||||
PPD, because It is the expected behavior legally required for
|
||||
"Cash payment".
|
||||
|
||||
**1.1. How can I generate an invoice with payment term `PUE`?**
|
||||
|
||||
`According to the SAT documentation`_ a payment is classified as ``PUE`` if
|
||||
the invoice was agreed to be fully paid before the 17th of the next
|
||||
calendar month (the next month of the CFDI date), any other condition
|
||||
will generate a ``PPD`` invoice.
|
||||
|
||||
**1.2. How can I get this with Odoo?**
|
||||
|
||||
In order to set the appropriate CFDI payment term (PPD or PUE), you can
|
||||
easily set it by using the ``Payment Terms`` defined in the invoice.
|
||||
|
||||
- If an invoice is generated without ``Payment Term`` the attribute
|
||||
``MetodoPago`` will be ``PUE``.
|
||||
|
||||
- Today, if is the first day of the month and is generated an invoice with
|
||||
``Payment Term`` ``30 Net Days`` the ``Due Date`` calculated is going to
|
||||
be the first day of the following month, this means its before the 17th
|
||||
of the next month, then the attribute ``MetodoPago`` will be ``PUE``.
|
||||
|
||||
- Today, if an invoice is generated with ``Payment Term`` ``30 Net Days``
|
||||
and the ``Due Date`` is higher than the day 17 of the next month the
|
||||
``MetodoPago`` will be ``PPD``.
|
||||
|
||||
- If having a ``Payment Term`` with 2 lines or more, for example
|
||||
``30% Advance End of Following Month``, this is an installments term,
|
||||
then the attribute ``MetodoPago`` will be ``PPD``.
|
||||
|
||||
2. To test a normal signed payment just create an invoice with payment term
|
||||
``30% Advance End of Following Month`` and then register a payment to it.
|
||||
3. You must print the payment in order to retrieve the PDF properly.
|
||||
4. Regarding the "Payments in Advance" you must create a proper invoice with
|
||||
the payment in advance itself as a product line setting the proper SAT code
|
||||
following the procedure on the official documentation `given by the SAT`_
|
||||
in the section **Apéndice 2 Procedimiento para la emisión de los CFDI en el
|
||||
caso de anticipos recibidos**.
|
||||
5. Related to topic 4 it is blocked the possibility to create a Customer
|
||||
Payment without a proper invoice.
|
||||
|
||||
Accounting
|
||||
----------
|
||||
The accounting for Mexico in odoo is composed by 3 reports:
|
||||
|
||||
1. Chart of Account (Called and shown as COA).
|
||||
2. Electronic Trial Balance.
|
||||
3. DIOT report.
|
||||
|
||||
1 and 2 are considered as the electronic accounting, and the DIOT is a report
|
||||
only available on the context of the accounting.
|
||||
|
||||
You can find all those reports in the original report menu on Accounting app.
|
||||
|
||||
.. image:: media/mexico16.png
|
||||
:align: center
|
||||
|
||||
Electronic Accounting (Requires Accounting App)
|
||||
===============================================
|
||||
|
||||
Electronic Chart of account CoA
|
||||
-------------------------------
|
||||
|
||||
The electronic accounting never has been easier, just go to
|
||||
:menuselection:`Accounting --> Reporting --> Mexico --> COA` and click on the
|
||||
button **Export for SAT (XML)**
|
||||
|
||||
.. image:: media/mexico19.png
|
||||
:align: center
|
||||
|
||||
**How to add new accounts?**
|
||||
|
||||
If you add an account with the coding convention NNN.YY.ZZ where NNN.YY is a
|
||||
SAT coding group then your account will be automatically configured.
|
||||
|
||||
Example to add an Account for a new Bank account go to
|
||||
:menuselection:`Accounting --> Settings --> Chart of Account` and then create
|
||||
a new account on the button "Create" and try to create an account with the
|
||||
number 102.01.99 once you change to set the name you will see a tag
|
||||
automatically set, the tags set are the one picked to be used in the COA on
|
||||
xml.
|
||||
|
||||
.. image:: media/mexico20.png
|
||||
:align: center
|
||||
|
||||
**What is the meaning of the tag?**
|
||||
|
||||
To know all possible tags you can read the `Anexo 24`_ in the SAT
|
||||
website on the section called **Código agrupador de cuentas del SAT**.
|
||||
|
||||
.. tip::
|
||||
When you install the module l10n_mx and yous Chart of Account rely on it
|
||||
(this happen automatically when you install setting Mexico as country on
|
||||
your database) then you will have the more common tags if the tag you need
|
||||
is not created you can create one on the fly.
|
||||
|
||||
Electronic Trial Balance
|
||||
------------------------
|
||||
|
||||
Exactly as the COA but with Initial balance debit and credit, once you have
|
||||
your coa properly set you can go to :menuselection:`Accounting --> Reports --> Mexico --> Trial Balance`
|
||||
this is automatically generated, and can be exported to XML using the button
|
||||
in the top **Export for SAT (XML)** with the previous selection of the
|
||||
period you want to export.
|
||||
|
||||
.. image:: media/mexico21.png
|
||||
:align: center
|
||||
|
||||
All the normal auditory and analysis features are available here also as any
|
||||
regular Odoo Report.
|
||||
|
||||
DIOT Report (Requires Accounting App)
|
||||
=====================================
|
||||
|
||||
**What is the DIOT and the importance of presenting it SAT**
|
||||
|
||||
When it comes to procedures with the SAT Administration Service we know that
|
||||
we should not neglect what we present. So that things should not happen in Odoo.
|
||||
|
||||
The DIOT is the Informational Statement of Operations with Third Parties (DIOT),
|
||||
which is an an additional obligation with the VAT, where we must give the status
|
||||
of our operations to third parties, or what is considered the same, with our
|
||||
providers.
|
||||
|
||||
This applies both to individuals and to the moral as well, so if we have VAT
|
||||
for submitting to the SAT and also dealing with suppliers it is necessary to.
|
||||
submit the DIOT:
|
||||
|
||||
**When to file the DIOT and in what format?**
|
||||
|
||||
It is simple to present the DIOT, since like all format this you can obtain
|
||||
it in the page of the SAT, it is the electronic format A-29 that you can find
|
||||
in the SAT website.
|
||||
|
||||
Every month if you have operations with third parties it is necessary to
|
||||
present the DIOT, just as we do with VAT, so that if in January we have deals
|
||||
with suppliers, by February we must present the information pertinent to
|
||||
said data.
|
||||
|
||||
**Where the DIOT is presented?**
|
||||
|
||||
You can present DIOT in different ways, it is up to you which one you will
|
||||
choose and which will be more comfortable for you than you will present every
|
||||
month or every time you have dealings with suppliers.
|
||||
|
||||
The A-29 format is electronic so you can present it on the SAT page, but this
|
||||
after having made up to 500 records.
|
||||
|
||||
Once these 500 records are entered in the SAT, you must present them to the
|
||||
Local Taxpayer Services Administration (ALSC) with correspondence to your tax
|
||||
address, these records can be presented in a digital storage medium such as a
|
||||
CD or USB, which once validated you will be returned, so do not doubt that you
|
||||
will still have these records and of course, your CD or USB.
|
||||
|
||||
**One more fact to know: the Batch load?**
|
||||
|
||||
When reviewing the official SAT documents on DIOT, you will find the Batch
|
||||
load, and of course the first thing we think is what is that ?, and according
|
||||
to the SAT site is:
|
||||
|
||||
The "batch upload" is the conversion of records databases of transactions with
|
||||
suppliers made by taxpayers in text files (.txt). These files have the
|
||||
necessary structure for their application and importation into the system of
|
||||
the Informative Declaration of Operations with third parties, avoiding the
|
||||
direct capture and consequently, optimizing the time invested in its
|
||||
integration for the presentation in time and form to the SAT.
|
||||
|
||||
You can use it to present the DIOT, since it is allowed, which will make this
|
||||
operation easier for you, so that it does not exist to avoid being in line
|
||||
with the SAT in regard to the Information Statement of Operations with
|
||||
Third Parties.
|
||||
|
||||
You can find the `official information here`_.
|
||||
|
||||
**How Generate this report in odoo?**
|
||||
|
||||
- Go to :menuselection:`Accounting --> Reports --> Mexico --> Transactions with third partied (DIOT)`.
|
||||
|
||||
.. image:: media/mexico23.png
|
||||
:align: center
|
||||
|
||||
- A report view is shown, select last month to report the immediate before
|
||||
month you are or left the current month if it suits to you.
|
||||
|
||||
.. image:: media/mexico25.png
|
||||
:align: center
|
||||
|
||||
- Click on "Export (TXT).
|
||||
|
||||
.. image:: media/mexico24.png
|
||||
:align: center
|
||||
|
||||
- Save in a secure place the downloaded file and go to SAT website and follow
|
||||
the necessary steps to declare it.
|
||||
|
||||
Important considerations on your Supplier and Invice data for the DIOT
|
||||
======================================================================
|
||||
|
||||
- All suppliers must have set the fields on the accounting tab called "DIOT
|
||||
Information", the *L10N Mx Nationality* field is filled with just select the
|
||||
proper country in the address, you do not need to do anything else there, but
|
||||
the *L10N Mx Type Of Operation* must be filled by you in all your suppliers.
|
||||
|
||||
.. image:: media/mexico22.png
|
||||
:align: center
|
||||
|
||||
- There are 3 options of VAT for this report, 16%, 0% and exempt, an invoice
|
||||
line in odoo is considered exempt if no tax on it, the other 2 taxes are
|
||||
properly configured already.
|
||||
- Remember to pay an invoice which represent a payment in advance you must
|
||||
ask for the invoice first and then pay it and reconcile properly the payment
|
||||
following standard odoo procedure.
|
||||
- You do not need all you data on partners filled to try to generate the
|
||||
supplier invoice, you can fix this information when you generate the report
|
||||
itself.
|
||||
- Remember this report only shows the Supplier Invoices that were actually paid.
|
||||
|
||||
If some of this considerations are not taken into account a message like this
|
||||
will appear when generate the DIOT on TXT with all the partners you need to
|
||||
check on this particular report, this is the reason we recommend use this
|
||||
report not just to export your legal obligation but to generate it before
|
||||
the end of the month and use it as your auditory process to see all your
|
||||
partners are correctly set.
|
||||
|
||||
.. image:: media/mexico26.png
|
||||
:align: center
|
||||
|
||||
Extra Recommended features
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Contact Module (Free)
|
||||
---------------------
|
||||
|
||||
If you want to administer properly your customers, suppliers and addresses
|
||||
this module even if it is not a technical need, it is highly recommended to
|
||||
install.
|
||||
|
||||
Multi currency (Requires Accounting App)
|
||||
----------------------------------------
|
||||
|
||||
In Mexico almost all companies send and receive payments in different
|
||||
currencies if you want to manage such capability you should enable the multi
|
||||
currency feature and you should enable the synchronization with **Banxico**,
|
||||
such feature allow you retrieve the proper exchange rate automatically
|
||||
retrieved from SAT and not being worried of put such information daily in the
|
||||
system manually.
|
||||
|
||||
Go to settings and enable the multi currency feature.
|
||||
|
||||
.. image:: media/mexico17.png
|
||||
:align: center
|
||||
|
||||
Enabling Explicit errors on the CFDI using the XSD local validator (CFDI 3.3)
|
||||
-----------------------------------------------------------------------------
|
||||
|
||||
Frequently you want receive explicit errors from the fields incorrectly set
|
||||
on the xml, those errors are better informed to the user if the check is
|
||||
enable, to enable the Check with xsd feature follow the next steps (with
|
||||
debug mode enabled).
|
||||
|
||||
- Go to :menuselection:`Settings --> Technical --> Actions --> Server Actions`
|
||||
- Look for the Action called "Download XSD files to CFDI"
|
||||
- Click on button "Create Contextual Action"
|
||||
- Go to the company form :menuselection:`Settings --> Users&Companies --> Companies`
|
||||
- Open any company you have.
|
||||
- Click on "Action" and then on "Download XSD file to CFDI".
|
||||
|
||||
.. image:: media/mexico18.png
|
||||
:align: center
|
||||
|
||||
Now you can make an invoice with any error (for example a product without
|
||||
code which is pretty common) and an explicit error will be shown instead a
|
||||
generic one with no explanation.
|
||||
|
||||
.. note::
|
||||
If you see an error like this:
|
||||
|
||||
The cfdi generated is not valid
|
||||
|
||||
attribute decl. 'TipoRelacion', attribute 'type': The QName value
|
||||
'{http://www.sat.gob.mx/sitio_internet/cfd/catalogos}c_TipoRelacion' does
|
||||
not resolve to a(n) simple type definition., line 36
|
||||
|
||||
This can be caused because of a database backup restored in another server,
|
||||
or when the XSD files are not correctly downloaded. Follow the same steps
|
||||
as above but:
|
||||
|
||||
- Go to the company in which the error occurs.
|
||||
- Click on "Action" and then on "Download XSD file to CFDI".
|
||||
|
||||
|
||||
FAQ
|
||||
~~~
|
||||
|
||||
- **Error message** (Only applicable on CFDI 3.3):
|
||||
|
||||
:9:0:ERROR:SCHEMASV:SCHEMAV_CVC_MINLENGTH_VALID: Element '{http://www.sat.gob.mx/cfd/3}Concepto', attribute 'NoIdentificacion': [facet 'minLength'] The value '' has a length of '0'; this underruns the allowed minimum length of '1'.
|
||||
|
||||
:9:0:ERROR:SCHEMASV:SCHEMAV_CVC_PATTERN_VALID: Element '{http://www.sat.gob.mx/cfd/3}Concepto', attribute 'NoIdentificacion': [facet 'pattern'] The value '' is not accepted by the pattern '[^|]{1,100}'.
|
||||
|
||||
.. tip::
|
||||
**Solution:** You forget to set the proper "Reference" field in the product,
|
||||
please go to the product form and set your internal reference properly.
|
||||
|
||||
- **Error message**:
|
||||
|
||||
:6:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Element '{http://www.sat.gob.mx/cfd/3}RegimenFiscal': The attribute 'Regimen' is required but missing.
|
||||
|
||||
:5:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Element '{http://www.sat.gob.mx/cfd/3}Emisor': The attribute 'RegimenFiscal' is required but missing.
|
||||
|
||||
.. tip::
|
||||
**Solution:** You forget to set the proper "Fiscal Position" on the
|
||||
partner of the company, go to customers, remove the customer filter and
|
||||
look for the partner called as your company and set the proper fiscal
|
||||
position which is the kind of business you company does related to SAT
|
||||
list of possible values, antoher option can be that you forgot follow the
|
||||
considerations about fiscal positions.
|
||||
|
||||
Yo must go to the Fiscal Position configuration and set the proper code (it is
|
||||
the first 3 numbers in the name) for example for the test one you should set
|
||||
601, it will look like the image.
|
||||
|
||||
.. image:: media/mexico27.png
|
||||
:align: center
|
||||
|
||||
.. tip::
|
||||
For testing purposes this value must be *601 - General de Ley Personas Morales*
|
||||
which is the one required for the demo VAT.
|
||||
|
||||
- **Error message**:
|
||||
|
||||
:2:0:ERROR:SCHEMASV:SCHEMAV_CVC_ENUMERATION_VALID: Element '{http://www.sat.gob.mx/cfd/3}Comprobante', attribute 'FormaPago': [facet 'enumeration'] The value '' is not an element of the set {'01', '02', '03', '04', '05', '06', '08', '12', '13', '14', '15', '17', '23', '24', '25', '26', '27', '28', '29', '30', '99'}
|
||||
|
||||
.. tip::
|
||||
**Solution:** The payment method is required on your invoice.
|
||||
|
||||
.. image:: media/mexico31.png
|
||||
:align: center
|
||||
|
||||
- **Error message**:
|
||||
|
||||
:2:0:ERROR:SCHEMASV:SCHEMAV_CVC_ENUMERATION_VALID: Element '{http://www.sat.gob.mx/cfd/3}Comprobante', attribute 'LugarExpedicion': [facet 'enumeration'] The value '' is not an element of the set {'00
|
||||
:2:0:ERROR:SCHEMASV:SCHEMAV_CVC_DATATYPE_VALID_1_2_1: Element '{http://www.sat.gob.mx/cfd/3}Comprobante', attribute 'LugarExpedicion': '' is not a valid value of the atomic type '{http://www.sat.gob.mx/sitio_internet/cfd/catalogos}c_CodigoPostal'.
|
||||
:5:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Element '{http://www.sat.gob.mx/cfd/3}Emisor': The attribute 'Rfc' is required but missing.
|
||||
|
||||
.. tip::
|
||||
**Solution:** You must set the address on your company properly, this is a
|
||||
mandatory group of fields, you can go to your company configuration on
|
||||
:menuselection:`Settings --> Users & Companies --> Companies` and fill
|
||||
all the required fields for your address following the step
|
||||
:ref:`mx-legal-info`.
|
||||
|
||||
- **Error message**:
|
||||
|
||||
:2:0:ERROR:SCHEMASV:SCHEMAV_CVC_DATATYPE_VALID_1_2_1: Element '{http://www.sat.gob.mx/cfd/3}Comprobante', attribute 'LugarExpedicion': '' is not a valid value of the atomic type '{http://www.sat.gob.mx/sitio_internet/cfd/catalogos}c_CodigoPostal'.
|
||||
|
||||
.. tip::
|
||||
**Solution:** The postal code on your company address is not a valid one
|
||||
for Mexico, fix it.
|
||||
|
||||
.. image:: media/mexico32.png
|
||||
:align: center
|
||||
|
||||
- **Error message**:
|
||||
|
||||
:18:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Element '{http://www.sat.gob.mx/cfd/3}Traslado': The attribute 'TipoFactor' is required but missing.
|
||||
:34:0:ERROR:SCHEMASV:SCHEMAV_CVC_COMPLEX_TYPE_4: Element '{http://www.sat.gob.mx/cfd/3}Traslado': The attribute 'TipoFactor' is required but missing.", '')
|
||||
|
||||
.. tip::
|
||||
**Solution:** Set the mexican name for the tax 0% and 16% in your system
|
||||
and used on the invoice.
|
||||
|
||||
Your tax which represent the VAT 16% and 0% must have the "Factor Type" field
|
||||
set to "Tasa".
|
||||
|
||||
.. image:: media/mexico12.png
|
||||
:align: center
|
||||
.. image:: media/mexico13.png
|
||||
:align: center
|
||||
|
||||
.. _SAT: http://www.sat.gob.mx/fichas_tematicas/buzon_tributario/Documents/Anexo24_05012015.pdf
|
||||
.. _Finkok: https://www.finkok.com/contacto.html
|
||||
.. _`Solución Factible`: https://solucionfactible.com/sf/v3/timbrado.jsp
|
||||
.. _`SAT resolution`: http://sat.gob.mx/informacion_fiscal/factura_electronica/Paginas/Anexo_20_version3.3.aspx
|
||||
.. _`According to the SAT documentation`: https://www.sat.gob.mx/cs/Satellite?blobcol=urldata&blobkey=id&blobtable=MungoBlobs&blobwhere=1461173400586&ssbinary=true
|
||||
.. _`given by the SAT`: http://sat.gob.mx/informacion_fiscal/factura_electronica/Documents/GuiaAnexo20DPA.pdf
|
||||
.. _`Anexo 24`: http://www.sat.gob.mx/fichas_tematicas/buzon_tributario/Documents/Anexo24_05012015.pdf
|
||||
.. _`official information here`: http://www.sat.gob.mx/fichas_tematicas/declaraciones_informativas/Paginas/declaracion_informativa_terceros.aspx
|
@ -0,0 +1,141 @@
|
||||
========================
|
||||
Manage your fixed assets
|
||||
========================
|
||||
|
||||
The "Assets" module allows you to keep track of your fixed assets like
|
||||
machinery, land and building. The module allows you to generate monthly
|
||||
depreciation entries automatically, get depreciation board, sell or
|
||||
dispose assets and perform reports on your company assets.
|
||||
|
||||
As an example, you may buy a car for $36,000 (gross value) and you plan
|
||||
to amortize it over 36 months (3 years). Every months (periodicity),
|
||||
Odoo will create a depreciation entry automatically reducing your assets
|
||||
value by $1,000 and passing $1,000 as an expense. After 3 years, this
|
||||
assets accounts for $0 (salvage value) in your balance sheet.
|
||||
|
||||
The different types of assets are grouped into "Assets Types" that
|
||||
describe how to deprecate an asset. Here are two examples of assets
|
||||
types:
|
||||
|
||||
- Building: 10 years, yearly linear depreciation
|
||||
- Car: 5 years, monthly linear depreciation
|
||||
|
||||
Configuration
|
||||
=============
|
||||
|
||||
Install the Asset module
|
||||
------------------------
|
||||
|
||||
Start by *installing the Asset module.*
|
||||
|
||||
Once the module is installed, you should see two new menus in the
|
||||
accounting application:
|
||||
|
||||
- :menuselection:`Adviser --> Assets`
|
||||
- :menuselection:`Configuration --> Asset Types`
|
||||
|
||||
Before registering your first asset, you must :ref:`define your Asset
|
||||
Types <accounting/adviser/assets_management/defining>`.
|
||||
|
||||
.. _accounting/adviser/assets_management/defining:
|
||||
|
||||
Defining Asset Types
|
||||
--------------------
|
||||
|
||||
Asset type are used to configure all information about an assets: asset
|
||||
and deprecation accounts, amortization method, etc. That way, advisers
|
||||
can configure asset types and users can further record assets without
|
||||
having to provide any complex accounting information. They just need to
|
||||
provide an asset type on the supplier bill.
|
||||
|
||||
You should create asset types for every group of assets you frequently
|
||||
buy like "Cars: 5 years", "Computer Hardware: 3 years". For all other
|
||||
assets, you can create generic asset types. Name them according to the
|
||||
duration of the asset like "36 Months", "10 Years", ...
|
||||
|
||||
To define asset types, go to :menuselection:`Configuration --> Asset
|
||||
Types`
|
||||
|
||||
.. image:: media/image01.png
|
||||
:align: center
|
||||
|
||||
Create assets manually
|
||||
======================
|
||||
|
||||
To register an asset manually, go to the menu :menuselection:`Adviser
|
||||
--> Assets`.
|
||||
|
||||
.. image:: media/image08.png
|
||||
:align: center
|
||||
|
||||
Once your asset is created, don't forget to Confirm it. You can also
|
||||
click on the Compute Depreciation button to check the depreciation board
|
||||
before confirming the asset.
|
||||
|
||||
.. tip::
|
||||
|
||||
if you create asset manually, you still need to create the supplier
|
||||
bill for this asset. The asset document will only produce the
|
||||
depreciation journal entries, not those related to the supplier
|
||||
bill.
|
||||
|
||||
Create assets automatically from a supplier bill
|
||||
================================================
|
||||
|
||||
Assets can be automatically created from supplier bills. All you need to
|
||||
do is to set an asset category on your bill line. When the user will
|
||||
validate the bill, an asset will be automatically created, using the
|
||||
information of the supplier bill.
|
||||
|
||||
.. image:: media/image09.png
|
||||
|
||||
Depending on the information on the asset category, the asset will be
|
||||
created in draft or directly validated\ *.* It's easier to confirm
|
||||
assets directly so that you won't forget to confirm it afterwards.
|
||||
(check the field *Skip Draft State* on *Asset Category)* Generate assets
|
||||
in draft only when you want your adviser to control all the assets
|
||||
before posting them to your accounts.
|
||||
|
||||
.. tip:: if you put the asset on the product, the asset category will
|
||||
automatically be filled in the supplier bill.
|
||||
|
||||
How to depreciate an asset?
|
||||
===========================
|
||||
|
||||
Odoo will create depreciation journal entries automatically at the right
|
||||
date for every confirmed asset. (not the draft ones). You can control in
|
||||
the depreciation board: a green bullet point means that the journal
|
||||
entry has been created for this line.
|
||||
|
||||
But you can also post journal entries before the expected date by
|
||||
clicking on the green bullet and forcing the creation of related
|
||||
depreciation entry.
|
||||
|
||||
.. image:: media/image11.png
|
||||
:align: center
|
||||
|
||||
.. note:: In the Depreciation board, click on the red bullet to post
|
||||
the journal entry. Click on the :guilabel:`Items` button on
|
||||
the top to see the journal entries which are already posted.
|
||||
|
||||
How to modify an existing asset?
|
||||
================================
|
||||
|
||||
- Click on :guilabel:`Modify Depreciation`
|
||||
- Change the number of depreciation
|
||||
|
||||
Odoo will automatically recompute a new depreciation board.
|
||||
|
||||
How to record the sale or disposal of an asset?
|
||||
===============================================
|
||||
|
||||
If you sell or dispose an asset, you need to deprecate completely this
|
||||
asset. Click on the button :guilabel:`Sell or Dispose`. This action
|
||||
will post the full costs of this assets but it will not record the
|
||||
sales transaction that should be registered through a customer
|
||||
invoice.
|
||||
|
||||
.. todo:: → This has to be changed in Odoo: selling an asset should:
|
||||
|
||||
#. remove all "Red" lines
|
||||
#. create a new line that deprecate the whole residual value
|
@ -183,8 +183,8 @@ automatic recharging of the services to the customer at the end of the
|
||||
month. To invoice customers, just link the analytic account to a sale
|
||||
order and sell products that manage timesheet or expenses .
|
||||
|
||||
Case 3: IT Services Company: perfomance analysis
|
||||
------------------------------------------------
|
||||
Case 3: IT Services Company: performance analysis
|
||||
-------------------------------------------------
|
||||
|
||||
Most IT service companies face the following problems:
|
||||
|
||||
|
@ -117,9 +117,9 @@ Troubleshooting
|
||||
The bank refuses my SEPA file
|
||||
-----------------------------
|
||||
|
||||
Ask your bank if they support the **SEPA Credit Transfer specification**
|
||||
Ask your bank if they support the **SEPA Credit Transfer specification**
|
||||
(the SEPA pain version depends on the country set on your company). If
|
||||
they don't, or cannot provide relevant informations, please forward the
|
||||
they don't, or cannot provide relevant information, please forward the
|
||||
error message to your Odoo partner.
|
||||
|
||||
There is no Bank Identifier Code recorded for bank account ...
|
||||
|
@ -113,6 +113,6 @@ on the day of issuance, and the balance is due at the end of the following month
|
||||
The $1000 debited on the Account Receivable is split into two distinct *Journal Items*. Both of
|
||||
them have their own **Due Date**.
|
||||
|
||||
.. seealso::
|
||||
.. seealso::
|
||||
- :doc:`cash_discounts`
|
||||
- `Odoo Learn: Terms and Conditions (T&C) and Payment Terms <https://www.odoo.com/r/fpv>`_
|
||||
- `Odoo Learn: Terms and Conditions (T&C) and Payment Terms <https://www.odoo.com/r/fpv>`_
|
||||
|
@ -15,7 +15,7 @@ Set up Snailmail
|
||||
|
||||
.. image:: media/setup_snailmail.png
|
||||
:align: center
|
||||
:alt: Under settings enable the snailmail feauture in Odoo Accounting
|
||||
:alt: Under settings enable the snailmail feature in Odoo Accounting
|
||||
|
||||
Send your invoices by post
|
||||
--------------------------
|
||||
|
@ -40,7 +40,7 @@ Configuration
|
||||
|
||||
- Create a journal **Checks**
|
||||
|
||||
- Set **Undeposited Checks** as a defaut credit/debit account
|
||||
- Set **Undeposited Checks** as a default credit/debit account
|
||||
|
||||
- Set the bank account related to this journal as **Allow Reconciliation**
|
||||
|
||||
|
@ -51,7 +51,7 @@ Salestax is calculated in Odoo based on fiscal positions
|
||||
A Fiscal Position for the United States is created when installing *TaxCloud*.
|
||||
Everything works out-of-the-box.
|
||||
|
||||
You can configure Odoo to automtically detect which Customers should use this fiscal
|
||||
You can configure Odoo to automatically detect which Customers should use this fiscal
|
||||
position. Go to :menuselection:`Accounting --> Configuration --> Fiscal Positions`
|
||||
to open and edit the record.
|
||||
|
||||
|
@ -4,7 +4,7 @@ How to import data into Odoo
|
||||
|
||||
How to start
|
||||
------------
|
||||
You can import data on any Odoo's business object using either Excel
|
||||
You can import data on any Odoo's business object using either Excel
|
||||
(.xlsx) or CSV (.csv) formats:
|
||||
contacts, products, bank statements, journal entries and even orders!
|
||||
|
||||
@ -14,7 +14,7 @@ Open the view of the object you want to populate and click *Import*.
|
||||
:align: center
|
||||
|
||||
There you are provided with templates you can easily populate
|
||||
with your own data. Such templates can be imported in one click;
|
||||
with your own data. Such templates can be imported in one click;
|
||||
The data mapping is already done.
|
||||
|
||||
How to adapt the template
|
||||
@ -27,7 +27,7 @@ How to adapt the template
|
||||
.. image:: media/dragdown.gif
|
||||
:align: center
|
||||
|
||||
* When you add a new column, Odoo might not be able to map it automatically if its
|
||||
* When you add a new column, Odoo might not be able to map it automatically if its
|
||||
label doesn't fit any field in Odoo. Don't worry! You can map
|
||||
new columns manually when you test the import. Search the list for the
|
||||
corresponding field.
|
||||
@ -42,33 +42,33 @@ How to adapt the template
|
||||
How to import from another application
|
||||
--------------------------------------
|
||||
|
||||
In order to re-create relationships between different records,
|
||||
you should use the unique identifier from the original application
|
||||
and map it to the **ID** (External ID) column in Odoo.
|
||||
When you import another record that links to the first one,
|
||||
In order to re-create relationships between different records,
|
||||
you should use the unique identifier from the original application
|
||||
and map it to the **ID** (External ID) column in Odoo.
|
||||
When you import another record that links to the first one,
|
||||
use **XXX/ID** (XXX/External ID) to the original unique identifier.
|
||||
You can also find this record using its name but you will be stuck
|
||||
You can also find this record using its name but you will be stuck
|
||||
if at least 2 records have the same name.
|
||||
|
||||
The **ID** will also be used to update the original import
|
||||
if you need to re-import modified data later,
|
||||
The **ID** will also be used to update the original import
|
||||
if you need to re-import modified data later,
|
||||
it's thus good practice to specify it whenever possible.
|
||||
|
||||
|
||||
I cannot find the field I want to map my column to
|
||||
--------------------------------------------------
|
||||
|
||||
Odoo tries to find with some heuristic, based on the first ten lines of
|
||||
the files, the type of field for each column inside your file.
|
||||
For example if you have a column only containing numbers,
|
||||
only the fields that are of type *Integer* will be displayed for you
|
||||
to choose from.
|
||||
While this behavior might be good and easy for most cases,
|
||||
it is also possible that it goes wrong or that you want to
|
||||
Odoo tries to find with some heuristic, based on the first ten lines of
|
||||
the files, the type of field for each column inside your file.
|
||||
For example if you have a column only containing numbers,
|
||||
only the fields that are of type *Integer* will be displayed for you
|
||||
to choose from.
|
||||
While this behavior might be good and easy for most cases,
|
||||
it is also possible that it goes wrong or that you want to
|
||||
map your column to a field that is not proposed by default.
|
||||
|
||||
If that happens, you just have to check the
|
||||
** Show fields of relation fields (advanced)** option,
|
||||
If that happens, you just have to check the
|
||||
** Show fields of relation fields (advanced)** option,
|
||||
you will then be able to choose from the complete list of fields for each column.
|
||||
|
||||
.. image:: media/field_list.png
|
||||
@ -145,14 +145,14 @@ link to a record of the 'Country' object. When you want to import such fields, O
|
||||
recreate links between the different records. To help you import such fields, Odoo provides three
|
||||
mechanisms. You must use one and only one mechanism per field you want to import.
|
||||
|
||||
For example, to reference the country of a contact, Odoo proposes you 3 different fields to import:
|
||||
For example, to reference the country of a contact, Odoo proposes you 3 different fields to import:
|
||||
|
||||
- Country: the name or code of the country
|
||||
- Country/Database ID: the unique Odoo ID for a record, defined by the ID postgresql column
|
||||
- Country/External ID: the ID of this record referenced in another application (or the .XML file
|
||||
that imported it)
|
||||
|
||||
For the country Belgium, you can use one of these 3 ways to import:
|
||||
For the country Belgium, you can use one of these 3 ways to import:
|
||||
|
||||
- Country: Belgium
|
||||
- Country/Database ID: 21
|
||||
@ -226,7 +226,7 @@ Can I import several times the same record?
|
||||
-------------------------------------------
|
||||
|
||||
If you import a file that contains one of the column "External ID" or "Database ID", records that
|
||||
have already been imported will be modified instead of being created. This is very usefull as it
|
||||
have already been imported will be modified instead of being created. This is very useful as it
|
||||
allows you to import several times the same CSV file while having made some changes in between two
|
||||
imports. Odoo will take care of creating or modifying each record depending if it's new or not.
|
||||
|
||||
|
@ -3,7 +3,7 @@ How to generate an Unsplash access key
|
||||
=======================================================
|
||||
|
||||
.. tip::
|
||||
**As an SaaS user**, you are ready to use Unsplash. You won't need to follow this guide to set up Unsplash informations, since you will use our own Odoo Unsplash key in a transparent way.
|
||||
**As an SaaS user**, you are ready to use Unsplash. You won't need to follow this guide to set up Unsplash information, since you will use our own Odoo Unsplash key in a transparent way.
|
||||
|
||||
Generate an Unsplash access key for **non-Saas** users
|
||||
======================================================
|
||||
|
@ -266,7 +266,7 @@ Profit&Loss section to your assets.
|
||||
===================================== ===== ======
|
||||
|
||||
If the stock value decreased, the **Inventory** account is credited
|
||||
and te **Inventory Variations** debited.
|
||||
and the **Inventory Variations** debited.
|
||||
|
||||
.. raw:: html
|
||||
|
||||
|
@ -78,7 +78,7 @@ Create an internal transfer
|
||||
===========================
|
||||
|
||||
The final step is to create your internal transfer. If you want to
|
||||
tranfer 2 units of a product from your first warehouse to another one in
|
||||
transfer 2 units of a product from your first warehouse to another one in
|
||||
Brussels, proceed as follows:
|
||||
|
||||
From your dashboard, select a internal movement of one of the two
|
||||
|
@ -69,7 +69,7 @@ are triggered until a transfer between the *Stock* and the *Picking
|
||||
Area* is created.
|
||||
|
||||
.. note::
|
||||
All theses transfers are pre-generated by Odoo, starting from the end and going backwards.
|
||||
All these transfers are pre-generated by Odoo, starting from the end and going backwards.
|
||||
While working, the operator process these transfers in the opposite order: first the picking,
|
||||
then the packing, then the delivery order.
|
||||
|
||||
|
@ -10,7 +10,7 @@ In order to use the Odoo UPS API, you will need:
|
||||
|
||||
- An Access Key
|
||||
|
||||
An Access Key is a 16 character alpha-numeric code that allows access to
|
||||
An Access Key is a 16 character alphanumeric code that allows access to
|
||||
the UPS Developer Kit API Development and Production servers.
|
||||
|
||||
Create a UPS Account
|
||||
|
@ -49,7 +49,7 @@ Standard units of measures
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
Let's take the classic units of measures existing in Odoo as first
|
||||
example. Please remember that differents units of measures between sales
|
||||
example. Please remember that different units of measures between sales
|
||||
and purchase necessarily need to share the same category. Categories
|
||||
include: **Unit**, **weight**, **working time**, **volume**, etc.
|
||||
|
||||
|
@ -6,7 +6,7 @@ If your company regularly buys products from several suppliers, it would
|
||||
be useful to get statistics on your purchases. There are several reasons
|
||||
to track and analyze your vendor's performance :
|
||||
|
||||
- You can see how dependant from a supplier your company is;
|
||||
- You can see how dependent from a supplier your company is;
|
||||
|
||||
- you can negotiate discounts on prices;
|
||||
|
||||
@ -84,7 +84,7 @@ To do so, use the **Advanced search view** located in the right hand side
|
||||
of your screen, by clicking on the magnifying glass icon at the end of
|
||||
the search bar button. This function allows you to highlight only
|
||||
selected data on your report. The **filters** option is very useful in
|
||||
order to display some categories of datas, while the **Group by** option
|
||||
order to display some categories of data, while the **Group by** option
|
||||
improves the readability of your reports. Note that you can filter and
|
||||
group by any existing field, making your customization very flexible and
|
||||
powerful.
|
||||
|
@ -17,7 +17,7 @@ Start generating leads
|
||||
==========================
|
||||
You will now have a new button **Generate Leads** available in your pipeline.
|
||||
You are also able to create lead mining requests from the
|
||||
:menuselection:`Configuration --> Lead Mining Requests` and trough
|
||||
:menuselection:`Configuration --> Lead Mining Requests` and through
|
||||
:menuselection:`Leads --> Leads` where you have the **Generate Leads** button.
|
||||
|
||||
.. image:: media/LM2.png
|
||||
|
@ -3,7 +3,7 @@ Assign leads based on scoring
|
||||
=============================
|
||||
|
||||
With *Leads Scoring* you can automatically rank your leads based on
|
||||
selected criterias.
|
||||
selected criteria.
|
||||
|
||||
For example you could score customers from your country higher or the
|
||||
ones that visited specific pages on your website.
|
||||
@ -24,7 +24,7 @@ You now have a new tab in your *CRM* app called *Leads Management*
|
||||
where you can manage your scoring rules.
|
||||
|
||||
Here's an example for a Canadian lead, you can modify for whatever
|
||||
criteria you wish to score your leads on. You can add as many criterias
|
||||
criteria you wish to score your leads on. You can add as many criteria
|
||||
as you wish.
|
||||
|
||||
.. image:: media/lead_scoring02.png
|
||||
|
@ -24,7 +24,7 @@ Configure the Lane/5000 for Ingenico BENELUX
|
||||
Click on the F button of the terminal, then go in the
|
||||
:menuselection:`PoS Menu --> Settings` and enter the settings password.
|
||||
|
||||
Now, click on connexion change and TCP/IP. Type the IP of your *IoT
|
||||
Now, click on connection change and TCP/IP. Type the IP of your *IoT
|
||||
Box* (you can find it on the form view of your IoT Box). Then, enter
|
||||
9000 as port. The terminal will restart. Once it is done, go on your
|
||||
*IoT Box* form in Odoo and verify that the terminal has been found.
|
||||
@ -66,12 +66,12 @@ still retry to send the payment request.
|
||||
|
||||
If there is any issue with the payment terminal, you can still force the
|
||||
payment using the *Force Done*. This will allow you to validate the
|
||||
order in Odoo even if the connexion between the terminal and Odoo has
|
||||
order in Odoo even if the connection between the terminal and Odoo has
|
||||
issues.
|
||||
|
||||
.. note::
|
||||
This option will only be available if you received an error message
|
||||
telling you the connexion failed.
|
||||
telling you the connection failed.
|
||||
|
||||
Once your payment is processed, on the payment record, you’ll find the
|
||||
type of card that has been used and the transaction ID.
|
||||
|
@ -50,5 +50,5 @@ Successful*. You can always reverse the last transaction by clicking on
|
||||
|
||||
If there is any issue with the payment terminal, you can still force the
|
||||
payment using the *Force Done*. This will allow you to validate the
|
||||
order in Odoo even if the connexion between the terminal and Odoo
|
||||
order in Odoo even if the connection between the terminal and Odoo
|
||||
encounters issues.
|
||||
|
@ -24,7 +24,7 @@ Listing with variations
|
||||
=======================
|
||||
|
||||
When the **use eBay** on a product with variations is checked and with **Fixed
|
||||
Price** as **Listing Type**, the eBay form is sligthly different. In the
|
||||
Price** as **Listing Type**, the eBay form is slightly different. In the
|
||||
variants array, you can choose which variant will be listed on eBay as well as
|
||||
set the price and the quantity for each variant.
|
||||
|
||||
@ -47,4 +47,4 @@ Products identifiers such as EAN, UPC, Brand or MPN are required in most of the
|
||||
The module manages the EAN and UPC identifiers with the **Barcode** field of the product variant.
|
||||
If the **Barcode** field is empty or is value is not valid, the EAN and UPC values will be set as 'Does not apply' as recommended by eBay.
|
||||
The Brand and MPN values are working as item specifics and should be define in the **Variants** tab on the product form.
|
||||
If theses values are not set, 'Does not apply' will be used for the eBay listing.
|
||||
If these values are not set, 'Does not apply' will be used for the eBay listing.
|
||||
|
@ -42,7 +42,7 @@ Using the updated synchronisation method
|
||||
If you have a lot of products, the eBay API can sometimes refuse some synchronization
|
||||
calls due to a time-based limit on the number of requests that eBay enforces.
|
||||
|
||||
To fix this issue, a new implementation mechanism has been developped; however this
|
||||
To fix this issue, a new implementation mechanism has been developed; however this
|
||||
updated mechanism is disabled by default to avoid having the 2 systems running in
|
||||
parallel in existing installations.
|
||||
|
||||
|
@ -66,12 +66,12 @@ Prices per minimum quantity
|
||||
Discounts, margins, roundings
|
||||
=============================
|
||||
|
||||
*Advanced pricing based on formula* allows to set price change rules.
|
||||
Changes can be relative to the product list/catalog price, the product cost price,
|
||||
or to another pricelist. Changes are calculated via discounts or surcharges and can be
|
||||
forced to fit within floor (minumum margin) and ceilings (maximum margins).
|
||||
Prices can be rounded to the nearest cent/dollar or multiple of either
|
||||
(nearest 5 cents, nearest 10 dollars).
|
||||
*Advanced pricing based on formula* allows to set price change rules.
|
||||
Changes can be relative to the product list/catalog price, the product cost price,
|
||||
or to another pricelist. Changes are calculated via discounts or surcharges and can be
|
||||
forced to fit within floor (minimum margin) and ceilings (maximum margins).
|
||||
Prices can be rounded to the nearest cent/dollar or multiple of either
|
||||
(nearest 5 cents, nearest 10 dollars).
|
||||
|
||||
Once installed go to
|
||||
:menuselection:`Sales --> Configuration --> Pricelists`
|
||||
|
@ -50,7 +50,7 @@ Under :menuselection:`Project --> Reporting --> Customer Ratings` see ratings by
|
||||
|
||||
.. image:: media/rating_report.png
|
||||
:align: center
|
||||
:alt: View fo the customer rating report in Odoo Project
|
||||
:alt: View of the customer rating report in Odoo Project
|
||||
|
||||
Clicking on the percentage of happy ratings over the last 30 days in the *Projects* overview,
|
||||
redirects you to your website with more rating details.
|
||||
|
@ -27,7 +27,7 @@ At anytime, the salesman can check the transaction status from the order.
|
||||
|
||||
* *Done*: the payment is authorized and captured. The order has been confirmed.
|
||||
|
||||
* *Error*: an error has occured during the transaction.
|
||||
* *Error*: an error has occurred during the transaction.
|
||||
The customer needs to retry the payment.
|
||||
The order is still in draft.
|
||||
|
||||
|
@ -23,7 +23,7 @@ to get a specific tracked URL based on the campaign, medium, and source being us
|
||||
|
||||
.. image:: media/link_tracker_fields.png
|
||||
:align: center
|
||||
:alt: View of the link traker fields for Odoo Website
|
||||
:alt: View of the link tracker fields for Odoo Website
|
||||
|
||||
- **URL**: url of the page you want to track (e.g. the home page or a product's page).
|
||||
- **Campaign**: context of your link (e.g. a special promotion).
|
||||
|
@ -176,7 +176,7 @@ Publish a page in all websites
|
||||
------------------------------
|
||||
|
||||
A new static page is created and only made available in the current
|
||||
website. You can duplicate it to other websites from
|
||||
website. You can duplicate it to other websites from
|
||||
:menuselection:`Website --> Configuration --> Pages`. To do so, leave the *Website* field empty.
|
||||
|
||||
If you want to duplicate it in just one other website, duplicate the
|
||||
@ -189,7 +189,7 @@ When you edit the page again, the change only affects the current
|
||||
website. A new page is duplicated and tied up to the website.
|
||||
The original page still being linked to all websites.
|
||||
|
||||
.. tip::
|
||||
.. tip::
|
||||
By grouping pages by URL in the page manager, you quickly find
|
||||
the original page behind each edited page.
|
||||
|
||||
|
@ -10,7 +10,7 @@ Profiling Odoo code
|
||||
Graph a method
|
||||
==============
|
||||
|
||||
Odoo embeds a profiler of code. This embeded profiler output can be used to
|
||||
Odoo embeds a profiler of code. This embedded profiler output can be used to
|
||||
generate a graph of calls triggered by the method, number of queries, percentage
|
||||
of time taken in the method itself as well as the time that the method took and
|
||||
its sub-called methods.
|
||||
@ -84,7 +84,7 @@ Dump stack
|
||||
|
||||
Sending the SIGQUIT signal to an Odoo process (only available on POSIX) makes
|
||||
this process output the current stack trace to log, with info level. When an
|
||||
odoo process seems stucked, sending this signal to the process permit to know
|
||||
odoo process seems stuck, sending this signal to the process permit to know
|
||||
what the process is doing, and letting the process continue his job.
|
||||
|
||||
Tracing code execution
|
||||
|
@ -394,7 +394,7 @@ So here are the steps to create a robust and consistent style for your theme:
|
||||
|
||||
\(1) Set the values for Odoo-provided SCSS variables
|
||||
|
||||
Odoo declares many CSS rules, most being entirely customizable by overridding
|
||||
Odoo declares many CSS rules, most being entirely customizable by overriding
|
||||
the related SCSS variables. First, create a new file called primary_variables.scss
|
||||
and add it the same way as the style.scss file. The only difference it that
|
||||
you won't add it in the ``assets_frontend`` template but in the ``_assets_primary_variables``
|
||||
|
@ -1782,7 +1782,7 @@ When a client action must be executed, the action manager looks up its tag
|
||||
in the registry, walks the specified path and displays the widget it finds at
|
||||
the end.
|
||||
|
||||
.. note:: a client action handler can also be a regular function, in whch case
|
||||
.. note:: a client action handler can also be a regular function, in which case
|
||||
it'll be called and its result (if any) will be interpreted as the
|
||||
next action to execute.
|
||||
|
||||
|
@ -236,7 +236,7 @@ corresponding behaviors) are shared between states:
|
||||
|
||||
* ``object_write``: Updates the current record(s) following ``fields_lines`` specifications
|
||||
|
||||
* ``multi``: Executes serveral actions given through the ``child_ids`` argument.
|
||||
* ``multi``: Executes several actions given through the ``child_ids`` argument.
|
||||
|
||||
State fields
|
||||
------------
|
||||
|
@ -165,7 +165,7 @@ Database
|
||||
.. option:: --db_sslmode
|
||||
|
||||
Control the SSL security of the connection between Odoo and PostgreSQL.
|
||||
Value should bve one of 'disable', 'allow', 'prefer', 'require',
|
||||
Value should be one of 'disable', 'allow', 'prefer', 'require',
|
||||
'verify-ca' or 'verify-full'
|
||||
Default value is 'prefer'
|
||||
|
||||
|
@ -330,7 +330,7 @@ should have a real naming as it is used as display name.
|
||||
</record>
|
||||
|
||||
<record id="model_name_action_child_list" model="ir.actions.act_window">
|
||||
<field name="name">Model Access Childs</field>
|
||||
<field name="name">Model Access Children</field>
|
||||
</record>
|
||||
|
||||
<!-- menus and sub-menus -->
|
||||
|
@ -177,7 +177,7 @@ to add a file from that addon. In that case, it should be done in three steps:
|
||||
|
||||
Note that the files in a bundle are all loaded immediately when the user loads the
|
||||
odoo web client. This means that the files are transferred through the network
|
||||
everytime (except when the browser cache is active). In some cases, it may be
|
||||
every time (except when the browser cache is active). In some cases, it may be
|
||||
better to lazyload some assets. For example, if a widget requires a large
|
||||
library, and that widget is not a core part of the experience, then it may be
|
||||
a good idea to only load the library when the widget is actually created. The
|
||||
@ -1186,7 +1186,7 @@ may need to directly call a controller (available on some route).
|
||||
Notifications
|
||||
==============
|
||||
|
||||
The Odoo framework has a standard way to communicate various informations to the
|
||||
The Odoo framework has a standard way to communicate various information to the
|
||||
user: notifications, which are displayed on the top right of the user interface.
|
||||
|
||||
There are two types of notifications:
|
||||
@ -1556,7 +1556,7 @@ integer (FieldInteger)
|
||||
- type: setting the input type (*text* by default, can be set on *number*)
|
||||
|
||||
On edit mode, the field is rendered as an input with the HTML attribute type
|
||||
setted on *number* (so user can benefit the native support, especially on
|
||||
set on *number* (so user can benefit the native support, especially on
|
||||
mobile). In this case, the default formatting is disabled to avoid incompability.
|
||||
|
||||
.. code-block:: xml
|
||||
@ -1588,7 +1588,7 @@ float (FieldFloat)
|
||||
- type: setting the input type (*text* by default, can be set on *number*)
|
||||
|
||||
On edit mode, the field is rendered as an input with the HTML attribute type
|
||||
setted on *number* (so user can benefit the native support, especially on
|
||||
set on *number* (so user can benefit the native support, especially on
|
||||
mobile). In this case, the default formatting is disabled to avoid incompability.
|
||||
|
||||
.. code-block:: xml
|
||||
|
@ -109,7 +109,7 @@ to manage followers on your record:
|
||||
Helper method to send a mail with a template
|
||||
|
||||
:param template_id: the id of the template to render to create the body of the message
|
||||
:param `\**kwargs`: parameter to create a mail.compose.message wizzard (which inherit from mail.message)
|
||||
:param `\**kwargs`: parameter to create a mail.compose.message wizard (which inherit from mail.message)
|
||||
|
||||
.. rubric:: Receiving messages
|
||||
|
||||
@ -251,11 +251,11 @@ Subtypes are created as data in your module; the model has the following fields:
|
||||
``res_model`` - :class:`~odoo.fields.Char`
|
||||
model the subtype applies to; if False, this subtype applies to all models
|
||||
``default`` - :class:`~odoo.fields.Boolean`
|
||||
wether the subtype is activated by default when subscribing
|
||||
whether the subtype is activated by default when subscribing
|
||||
``sequence`` - :class:`~odoo.fields.Integer`
|
||||
used to order subtypes in the notification customization popup
|
||||
``hidden`` - :class:`~odoo.fields.Boolean`
|
||||
wether the subtype is hidden in the notification customization popup
|
||||
whether the subtype is hidden in the notification customization popup
|
||||
|
||||
|
||||
Interfacing subtypes with field tracking allows to subscribe to different kind
|
||||
@ -378,7 +378,7 @@ yourself by overriding the function ``_notification_recipients``.
|
||||
following the thread). True by default for new groups, False for
|
||||
portal / customer.
|
||||
- button_follow
|
||||
dict with url adn title of the button
|
||||
dict with url and title of the button
|
||||
- has_button_unfollow
|
||||
whether to display Unfollow in email (if recipient is currently following the thread).
|
||||
True by default for new groups, False for portal / customer.
|
||||
@ -575,7 +575,7 @@ some default values these records may have depending on the parent object:
|
||||
tasks getting created in the right project) by setting a dictionary of
|
||||
default values in the alias' ``alias_defaults`` field.
|
||||
|
||||
:return: dictionnary of values that will be written to the new alias
|
||||
:return: dictionary of values that will be written to the new alias
|
||||
:rtype: dict
|
||||
|
||||
The ``get_alias_values()`` override is particularly interesting as it allows you
|
||||
@ -638,7 +638,7 @@ you to make your alias easily configurable from the record's form view.
|
||||
def get_alias_values(self):
|
||||
""" Specify some default values that will be set in the alias at its creation """
|
||||
values = super(BusinessTrip, self).get_alias_values()
|
||||
# alias_defaults holds a dictionnary that will be written
|
||||
# alias_defaults holds a dictionary that will be written
|
||||
# to all records created by this alias
|
||||
#
|
||||
# in this case, we want all expense records sent to a trip alias
|
||||
@ -703,7 +703,7 @@ you to make your alias easily configurable from the record's form view.
|
||||
of the expense, try to find a partner with this email address and
|
||||
do a regex match to find the amount of the expense."""
|
||||
name = msg_dict.get('subject', 'New Expense')
|
||||
# Match the last occurence of a float in the string
|
||||
# Match the last occurrence of a float in the string
|
||||
# Example: '50.3 bar 34.5' becomes '34.5'. This is potentially the price
|
||||
# to encode on the expense. If not, take 1.0 instead
|
||||
amount_pattern = '(\d+(\.\d*)?|\.\d+)'
|
||||
@ -755,7 +755,7 @@ widgets, respectively).
|
||||
name = fields.Char()
|
||||
# [...]
|
||||
|
||||
We modify the form view of our trips to display their next activites:
|
||||
We modify the form view of our trips to display their next activities:
|
||||
|
||||
.. code-block:: xml
|
||||
|
||||
@ -778,7 +778,7 @@ You can find concrete examples of integration in the following models:
|
||||
|
||||
* ``crm.lead`` in the CRM (*crm*) Application
|
||||
* ``sale.order`` in the Sales (*sale*) Application
|
||||
* ``project.task`` in the Project (*poject*) Application
|
||||
* ``project.task`` in the Project (*project*) Application
|
||||
|
||||
|
||||
.. _reference/mixins/website:
|
||||
@ -868,7 +868,7 @@ case for this mixin is any object that has a frontend-page; being able to contro
|
||||
the visibility of the page allows you to take your time while editing the page
|
||||
and only publish it when you're satisfied.
|
||||
|
||||
To include the functionnality, you only need to inherit ``website.published.mixin``:
|
||||
To include the functionality, you only need to inherit ``website.published.mixin``:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
|
@ -60,7 +60,7 @@ Check if the method is available and then execute it.
|
||||
Methods
|
||||
-------
|
||||
|
||||
.. note:: Each of the methods returns a JQuery Deffered object which returns
|
||||
.. note:: Each of the methods returns a JQuery Deferred object which returns
|
||||
a data JSON dictionary
|
||||
|
||||
Show Toast in device
|
||||
|
@ -182,7 +182,7 @@ Date / Datetime comparison best practices:
|
||||
date string, therefore this practice is **heavily**
|
||||
discouraged.
|
||||
|
||||
Common operations with dates and datetimes such as addition, substraction or
|
||||
Common operations with dates and datetimes such as addition, subtraction or
|
||||
fetching the start/end of a period are exposed through both
|
||||
:class:`~odoo.fields.Date` and :class:`~odoo.fields.Datetime`.
|
||||
These helpers are also available by importing `odoo.tools.date_utils`.
|
||||
|
@ -56,7 +56,7 @@ can take the following attributes:
|
||||
for example)
|
||||
``attachment``
|
||||
python expression that defines the name of the report; the record is
|
||||
acessible as the variable ``object``
|
||||
accessible as the variable ``object``
|
||||
``paperformat``
|
||||
external id of the paperformat you wish to use (defaults to the company's
|
||||
paperformat if not specified)
|
||||
|
@ -10,7 +10,7 @@ data-driven mechanisms to manage or restrict access to data.
|
||||
|
||||
Both mechanisms are linked to specific users through *groups*: a user belongs
|
||||
to any number of groups, and security mechanisms are associated to groups,
|
||||
thus applying security mechamisms to users.
|
||||
thus applying security mechanisms to users.
|
||||
|
||||
.. _reference/security/acl:
|
||||
|
||||
|
@ -148,7 +148,7 @@ default you can remove the ``standard`` tag:
|
||||
...
|
||||
|
||||
This test will not be selected by default, to run it the relevant tag will
|
||||
have to be selected explicitely:
|
||||
have to be selected explicitly:
|
||||
|
||||
.. code-block:: console
|
||||
|
||||
@ -176,7 +176,7 @@ ones:
|
||||
|
||||
When you write a test that does not inherit from the
|
||||
:class:`~odoo.tests.common.BaseCase`, this test will not have the default tags,
|
||||
you have to add them explicitely to have the test included in the default test
|
||||
you have to add them explicitly to have the test included in the default test
|
||||
suite. This is a common issue when using a simple ``unittest.TestCase`` as
|
||||
they're not going to get run:
|
||||
|
||||
@ -193,7 +193,7 @@ Special tags
|
||||
^^^^^^^^^^^^
|
||||
|
||||
- ``standard``: All Odoo tests that inherit from
|
||||
:class:`~odoo.tests.common.BaseCase` are implicitely tagged standard.
|
||||
:class:`~odoo.tests.common.BaseCase` are implicitly tagged standard.
|
||||
:option:`--test-tags <odoo-bin --test-tags>` also defaults to ``standard``.
|
||||
|
||||
That means untagged test will be executed by default when tests are enabled.
|
||||
@ -207,7 +207,7 @@ Special tags
|
||||
will generally not want both ``post_install`` is usually paired with
|
||||
``-at_install`` when tagging a test class.
|
||||
- *module_name*: Odoo tests classes extending
|
||||
:class:`~odoo.tests.common.BaseCase` are implicitely tagged with the
|
||||
:class:`~odoo.tests.common.BaseCase` are implicitly tagged with the
|
||||
technical name of their module. This allows easily selecting or excluding
|
||||
specific modules when testing e.g. if you want to only run tests from
|
||||
``stock_account``:
|
||||
@ -335,7 +335,7 @@ testing system, since this means that a test in the addon web will fail whenever
|
||||
the voip addon is installed (note that the runbot runs the tests with all addons
|
||||
installed).
|
||||
|
||||
At the same time, our testing sytem is good, because it can detect whenever
|
||||
At the same time, our testing system is good, because it can detect whenever
|
||||
another module breaks some core functionality. There is no complete solution to
|
||||
this issue. For now, we solve this on a case by case basis.
|
||||
|
||||
|
@ -963,7 +963,7 @@ take the following attributes:
|
||||
``consolidation``
|
||||
field name to display consolidation value in record cell
|
||||
``consolidation_max``
|
||||
dictionnary with the "group by" field as key and the maximum consolidation
|
||||
dictionary with the "group by" field as key and the maximum consolidation
|
||||
value that can be reached before displaying the cell in red
|
||||
(e.g. ``{"user_id": 100}``)
|
||||
``consolidation_exclude``
|
||||
@ -1829,7 +1829,7 @@ Possible children elements of the search view are:
|
||||
2018
|
||||
2017
|
||||
|
||||
Muti selection of options is allowed.
|
||||
Multi selection of options is allowed.
|
||||
|
||||
``default_period`` (optional)
|
||||
only makes sense for a filter with non empty ``date`` attribute.
|
||||
|
@ -134,7 +134,7 @@ on Odoo (https://iap.odoo.com/my/home) and select *In-App Services*.
|
||||
on sandbox to ease the tests.
|
||||
|
||||
Log in then go to :menuselection:`My Account --> Your In-App Services`, click
|
||||
Create and provide the informations of your service.
|
||||
Create and provide the information of your service.
|
||||
|
||||
|
||||
The service has *seven* important fields:
|
||||
@ -688,7 +688,7 @@ care how they are implemented.
|
||||
Test the API
|
||||
------------
|
||||
|
||||
In order to test the developped app, we propose a sandbox platform that allows you to:
|
||||
In order to test the developed app, we propose a sandbox platform that allows you to:
|
||||
|
||||
1. Test the whole flow from the client's point of view - Actual services and transactions
|
||||
that can be consulted. (again this requires to change the endpoint, see the danger note
|
||||
@ -702,7 +702,7 @@ The latter consists in specific tokens that will work on **IAP-Sandbox only**.
|
||||
* Token ``000111``: Represents an account without sufficient credits to perform any service.
|
||||
Returns an :class:`~odoo.addons.iap.models.iap.InsufficientCreditError` on authorize attempt.
|
||||
* Token ``111111``: Represents an account with enough credits to perform any service.
|
||||
An authorize attempt will return a dummy transacion token that is processed by the capture
|
||||
An authorize attempt will return a dummy transaction token that is processed by the capture
|
||||
and cancel routes.
|
||||
|
||||
.. note::
|
||||
|
@ -9,7 +9,7 @@ all of its data are also available from the outside for external analysis or
|
||||
integration with various tools. Part of the :ref:`reference/orm/model` API is
|
||||
easily available over XML-RPC_ and accessible from a variety of languages.
|
||||
|
||||
.. Odoo XML-RPC idiosyncracies:
|
||||
.. Odoo XML-RPC idiosyncrasies:
|
||||
* uses multiple endpoint and a nested call syntax instead of a
|
||||
"hierarchical" server structure (e.g. ``odoo.res.partner.read()``)
|
||||
* uses its own own manual auth system instead of basic auth or sessions
|
||||
@ -841,7 +841,7 @@ Records can be updated using :meth:`~odoo.models.Model.write`, it takes
|
||||
a list of records to update and a mapping of updated fields to values similar
|
||||
to :meth:`~odoo.models.Model.create`.
|
||||
|
||||
Multiple records can be updated simultanously, but they will all get the same
|
||||
Multiple records can be updated simultaneously, but they will all get the same
|
||||
values for the fields being set. It is not currently possible to perform
|
||||
"computed" updates (where the value being set depends on an existing value of
|
||||
a record).
|
||||
|
@ -132,7 +132,7 @@ Here are 2 examples of database upgrade request creation using:
|
||||
|
||||
* one in the python programming language using the requests library
|
||||
* one in the bash programming language using `curl <https://curl.haxx.se>`_ (tool
|
||||
for transfering data using http) and `jq <https://stedolan.github.io/jq>`_ (JSON processor):
|
||||
for transferring data using http) and `jq <https://stedolan.github.io/jq>`_ (JSON processor):
|
||||
|
||||
.. rst-class:: setup doc-aside
|
||||
|
||||
@ -244,7 +244,7 @@ should be empty if everything went fine.
|
||||
The ``request_sftp_access`` method
|
||||
----------------------------------
|
||||
|
||||
This method is recommanded for big database dumps.
|
||||
This method is recommended for big database dumps.
|
||||
It uses the SFTP protocol and supports resuming.
|
||||
|
||||
It will create a temporary SFTP server where you can connect to and allow you
|
||||
@ -320,7 +320,7 @@ explanation about the JSON dictionary returned in case of failure.
|
||||
'''''''''''
|
||||
|
||||
If the call is successful, the value associated to the *request* key
|
||||
will be a dictionary containing your SFTP connexion parameters:
|
||||
will be a dictionary containing your SFTP connection parameters:
|
||||
|
||||
* ``hostname``: the host address to connect to
|
||||
* ``sftp_port``: the port to connect to
|
||||
@ -638,7 +638,7 @@ Beside downloading your migrated database using the URL provided by the
|
||||
protocol as described in the :ref:`request_sftp_access method
|
||||
<upgrade-api-request-sftp-access-method>`
|
||||
|
||||
The diffence is that you'll only be able to download the migrated database. No
|
||||
The difference is that you'll only be able to download the migrated database. No
|
||||
uploading will be possible.
|
||||
|
||||
Your database upgrade request should be in the ``done`` state.
|
||||
|
@ -110,7 +110,7 @@ def add_doc_link(app, pagename, templatename, context, doctree):
|
||||
return
|
||||
|
||||
# FIXME: find other way to recover current document's source suffix
|
||||
# in Sphinx 1.3 it's possible to have mutliple source suffixes and that
|
||||
# in Sphinx 1.3 it's possible to have multiple source suffixes and that
|
||||
# may be useful in the future
|
||||
source_suffix = app.config.source_suffix
|
||||
source_suffix = next(iter(source_suffix))
|
||||
|
@ -71,7 +71,7 @@
|
||||
//
|
||||
// When borders are added on all sides of the cells, the corners can render odd when
|
||||
// these borders do not have the same color or if they are semi-transparent.
|
||||
// Therefor we add top and border bottoms to the `tr`s and left and right borders
|
||||
// Therefore we add top and border bottoms to the `tr`s and left and right borders
|
||||
// to the `td`s or `th`s
|
||||
|
||||
.table-bordered {
|
||||
|
@ -160,7 +160,7 @@
|
||||
],
|
||||
configuration: [
|
||||
"Revenue: defined on the product, or the product category if not on the product, field Income Account",
|
||||
"Defered Tax Liabilities: defined on the tax used on the invoice line",
|
||||
"Deferred Tax Liabilities: defined on the tax used on the invoice line",
|
||||
"Accounts Receivable: defined on the customer (property)",
|
||||
"Inventory: defined on the category of the related product (property)",
|
||||
"Expenses: defined on the product, or the category of product (property)",
|
||||
|
Loading…
Reference in New Issue
Block a user