[MERGE] Forward-port of 13.0 to 13.2

This commit is contained in:
Antoine Vandevenne (anv) 2020-02-12 11:19:34 +01:00
commit 3b54a96f3a
235 changed files with 1005 additions and 757 deletions

View File

@ -28,7 +28,9 @@ def setup(app):
app.connect('html-page-context', update_meta)
def update_meta(app, pagename, templatename, context, doctree):
meta = context.setdefault('meta', {})
if not context.get('meta'): # context['meta'] can be None
context['meta'] = {}
meta = context.setdefault('meta', {}) # we want {} by default
meta.setdefault('banner', app.config.odoo_cover_default)
def navbarify(node, navbar=None):

View File

@ -1,11 +1,11 @@
{% extends "basic/layout.html" %}
{% set script_files = script_files + [
'_static/jquery.min.js',
'_static/bootstrap.js',
'_static/doc.js',
'_static/jquery.noconflict.js',
] %}
{%- block scripts %}
{{ super() }}
<script type="text/javascript" src="{{ pathto('_static/jquery.min.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/bootstrap.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/doc.js', 1) }}"></script>
<script type="text/javascript" src="{{ pathto('_static/jquery.noconflict.js', 1) }}"></script>
{%- endblock %}
{% set classes = [] %}
{% if pagename == master_doc %}

View File

@ -1,27 +0,0 @@
# -*- coding: utf-8 -*-
import sys
PY2 = sys.version_info[0] == 2
if PY2:
text_type = unicode
else:
text_type = str
def to_text(source):
""" Generates a text value (an instance of text_type) from an arbitrary
source.
* False and None are converted to empty strings
* text is passed through
* bytes are decoded as UTF-8
* rest is textified via the current version's relevant data model method
"""
if source is None or source is False:
return u''
if isinstance(source, bytes):
return source.decode('utf-8')
return text_type(source)

View File

