[MERGE] Forward-port of 13.0 to 13.2
@ -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):
|
||||
|
@ -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 %}
|
||||
|
@ -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)
|
||||
|
@ -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'&',
|
||||
ord('<'): u'<',
|
||||
ord('"'): u'"',
|
||||
@ -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'])
|
||||
|
||||
|
Before Width: | Height: | Size: 56 KiB |
BIN
_static/banners/accounting.png
Normal file
After Width: | Height: | Size: 164 KiB |
Before Width: | Height: | Size: 161 KiB |
BIN
_static/banners/crm.png
Normal file
After Width: | Height: | Size: 387 KiB |
Before Width: | Height: | Size: 78 KiB |
BIN
_static/banners/db_online.png
Normal file
After Width: | Height: | Size: 190 KiB |
Before Width: | Height: | Size: 230 KiB |
BIN
_static/banners/db_premise.png
Normal file
After Width: | Height: | Size: 340 KiB |
Before Width: | Height: | Size: 91 KiB |
BIN
_static/banners/discuss.png
Normal file
After Width: | Height: | Size: 146 KiB |
Before Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 164 KiB |
BIN
_static/banners/ecommerce.png
Normal file
After Width: | Height: | Size: 122 KiB |
Before Width: | Height: | Size: 50 KiB |
BIN
_static/banners/expense.png
Normal file
After Width: | Height: | Size: 149 KiB |
Before Width: | Height: | Size: 110 KiB |
BIN
_static/banners/fsm.png
Normal file
After Width: | Height: | Size: 187 KiB |
Before Width: | Height: | Size: 180 KiB |
BIN
_static/banners/general.png
Normal file
After Width: | Height: | Size: 311 KiB |
Before Width: | Height: | Size: 607 KiB After Width: | Height: | Size: 113 KiB |
Before Width: | Height: | Size: 62 KiB |
BIN
_static/banners/helpdesk.png
Normal file
After Width: | Height: | Size: 172 KiB |
Before Width: | Height: | Size: 146 KiB |
BIN
_static/banners/inventory.png
Normal file
After Width: | Height: | Size: 256 KiB |
Before Width: | Height: | Size: 149 KiB |
BIN
_static/banners/iot.png
Normal file
After Width: | Height: | Size: 335 KiB |
BIN
_static/banners/legal.png
Normal file
After Width: | Height: | Size: 199 KiB |
Before Width: | Height: | Size: 508 KiB |
BIN
_static/banners/livechat.png
Normal file
After Width: | Height: | Size: 271 KiB |
Before Width: | Height: | Size: 374 KiB |
Before Width: | Height: | Size: 224 KiB |
Before Width: | Height: | Size: 246 KiB |
Before Width: | Height: | Size: 285 KiB |
BIN
_static/banners/manufacturing.png
Normal file
After Width: | Height: | Size: 263 KiB |
Before Width: | Height: | Size: 105 KiB |
BIN
_static/banners/mobile.png
Normal file
After Width: | Height: | Size: 314 KiB |
Before Width: | Height: | Size: 2.5 MiB |
BIN
_static/banners/my_odoo_portal.png
Normal file
After Width: | Height: | Size: 346 KiB |
Before Width: | Height: | Size: 256 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 24 KiB |
BIN
_static/banners/odoo_sh.png
Normal file
After Width: | Height: | Size: 650 KiB |
Before Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 119 KiB |
BIN
_static/banners/planning.png
Normal file
After Width: | Height: | Size: 272 KiB |
Before Width: | Height: | Size: 61 KiB |
BIN
_static/banners/pos.png
Normal file
After Width: | Height: | Size: 189 KiB |
Before Width: | Height: | Size: 69 KiB |
BIN
_static/banners/project.png
Normal file
After Width: | Height: | Size: 153 KiB |
Before Width: | Height: | Size: 56 KiB |
BIN
_static/banners/purchase.png
Normal file
After Width: | Height: | Size: 178 KiB |
Before Width: | Height: | Size: 792 KiB |
BIN
_static/banners/quality.png
Normal file
After Width: | Height: | Size: 442 KiB |
Before Width: | Height: | Size: 38 KiB |
Before Width: | Height: | Size: 48 KiB |
BIN
_static/banners/repair.png
Normal file
After Width: | Height: | Size: 241 KiB |
Before Width: | Height: | Size: 125 KiB |
BIN
_static/banners/sales.png
Normal file
After Width: | Height: | Size: 331 KiB |
Before Width: | Height: | Size: 79 KiB |
BIN
_static/banners/seo.png
Normal file
After Width: | Height: | Size: 217 KiB |
Before Width: | Height: | Size: 531 KiB |
Before Width: | Height: | Size: 74 KiB |
Before Width: | Height: | Size: 52 KiB |
BIN
_static/banners/sms.png
Normal file
After Width: | Height: | Size: 322 KiB |
Before Width: | Height: | Size: 83 KiB |
BIN
_static/banners/social_marketing.png
Normal file
After Width: | Height: | Size: 248 KiB |
Before Width: | Height: | Size: 88 KiB |
BIN
_static/banners/support.png
Normal file
After Width: | Height: | Size: 238 KiB |
Before Width: | Height: | Size: 429 KiB |
BIN
_static/banners/users.png
Normal file
After Width: | Height: | Size: 446 KiB |
BIN
_static/icons/odoo_icon.png
Normal file
After Width: | Height: | Size: 2.6 KiB |
BIN
_static/icons/odoo_logo.png
Normal file
After Width: | Height: | Size: 6.6 KiB |
@ -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 |
@ -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 |
@ -1,4 +1,4 @@
|
||||
:banner: banners/accounting.jpg
|
||||
:banner: banners/accounting.png
|
||||
|
||||
==========
|
||||
Accounting
|
||||
|
@ -5,7 +5,7 @@ Bank Feeds
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
feeds/synchronize
|
||||
feeds/bank_synchronization
|
||||
feeds/ofx
|
||||
feeds/qif
|
||||
feeds/coda
|
||||
|
128
accounting/bank/feeds/bank_synchronization.rst
Normal 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 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 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 don’t 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*.
|
@ -78,5 +78,5 @@ speed up a lot the reconciliation process.
|
||||
.. seealso::
|
||||
* :doc:`ofx`
|
||||
* :doc:`qif`
|
||||
* :doc:`synchronize`
|
||||
* :doc:`bank_synchronization`
|
||||
* :doc:`manual`
|
||||
|
@ -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`
|
||||
|
BIN
accounting/bank/feeds/media/bank_synchronization01.png
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
accounting/bank/feeds/media/bank_synchronization02.png
Normal file
After Width: | Height: | Size: 16 KiB |
BIN
accounting/bank/feeds/media/bank_synchronization03.png
Normal file
After Width: | Height: | Size: 6.9 KiB |
Before Width: | Height: | Size: 35 KiB |
Before Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 16 KiB |
@ -62,5 +62,5 @@ speed up a lot the reconciliation process.
|
||||
.. seealso::
|
||||
* :doc:`qif`
|
||||
* :doc:`coda`
|
||||
* :doc:`synchronize`
|
||||
* :doc:`bank_synchronization`
|
||||
* :doc:`manual`
|
||||
|
@ -63,5 +63,5 @@ speed up a lot the reconciliation process.
|
||||
.. seealso::
|
||||
* :doc:`ofx`
|
||||
* :doc:`coda`
|
||||
* :doc:`synchronize`
|
||||
* :doc:`bank_synchronization`
|
||||
* :doc:`manual`
|
||||
|
@ -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.
|
@ -106,5 +106,5 @@ right and validate all related payments :
|
||||
|
||||
.. seealso::
|
||||
* :doc:`../feeds/ofx`
|
||||
* :doc:`../feeds/synchronize`
|
||||
* :doc:`../feeds/bank_synchronization`
|
||||
* :doc:`../feeds/manual`
|
||||
|
@ -5,7 +5,6 @@ Adviser
|
||||
.. toctree::
|
||||
:titlesonly:
|
||||
|
||||
adviser/assets
|
||||
adviser/fiscalyear
|
||||
adviser/budget
|
||||
adviser/reverse_entry
|
||||
|
@ -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
|
@ -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`
|
||||
|
@ -8,3 +8,4 @@ Vendor Bills
|
||||
supplier_bills/manage
|
||||
supplier_bills/bills_or_receipts
|
||||
supplier_bills/deferred_expenses
|
||||
supplier_bills/assets
|
||||
|
254
accounting/payables/supplier_bills/assets.rst
Normal 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`
|
BIN
accounting/payables/supplier_bills/media/assets01.png
Normal file
After Width: | Height: | Size: 5.2 KiB |
BIN
accounting/payables/supplier_bills/media/assets02.png
Normal file
After Width: | Height: | Size: 12 KiB |