@ -2,14 +2,11 @@
import os.path
import posixpath
import re
import urllib
from docutils import nodes
from sphinx import addnodes, util
from sphinx import addnodes, util, builders
from sphinx.locale import admonitionlabels
from . import pycompat
try:
from urllib import url2pathname
except ImportError:
@ -45,6 +42,11 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
]
def __init__(self, builder, document):
# order of parameter swapped between Sphinx 1.x and 2.x, check if
# we're running 1.x and swap back
if not isinstance(builder, builders.Builder):
builder, document = document, builder
super(BootstrapTranslator, self).__init__(document)
self.builder = builder
self.body = []
@ -58,6 +60,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
self.context = []
self.section_level = 0
self.config = builder.config
self.highlightlang = self.highlightlang_base = self.builder.config.highlight_language
self.highlightopts = getattr(builder.config, 'highlight_options', {})
@ -67,7 +70,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
self.param_separator = ','
def encode(self, text):
return pycompat.to_text(text).translate({
return text.strip().translate({
ord('&'): u'&amp;',
ord('<'): u'&lt;',
ord('"'): u'&quot;',
@ -76,7 +79,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
})
def starttag(self, node, tagname, **attributes):
tagname = pycompat.to_text(tagname).lower()
tagname = tagname.strip().lower()
# extract generic attributes
attrs = {name.lower(): value for name, value in attributes.items()}
@ -111,7 +114,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
# only "space characters" SPACE, CHARACTER TABULATION, LINE FEED,
# FORM FEED and CARRIAGE RETURN should be collapsed, not al White_Space
def attval(self, value, whitespace=re.compile(u'[ \t\n\f\r]')):
return self.encode(whitespace.sub(u' ', pycompat.to_text(value)))
return self.encode(whitespace.sub(u' ', value.strip()))
def astext(self):
return u''.join(self.body)
@ -647,7 +650,7 @@ class BootstrapTranslator(nodes.NodeVisitor, object):
self.body.append(title if title else util.nodes.clean_astext(env.titles[ref]))
self.body.append(u'</h2>')
entries = [(title, ref)] if not toc else ((e[0], e[1]) for e in toc[0]['entries'])
entries = [(title, ref)] if not toc else ((e[0], e[1]) for e in list(toc)[0]['entries'])
for subtitle, subref in entries:
baseuri = self.builder.get_target_uri(node['parent'])

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 161 KiB

BIN
_static/banners/crm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 387 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 190 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 230 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 340 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 91 KiB

BIN
_static/banners/discuss.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 122 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 50 KiB

BIN
_static/banners/expense.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 149 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 110 KiB

BIN
_static/banners/fsm.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 187 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 180 KiB

BIN
_static/banners/general.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 311 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 607 KiB

After

Width:  |  Height:  |  Size: 113 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 62 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 146 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 149 KiB

BIN
_static/banners/iot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 335 KiB

BIN
_static/banners/legal.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 199 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 508 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 271 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 374 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 224 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 285 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 263 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 105 KiB

BIN
_static/banners/mobile.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 314 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.5 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 346 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 256 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

BIN
_static/banners/odoo_sh.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 650 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 119 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 272 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 61 KiB

BIN
_static/banners/pos.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 189 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 69 KiB

BIN
_static/banners/project.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 153 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 792 KiB

BIN
_static/banners/quality.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 442 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 48 KiB

BIN
_static/banners/repair.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 241 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 125 KiB

BIN
_static/banners/sales.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 331 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 79 KiB

BIN
_static/banners/seo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 217 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 531 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 52 KiB

BIN
_static/banners/sms.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 322 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 83 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 248 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 88 KiB

BIN
_static/banners/support.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 KiB

BIN
_static/banners/users.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 446 KiB

BIN
_static/icons/odoo_icon.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

BIN
_static/icons/odoo_logo.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

View File

@ -1,73 +1,73 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 550.801 550.801" style="enable-background:new 0 0 550.801 550.801;"
xml:space="preserve">
<g>
<g>
<path d="M267.342,414.698c-6.613,0-10.884,0.585-13.413,1.165v85.72c2.534,0.586,6.616,0.586,10.304,0.586
c26.818,0.189,44.315-14.576,44.315-45.874C308.738,429.079,292.803,414.698,267.342,414.698z"/>
<path d="M152.837,414.313c-6.022,0-10.104,0.58-12.248,1.16v38.686c2.531,0.58,5.643,0.78,9.903,0.78
c15.757,0,25.471-7.973,25.471-21.384C175.964,421.506,167.601,414.313,152.837,414.313z"/>
<path d="M475.095,131.992c-0.032-2.526-0.833-5.021-2.568-6.993L366.324,3.694c-0.021-0.034-0.062-0.045-0.084-0.076
c-0.633-0.707-1.36-1.29-2.141-1.804c-0.232-0.15-0.475-0.285-0.718-0.422c-0.675-0.366-1.382-0.67-2.13-0.892
c-0.19-0.058-0.38-0.14-0.58-0.192C359.87,0.114,359.037,0,358.203,0H97.2C85.292,0,75.6,9.693,75.6,21.601v507.6
c0,11.913,9.692,21.601,21.6,21.601H453.6c11.908,0,21.601-9.688,21.601-21.601V133.202
C475.2,132.796,475.137,132.398,475.095,131.992z M193.261,463.873c-10.104,9.523-25.072,13.806-42.569,13.806
c-3.882,0-7.391-0.2-10.102-0.58v46.839h-29.35V394.675c9.131-1.55,21.967-2.721,40.047-2.721
c18.267,0,31.292,3.501,40.036,10.494c8.363,6.612,13.985,17.497,13.985,30.322C205.308,445.605,201.042,456.49,193.261,463.873z
M318.252,508.392c-13.785,11.464-34.778,16.906-60.428,16.906c-15.359,0-26.238-0.97-33.637-1.94V394.675
c10.887-1.74,25.083-2.721,40.046-2.721c24.867,0,41.004,4.472,53.645,13.995c13.61,10.109,22.164,26.241,22.164,49.37
C340.031,480.4,330.897,497.697,318.252,508.392z M439.572,417.225h-50.351v29.932h47.039v24.11h-47.039v52.671H359.49V392.935
h80.082V417.225z M97.2,366.752V21.601h250.203v110.515c0,5.961,4.831,10.8,10.8,10.8H453.6l0.011,223.836H97.2z"/>
<path d="M386.205,232.135c-0.633-0.059-15.852-1.448-39.213-1.448c-7.319,0-14.691,0.143-21.969,0.417
c-46.133-34.62-83.919-69.267-104.148-88.684c0.369-2.138,0.623-3.828,0.741-5.126c2.668-28.165-0.298-47.179-8.786-56.515
c-5.558-6.101-13.721-8.131-22.233-5.806c-5.286,1.385-15.071,6.513-18.204,16.952c-3.459,11.536,2.101,25.537,16.708,41.773
c0.232,0.246,5.189,5.44,14.196,14.241c-5.854,27.913-21.178,88.148-28.613,117.073c-17.463,9.331-32.013,20.571-43.277,33.465
l-0.738,0.844l-0.477,1.013c-1.16,2.437-6.705,15.087-2.542,25.249c1.901,4.62,5.463,7.995,10.302,9.767l1.297,0.349
c0,0,1.17,0.253,3.227,0.253c9.01,0,31.25-4.735,43.179-48.695l2.89-11.138c41.639-20.239,93.688-26.768,131.415-28.587
c19.406,14.391,38.717,27.611,57.428,39.318l0.611,0.354c0.907,0.464,9.112,4.515,18.721,4.524l0,0
c13.732,0,23.762-8.427,27.496-23.113l0.189-1.004c1.044-8.393-1.065-15.958-6.096-21.872
C407.711,233.281,387.978,232.195,386.205,232.135z M142.812,319.744c-0.084-0.1-0.124-0.194-0.166-0.3
c-0.896-2.157,0.179-7.389,1.761-11.222c6.792-7.594,14.945-14.565,24.353-20.841
C159.598,317.039,146.274,319.603,142.812,319.744z M200.984,122.695L200.984,122.695c-14.07-15.662-13.859-23.427-13.102-26.041
c1.242-4.369,6.848-6.02,6.896-6.035c2.824-0.768,4.538-0.617,6.064,1.058c3.451,3.791,6.415,15.232,5.244,36.218
C202.764,124.557,200.984,122.695,200.984,122.695z M193.714,256.068l0.243-0.928l-0.032,0.011
c7.045-27.593,17.205-67.996,23.047-93.949l0.211,0.201l0.021-0.124c18.9,17.798,47.88,43.831,82.579,70.907l-0.39,0.016
l0.574,0.433C267.279,235.396,228.237,241.84,193.714,256.068z M408.386,265.12c-2.489,9.146-7.277,10.396-11.665,10.396l0,0
c-5.094,0-9.998-2.12-11.116-2.632c-12.741-7.986-25.776-16.688-38.929-25.998c0.105,0,0.2,0,0.316,0
c22.549,0,37.568,1.369,38.158,1.411c3.766,0.14,15.684,1.9,20.82,7.938C407.984,258.602,408.755,261.431,408.386,265.12z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 550.801 550.801" style="enable-background:new 0 0 550.801 550.801;"
xml:space="preserve">
<g>
<g>
<path d="M267.342,414.698c-6.613,0-10.884,0.585-13.413,1.165v85.72c2.534,0.586,6.616,0.586,10.304,0.586
c26.818,0.189,44.315-14.576,44.315-45.874C308.738,429.079,292.803,414.698,267.342,414.698z"/>
<path d="M152.837,414.313c-6.022,0-10.104,0.58-12.248,1.16v38.686c2.531,0.58,5.643,0.78,9.903,0.78
c15.757,0,25.471-7.973,25.471-21.384C175.964,421.506,167.601,414.313,152.837,414.313z"/>
<path d="M475.095,131.992c-0.032-2.526-0.833-5.021-2.568-6.993L366.324,3.694c-0.021-0.034-0.062-0.045-0.084-0.076
c-0.633-0.707-1.36-1.29-2.141-1.804c-0.232-0.15-0.475-0.285-0.718-0.422c-0.675-0.366-1.382-0.67-2.13-0.892
c-0.19-0.058-0.38-0.14-0.58-0.192C359.87,0.114,359.037,0,358.203,0H97.2C85.292,0,75.6,9.693,75.6,21.601v507.6
c0,11.913,9.692,21.601,21.6,21.601H453.6c11.908,0,21.601-9.688,21.601-21.601V133.202
C475.2,132.796,475.137,132.398,475.095,131.992z M193.261,463.873c-10.104,9.523-25.072,13.806-42.569,13.806
c-3.882,0-7.391-0.2-10.102-0.58v46.839h-29.35V394.675c9.131-1.55,21.967-2.721,40.047-2.721
c18.267,0,31.292,3.501,40.036,10.494c8.363,6.612,13.985,17.497,13.985,30.322C205.308,445.605,201.042,456.49,193.261,463.873z
M318.252,508.392c-13.785,11.464-34.778,16.906-60.428,16.906c-15.359,0-26.238-0.97-33.637-1.94V394.675
c10.887-1.74,25.083-2.721,40.046-2.721c24.867,0,41.004,4.472,53.645,13.995c13.61,10.109,22.164,26.241,22.164,49.37
C340.031,480.4,330.897,497.697,318.252,508.392z M439.572,417.225h-50.351v29.932h47.039v24.11h-47.039v52.671H359.49V392.935
h80.082V417.225z M97.2,366.752V21.601h250.203v110.515c0,5.961,4.831,10.8,10.8,10.8H453.6l0.011,223.836H97.2z"/>
<path d="M386.205,232.135c-0.633-0.059-15.852-1.448-39.213-1.448c-7.319,0-14.691,0.143-21.969,0.417
c-46.133-34.62-83.919-69.267-104.148-88.684c0.369-2.138,0.623-3.828,0.741-5.126c2.668-28.165-0.298-47.179-8.786-56.515
c-5.558-6.101-13.721-8.131-22.233-5.806c-5.286,1.385-15.071,6.513-18.204,16.952c-3.459,11.536,2.101,25.537,16.708,41.773
c0.232,0.246,5.189,5.44,14.196,14.241c-5.854,27.913-21.178,88.148-28.613,117.073c-17.463,9.331-32.013,20.571-43.277,33.465
l-0.738,0.844l-0.477,1.013c-1.16,2.437-6.705,15.087-2.542,25.249c1.901,4.62,5.463,7.995,10.302,9.767l1.297,0.349
c0,0,1.17,0.253,3.227,0.253c9.01,0,31.25-4.735,43.179-48.695l2.89-11.138c41.639-20.239,93.688-26.768,131.415-28.587
c19.406,14.391,38.717,27.611,57.428,39.318l0.611,0.354c0.907,0.464,9.112,4.515,18.721,4.524l0,0
c13.732,0,23.762-8.427,27.496-23.113l0.189-1.004c1.044-8.393-1.065-15.958-6.096-21.872
C407.711,233.281,387.978,232.195,386.205,232.135z M142.812,319.744c-0.084-0.1-0.124-0.194-0.166-0.3
c-0.896-2.157,0.179-7.389,1.761-11.222c6.792-7.594,14.945-14.565,24.353-20.841
C159.598,317.039,146.274,319.603,142.812,319.744z M200.984,122.695L200.984,122.695c-14.07-15.662-13.859-23.427-13.102-26.041
c1.242-4.369,6.848-6.02,6.896-6.035c2.824-0.768,4.538-0.617,6.064,1.058c3.451,3.791,6.415,15.232,5.244,36.218
C202.764,124.557,200.984,122.695,200.984,122.695z M193.714,256.068l0.243-0.928l-0.032,0.011
c7.045-27.593,17.205-67.996,23.047-93.949l0.211,0.201l0.021-0.124c18.9,17.798,47.88,43.831,82.579,70.907l-0.39,0.016
l0.574,0.433C267.279,235.396,228.237,241.84,193.714,256.068z M408.386,265.12c-2.489,9.146-7.277,10.396-11.665,10.396l0,0
c-5.094,0-9.998-2.12-11.116-2.632c-12.741-7.986-25.776-16.688-38.929-25.998c0.105,0,0.2,0,0.316,0
c22.549,0,37.568,1.369,38.158,1.411c3.766,0.14,15.684,1.9,20.82,7.938C407.984,258.602,408.755,261.431,408.386,265.12z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.1 KiB

After

Width:  |  Height:  |  Size: 4.1 KiB

View File

@ -1,59 +1,59 @@
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 550.801 550.801" style="enable-background:new 0 0 550.801 550.801;"
xml:space="preserve">
<g>
<g>
<path d="M475.095,131.992c-0.032-2.526-0.844-5.021-2.579-6.993L366.324,3.694c-0.031-0.034-0.062-0.045-0.084-0.076
c-0.633-0.707-1.371-1.29-2.151-1.804c-0.232-0.15-0.464-0.285-0.707-0.422c-0.675-0.366-1.382-0.67-2.13-0.892
c-0.201-0.058-0.38-0.14-0.58-0.192C359.87,0.114,359.037,0,358.193,0H97.2C85.292,0,75.6,9.693,75.6,21.601v507.6
c0,11.913,9.692,21.601,21.6,21.601H453.6c11.908,0,21.601-9.688,21.601-21.601V133.202
C475.2,132.796,475.137,132.398,475.095,131.992z M210.558,418.605h-35.764v106.128h-29.734V418.605h-35.184v-24.874h100.683
V418.605z M298.814,524.733l-11.855-23.714c-4.856-9.134-7.973-15.937-11.662-23.52h-0.388
c-2.724,7.583-6.022,14.386-10.104,23.52l-10.887,23.714h-33.827L258,458.452l-36.547-64.727h34.016l11.476,23.91
c3.881,7.963,6.803,14.381,9.911,21.769h0.391c3.101-8.358,5.632-14.19,8.933-21.769l11.085-23.91h33.824l-36.936,63.946
l38.876,67.062H298.814z M440.923,418.605h-35.765v106.128h-29.742V418.605h-35.189v-24.874h100.686v24.874H440.923z
M97.2,366.752V21.601h250.192v110.515c0,5.961,4.842,10.8,10.801,10.8H453.6v223.836H97.2z"/>
<path d="M174.351,148.269h119.812c3.966,0,7.203-3.225,7.203-7.198s-3.237-7.193-7.203-7.193H174.351
c-3.977,0-7.193,3.22-7.193,7.193S170.374,148.269,174.351,148.269z"/>
<path d="M370.797,191.432H174.161c-3.974,0-7.193,3.217-7.193,7.192c0,3.974,3.219,7.198,7.193,7.198h196.636
c3.976,0,7.203-3.225,7.203-7.198C378,194.648,374.772,191.432,370.797,191.432z"/>
<path d="M370.797,248.58H174.161c-3.974,0-7.193,3.217-7.193,7.198c0,3.974,3.219,7.198,7.193,7.198h196.636
c3.976,0,7.203-3.225,7.203-7.198C378,251.796,374.772,248.58,370.797,248.58z"/>
<path d="M370.797,307.099H174.161c-3.974,0-7.193,3.223-7.193,7.198c0,3.977,3.219,7.193,7.193,7.193h196.636
c3.976,0,7.203-3.217,7.203-7.193C378,310.321,374.772,307.099,370.797,307.099z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 16.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Capa_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="32px" height="32px" viewBox="0 0 550.801 550.801" style="enable-background:new 0 0 550.801 550.801;"
xml:space="preserve">
<g>
<g>
<path d="M475.095,131.992c-0.032-2.526-0.844-5.021-2.579-6.993L366.324,3.694c-0.031-0.034-0.062-0.045-0.084-0.076
c-0.633-0.707-1.371-1.29-2.151-1.804c-0.232-0.15-0.464-0.285-0.707-0.422c-0.675-0.366-1.382-0.67-2.13-0.892
c-0.201-0.058-0.38-0.14-0.58-0.192C359.87,0.114,359.037,0,358.193,0H97.2C85.292,0,75.6,9.693,75.6,21.601v507.6
c0,11.913,9.692,21.601,21.6,21.601H453.6c11.908,0,21.601-9.688,21.601-21.601V133.202
C475.2,132.796,475.137,132.398,475.095,131.992z M210.558,418.605h-35.764v106.128h-29.734V418.605h-35.184v-24.874h100.683
V418.605z M298.814,524.733l-11.855-23.714c-4.856-9.134-7.973-15.937-11.662-23.52h-0.388
c-2.724,7.583-6.022,14.386-10.104,23.52l-10.887,23.714h-33.827L258,458.452l-36.547-64.727h34.016l11.476,23.91
c3.881,7.963,6.803,14.381,9.911,21.769h0.391c3.101-8.358,5.632-14.19,8.933-21.769l11.085-23.91h33.824l-36.936,63.946
l38.876,67.062H298.814z M440.923,418.605h-35.765v106.128h-29.742V418.605h-35.189v-24.874h100.686v24.874H440.923z
M97.2,366.752V21.601h250.192v110.515c0,5.961,4.842,10.8,10.801,10.8H453.6v223.836H97.2z"/>
<path d="M174.351,148.269h119.812c3.966,0,7.203-3.225,7.203-7.198s-3.237-7.193-7.203-7.193H174.351
c-3.977,0-7.193,3.22-7.193,7.193S170.374,148.269,174.351,148.269z"/>
<path d="M370.797,191.432H174.161c-3.974,0-7.193,3.217-7.193,7.192c0,3.974,3.219,7.198,7.193,7.198h196.636
c3.976,0,7.203-3.225,7.203-7.198C378,194.648,374.772,191.432,370.797,191.432z"/>
<path d="M370.797,248.58H174.161c-3.974,0-7.193,3.217-7.193,7.198c0,3.974,3.219,7.198,7.193,7.198h196.636
c3.976,0,7.203-3.225,7.203-7.198C378,251.796,374.772,248.58,370.797,248.58z"/>
<path d="M370.797,307.099H174.161c-3.974,0-7.193,3.223-7.193,7.198c0,3.977,3.219,7.193,7.193,7.193h196.636
c3.976,0,7.203-3.217,7.203-7.193C378,310.321,374.772,307.099,370.797,307.099z"/>
</g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
<g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 2.5 KiB

After

Width:  |  Height:  |  Size: 2.4 KiB

View File

@ -1,4 +1,4 @@
:banner: banners/accounting.jpg
:banner: banners/accounting.png
==========
Accounting

View File

@ -5,7 +5,7 @@ Bank Feeds
.. toctree::
:titlesonly:
feeds/synchronize
feeds/bank_synchronization
feeds/ofx
feeds/qif
feeds/coda

View File

@ -0,0 +1,128 @@
======================================
Bank Synchronization: Automatic Import
======================================
Odoo can synchronize directly with your bank to get all bank statements imported automatically into
your database.
To check if your bank is compatible with Odoo, go to `Odoo Accounting Features
<https://www.odoo.com/page/accounting-features>`_, and search for your bank in the *Supported Banks*
section.
.. image:: media/bank_synchronization01.png
:align: center
:alt: checking a bank's compatibility with Odoo
The countries which are fully supported include the United States, Canada, New Zealand, Austria, and
Belgium.
More than 30 countries are partially supported, including Colombia, India, France, and Spain.
To connect to the banks, Odoo uses multiple web-services:
- **Plaid**: Mainly for the U.S
- **Yodlee**: Worldwide
- **Ponto**: For a growing number of European Banks
Configuration
=============
Odoo Online Users
-----------------
Make sure the **Automatic Import** feature is activated by going to :menuselection:`Accounting
--> Configuration --> Settings` in the *Bank & Cash* section.
Odoo Enterprise Users
---------------------
If you plan to use a bank interface with your Odoo Enterprise subscription, you dont have to do
anything special. Just make sure that your database is registered with your Odoo Enterprise contract.
.. note::
you might want to check that you don't have a firewall/proxy blocking the following address:
- https://onlinesync.odoo.com/
Sync your bank feeds
====================
First, make sure that the **Automated Bank Synchronization** is activated in your journal.
To do so, go to :menuselection:`Accounting --> Configuration --> Journals`, then open your *Bank
Journal*, click on *Edit*, and select **Automated Bank Synchronization** in the *Bank Feed* field.
.. image:: media/bank_synchronization02.png
:align: center
:alt: Automated Bank Synchronization of a Bank Journal in Odoo
You can then connect Odoo to your bank.
To do so, go to :menuselection:`Accounting --> Configuration --> Add a Bank Account`, and follow the
steps.
Once done, go back to your *Accounting dashboard*. You should now see a **Synchronize Now** button
on your *Bank* card. Click on this button and enter your bank credentials.
.. image:: media/bank_synchronization03.png
:align: center
:alt: Synchronize Now button in Odoo
After this, your bank feeds will be regularly synchronized.
FAQ
===
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
at different intervals. To force the synchronization and fetch the statements, go to your
*Accounting dashboard*, and click on the *Synchronize Now* button.
A transaction can be visible in your bank account, but not be fetched if it has the status
*Pending*. Only transactions with the *Posted* status will be retrieved. If it is not *Posted* yet,
you will have to wait until the status changes.
Is the Automatic Import feature included in my contract?
--------------------------------------------------------
- **Enterprise Version**: Yes, if you have a valid enterprise contract linked to your database.
- **Community Version**: No, this feature is not included in the Community Version.
- **Online Version**: Yes, even if you benefit from the One App Free contract.
Some banks have a status "Beta," what does this mean?
-----------------------------------------------------
This means that banking institutions are not yet fully supported by our Third Party Provider. Bugs
or other problems may arise. Odoo does not support technical problems that occur with banks in the
Beta phase, but the user may still choose to connect. Connecting with these banks can aid in the
development process since the Provider will have real data & feedback from the connection.
Why do my transactions only synchronize when I refresh manually?
----------------------------------------------------------------
Some banks have additional security measures and require extra steps, such as an SMS/email
authentication code or another type of MFA. Because of this, the integrator cannot pull transactions
until the security code is provided.
Not all of my past transactions are in Odoo, why?
-------------------------------------------------
Transactions can only be fetched up to 3 months in the past.
Why dont I see any transactions?
---------------------------------
When you first connect with your bank, you will be prompted to add each account to its own journal.
If you skip this step, you will not be able to see your transactions in Odoo.
If your bank account is properly linked to a journal and posted transactions are not visible in your
database, please `submit a support ticket <https://www.odoo.com/help>`_.
How can I update my bank credentials?
-------------------------------------
You can update your credentials in the *Developer Mode*.
To do so, go to :menuselection:`General Settings`, click on *Activate developer mode*, then go to
:menuselection:`Accounting --> Configuration --> Online Synchronization`, then open the Institution
you want to edit, and click on *Update Credentials*.

View File

@ -78,5 +78,5 @@ speed up a lot the reconciliation process.
.. seealso::
* :doc:`ofx`
* :doc:`qif`
* :doc:`synchronize`
* :doc:`bank_synchronization`
* :doc:`manual`

View File

@ -96,4 +96,4 @@ To close the bank statement, just click on **Validate**.
.. seealso::
* :doc:`../reconciliation/use_cases`
* :doc:`../feeds/synchronize`
* :doc:`../feeds/bank_synchronization`

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

View File

@ -62,5 +62,5 @@ speed up a lot the reconciliation process.
.. seealso::
* :doc:`qif`
* :doc:`coda`
* :doc:`synchronize`
* :doc:`bank_synchronization`
* :doc:`manual`

View File

@ -63,5 +63,5 @@ speed up a lot the reconciliation process.
.. seealso::
* :doc:`ofx`
* :doc:`coda`
* :doc:`synchronize`
* :doc:`bank_synchronization`
* :doc:`manual`

View File

@ -1,112 +0,0 @@
=======================================
How to synchronize Odoo with your bank?
=======================================
Odoo is able to synchronize directly with your bank in order to get all
bank statements imported automatically in Odoo every 4 hours. Before
moving forward in this tutorial, you should check if your bank is
supported. You can find it out from the `Odoo Accounting Features <https://www.odoo.com/page/accounting-features>`__
.. image:: media/synchronize01.png
:align: center
Search for your bank name in the above page. If your bank appears in the
proposition, it means it is supported by Odoo. The countries which are
fully supported (meaning more than 95% of the banks) include: United
States, Canada, New Zealand, Austria. More than 30 countries are
partially supported, including: Colombia, India, France, Spain, etc.
In order to connect with the banks, Odoo uses two web-services:
- Plaid: for the main banks in the U.S.
- Yodlee: for all other banks
Configuration
=============
Odoo Online Users
-----------------
If you we support banks of your country, the bank integration feature
should already been installed. If it's not installed, you can manually
install the module **account_yodlee**.
Odoo Enterprise Users
---------------------
If you plan to use a bank interface with your Odoo Enterprise
subscription, you don't have to do anything special, just make sure that your database is registered with your Odoo Enterprise contract.
.. note::
you might want to check that you don't have a firewall/proxy blocking the following addresses
* https://onlinesync.odoo.com/
* https://api.plaid.com/
Sync your bank feeds
====================
Once the Plaid or Yodlee interface is installed, you can connect Odoo to
your bank. To do that, click on **More** on the bank of your
choice from the accounting dashboard. In the menu, click on Settings to
configure this bank account.
.. image:: media/synchronize02.png
:align: center
In the bank form, from the Bank Account tab, set the bank feeds option
to **Bank Synchronization**.
.. image:: media/synchronize03.png
:align: center
Once it's done, go back to your accounting dashboard. You should see a
**Online Synchronization** button on your bank card. Click on this button
and fill in your bank credentials.
Once you filled in your credentials, your bank feeds will be
synchronized every 4 hours.
FAQ
===
The synchronization is not working in real time, is it normal?
--------------------------------------------------------------
Yodlee tries to get the data from a bank account once a day. However, this doesn't
always happen at the same time. And sometimes the process can fail. In that case,
Yodlee retries one hour or two later. This is why in Odoo there is a cron that is
running every 4 hours to fetch the information from Yodlee.
You can however force this synchronization by clicking on the button "Synchronize now"
from the accounting dashboard.
Moreover, a transaction can be visible in your bank account but not being fetched
by Yodlee. Indeed, the transaction in your bank account can have the status "pending"
and not the status "posted". In that case, Yodlee won't import it, you will have to
wait till the status changes.
What is important to remember is that Yodlee is not a service fetching transactions
in real time. This is a service to facilitate the import of the bank statements to the database.
Is the Yodlee feature included in my contract?
----------------------------------------------
- Enterprise Version: Yes, if you have a valid enterprise contract linked to your database.
- Community Version: No, this feature is not included in the Community Version.
- Online Version: Yes, even if you benefit from the One App Free contract.
Some banks have a status "Beta", what does it mean?
---------------------------------------------------
This means that Yodlee is only currently working on developing the synchronization
with this bank. The synchronization could already work or it may need a bit more time
to have a 100% working synchronization. Unfortunately, there is not much to do about it
except for being patient.
All my past transactions are not in Odoo, why?
----------------------------------------------
Yodlee only allows to fetch transactions up to 3 months in the past.

View File

@ -106,5 +106,5 @@ right and validate all related payments :
.. seealso::
* :doc:`../feeds/ofx`
* :doc:`../feeds/synchronize`
* :doc:`../feeds/bank_synchronization`
* :doc:`../feeds/manual`

View File

@ -5,7 +5,6 @@ Adviser
.. toctree::
:titlesonly:
adviser/assets
adviser/fiscalyear
adviser/budget
adviser/reverse_entry

View File

@ -1,142 +0,0 @@
========================
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 completly 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

View File

@ -68,5 +68,26 @@ automated tax computation.
Add your product(s). You have two options to get Sales Tax on the Order. You can confirm it,
or you can save it and from the *Action* Menu choose **Update Taxes with TaxCloud**.
Coupons & Promotions
====================
If you use the Coupon or Promotion Programs, the integration with Taxcloud might seem a bit odd.
The problem lies with the fact that Taxcloud does not accept lines with negative amounts as part of
the tax computation. This means that the amount of the lines added by the promotion program must be
deduced from the total of the lines it impacts. This means, amongst other complications, that orders
that use coupons or promotions with a Taxcloud fiscal position **must** be invoiced completely -
you cannot create invoices for partial deliveries, etc.
Another specific oddity is possible in the UI: imagine that you sell a product from the Taxcloud
category *[20110] Computers* and that you have a promotion program in place that provides a 50%
discount on this product. If the tax rate for this particular product is 7%, the tax rate that will
be computed from the Taxcloud integration will display 3.5%. This happens because the discount is
included in the price that is sent to Taxcloud, but in Odoo this discount is in another line
entirely. At the end of the day, your tax computation will be correct (since a 3.5% tax on the full
price is the equivalent of a 7% tax on half the price), but this might be surprising from a user
point of view.
.. seealso::
* :doc:`application`
- :doc:`application`

View File

@ -8,3 +8,4 @@ Vendor Bills
supplier_bills/manage
supplier_bills/bills_or_receipts
supplier_bills/deferred_expenses
supplier_bills/assets

View File

@ -0,0 +1,254 @@
===================================
Non-current Assets and Fixed Assets
===================================
**Non-current Assets**, also known as **long-term assets**, are investments that are expected to be
realized after one year. They are capitalized rather than being expensed and appear on the company's
balance sheet. Depending on their nature, they may undergo **depreciation**.
**Fixed Assets** are a type of Non-current Assets and include the properties bought for their
productive aspects, such as buildings, vehicles, equipment, land, and software.
For example, let's say we buy a car for $ 27,000. We plan to amortize it over five years, and we
will sell it for $ 7,000 afterward. Using the linear, or straight-line, depreciation method,
$ 4,000 are expensed each year as **depreciation expenses**. After five years, the **Accumulated
Depreciation** amount reported on the balance sheet equals $ 20,000, leaving us with $ 7,000 of
**Not Depreciable Value**, or Salvage value.
Odoo Accounting handles depreciation by creating all depreciation entries automatically in *draft
mode*. They are then posted periodically.
Odoo supports the following **Depreciation Methods**:
- Linear
- Degressive
- Accelerated Degressive
.. note::
The server checks once a day if an entry must be posted. It might then take up to 24 hours before
you see a change from *draft* to *posted*.
Prerequisites
=============
Such transactions must be posted on an **Assets Account** rather than on the default
expense account.
Configure an Assets Account
---------------------------
To configure your account in the **Chart of Accounts**, go to :menuselection:`Accounting -->
Configuration --> Chart of Accounts`, click on *Create*, and fill out the form.
.. image:: media/assets01.png
:align: center
:alt: Configuration of an Assets Account in Odoo Accounting
.. note::
This account's type must be either *Fixed Assets* or *Non-current Assets*.
Post an expense to the right account
------------------------------------
Select the account on a draft bill
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
On a draft bill, select the right account for all the assets you are buying.
.. image:: media/assets02.png
:align: center
:alt: Selection of an Assets Account on a draft bill in Odoo Accounting
.. _product-assets-account:
Choose a different Expense Account for specific products
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Start editing the product, go to the *Accounting* tab, select the right **Expense Account**, and
save.
.. image:: media/assets03.png
:align: center
:alt: Change of the Assets Account for a product in Odoo
.. tip::
It is possible to :ref:`automate the creation of assets entries <assets-automation>` for these
products.
.. _journal-assets-account:
Change the account of a posted journal item
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To do so, open your Purchases Journal by going to :menuselection:`Accounting --> Accounting -->
Purchases`, select the journal item you want to modify, click on the account, and select the right
one.
.. image:: media/assets04.png
:align: center
:alt: Modification of a posted journal item's account in Odoo Accounting
Assets entries
==============
.. _create-assets-entry:
Create a new entry
------------------
An **Asset entry** automatically generates all journal entries in *draft mode*. They are then posted
one by one at the right time.
To create a new entry, go to :menuselection:`Accounting --> Accounting --> Assets`, click on
*Create*, and fill out the form.
Click on **select related purchases** to link an existing journal item to this new entry. Some
fields are then automatically filled out, and the journal item is now listed under the **Related
Purchase** tab.
.. image:: media/assets05.png
:align: center
:alt: Assets entry in Odoo Accounting
Once done, you can click on *Compute Depreciation* (next to the *Confirm* button) to generate all
the values of the **Depreciation Board**. This board shows you all the entries that Odoo will post
to depreciate your asset, and at which date.
.. image:: media/assets06.png
:align: center
:alt: Depreciation Board in Odoo Accounting
What does "Prorata Temporis" mean?
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The **Prorata Temporis** feature is useful to depreciate your assets the most accurately possible.
With this feature, the first entry on the Depreciation Board is computed based on the time left
between the *Prorata Date* and the *First Depreciation Date* rather than the default amount of time
between depreciations.
For example, the Depreciation Board above has its first depreciation with an amount of $ 241.10
rather than $ 4,000.00. Consequently, the last entry is also lower and has an amount of $ 3758.90.
What are the different Depreciation Methods
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
The **Linear Depreciation Method** divides the initial Depreciable Value by the number of
depreciations planned. All depreciation entries have the same amount.
The **Degressive Depreciation Method** multiplies the Depreciable Value by the **Degressive Factor**
for each entry. Each depreciation entry has a lower amount than the previous entry.
The **Accelerated Degressive Depreciation Method** uses the Degressive Method, but with a minimum
Depreciation equal to the Linear Method. This method ensures a fast depreciation at the beginning,
followed by a constant one afterward.
Assets from the Purchases Journal
---------------------------------
You can create an asset entry from a specific journal item in your **Purchases Journal**.
To do so, open your Purchases Journal by going to :menuselection:`Accounting --> Accounting -->
Purchases`, and select the journal item you want to record as an asset. Make sure that it is posted
in the right account (see: :ref:`journal-assets-account`).
Then, click on *Action*, select **Create Asset**, and fill out the form the same way you would do to
:ref:`create a new entry <create-assets-entry>`.
.. image:: media/assets07.png
:align: center
:alt: Create Asset Entry from a journal item in Odoo Accounting
Modification of an Asset
========================
You can modify the values of an asset to increase or decrease its value.
To do so, open the asset you want to modify, and click on *Modify Depreciation*. Then, fill out the
form with the new depreciation values and click on *Modify*.
A **decrease in value** posts a new Journal Entry for the **Value Decrease** and modifies all the
future *unposted* Journal Entries listed in the Depreciation Board.
An **increase in value** requires you to fill out additional fields related to the account movements
and creates a new Asset entry with the **Value Increase**. The Gross Increase Asset Entry can be
accessed with a Smart Button.
.. image:: media/assets08.png
:align: center
:alt: Gross Increase smart button in Odoo Accounting
Disposal of Fixed Assets
========================
To **sell** an asset or **dispose** of it implies that it must be removed from the Balance Sheet.
To do so, open the asset you want to dispose of, click on *Sell or Dispose*, and fill out the form.
.. image:: media/assets09.png
:align: center
:alt: Disposal of Assets in Odoo Accounting
Odoo Accounting then generates all the journal entries necessary to dispose of the asset, including
the gain or loss on sale, which is based on the difference between the asset's book value at the
time of the sale and the amount it is sold for.
.. note::
To record the sale of an asset, you must first post the related Customer Invoice so you can link
the sale of the asset with it.
Assets Models
=============
You can create **Assets Models** to create your Asset entries faster. It is particularly useful if
you recurrently buy the same kind of assets.
To create a model, go to :menuselection:`Accounting → Configuration --> Assets Models`, click on
*Create*, and fill out the form the same way you would do to create a new entry.
.. tip::
You can also convert a *confirmed Asset entry* into a model by opening it from
:menuselection:`Accounting --> Accounting --> Assets` and then, by clicking on the button *Save
Model*.
Apply an Asset Model to a new entry
-----------------------------------
When you create a new Asset entry, fill out the **Fixed Asset Account** with the right asset
account.
New buttons with all the models linked to that account appear at the top of the form. Clicking on a
model button fills out the form according to that model.
.. image:: media/assets10.png
:align: center
:alt: Assets model button in Odoo Accounting
.. _assets-automation:
Automate the Assets
===================
When you create or edit an account of which the type is either *Non-current Assets* or *Fixed
Assets*, you can configure it to create assets for the expenses that are credited on it
automatically.
You have three choices for the **Automate Assets** field:
#. **No:** this is the default value. Nothing happens.
#. **Create in draft:** whenever a transaction is posted on the account, a draft *Assets entry* is
created, but not validated. You must first fill out the form in :menuselection:`Accounting -->
Accounting --> Assets`.
#. **Create and validate:** you must also select an Asset Model (see: `Assets Models`_). Whenever a
transaction is posted on the account, an *Assets entry* is created and immediately validated.
.. image:: media/assets11.png
:align: center
:alt: Automate Assets on an account in Odoo Accounting
.. tip::
You can, for example, select this account as the default **Expense Account** of a product to
fully automate its purchase. (see: :ref:`product-assets-account`).
.. seealso::
* :doc:`../../others/configuration/account_type`

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

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