Compare commits
47 commits
main
...
ver-6.0.13
Author | SHA1 | Date | |
---|---|---|---|
![]() |
7f8827c4c9 | ||
![]() |
996c6ddeef | ||
![]() |
a9bfaa2cd5 | ||
![]() |
d83663b8fb | ||
![]() |
d05512a34e | ||
![]() |
5c31176816 | ||
![]() |
285054c045 | ||
![]() |
6e2f109346 | ||
![]() |
40097137b0 | ||
![]() |
2013df403b | ||
![]() |
1e8562f260 | ||
![]() |
5dad4ce239 | ||
![]() |
804c63622c | ||
![]() |
9837eb543d | ||
![]() |
569b4e2fc8 | ||
![]() |
d02ffe5d26 | ||
![]() |
a1456cdc76 | ||
![]() |
816d181d13 | ||
![]() |
bbb0673a71 | ||
![]() |
a4add36fed | ||
![]() |
2e96a1d4c9 | ||
![]() |
5c2d5e2a1d | ||
![]() |
fce531c210 | ||
![]() |
b2e2b36edd | ||
![]() |
0150aead02 | ||
![]() |
30ad2c5201 | ||
![]() |
9c1bf1ca18 | ||
![]() |
0937e5548b | ||
![]() |
61cf85eb0b | ||
![]() |
004f35ad13 | ||
![]() |
59ef90e198 | ||
![]() |
e3a0e730f9 | ||
![]() |
95ea673358 | ||
![]() |
fc5c250a20 | ||
![]() |
4c95a412c3 | ||
![]() |
227577fb16 | ||
![]() |
10a2b61832 | ||
![]() |
cc4dcd73db | ||
![]() |
41da51562c | ||
![]() |
2d7adffe35 | ||
![]() |
2a0adb0ebe | ||
![]() |
294c3869a6 | ||
![]() |
15dbf83233 | ||
![]() |
c3aadd0dfe | ||
![]() |
7d20e3d091 | ||
![]() |
5bb3af1f39 | ||
![]() |
b4e7a97793 |
7 changed files with 54 additions and 27 deletions
|
@ -1,5 +1,7 @@
|
||||||
Copyright (C) 2021-2025 martin-data services.
|
Copyright (C) 2015-2023 Cédric Krier.
|
||||||
Copyright (C) 2024-2025 Mathias Behrle
|
Copyright (C) 2015-2023 B2CK SPRL.
|
||||||
|
Copyright (C) 2021-2024 martin-data services.
|
||||||
|
Copyright (C) 2024 Mathias Behrle
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
|
|
41
README.rst
41
README.rst
|
@ -9,37 +9,46 @@ pip install mds-edocument-xrechnung
|
||||||
|
|
||||||
Requires
|
Requires
|
||||||
========
|
========
|
||||||
- Tryton 7.0
|
- Tryton 6.0
|
||||||
|
|
||||||
Changes
|
Changes
|
||||||
=======
|
=======
|
||||||
|
|
||||||
*7.0.10 - 12.12.2024*
|
*6.0.13 - 28.01.2025*
|
||||||
|
|
||||||
|
- fix: rounding of unit_price at invoice-line
|
||||||
|
|
||||||
|
*6.0.12 - 09.01.2025*
|
||||||
|
|
||||||
|
- handle tax childs (Jan Grasnick <jan@mittelwind.de>)
|
||||||
|
|
||||||
|
*6.0.11 - 19.12.2024*
|
||||||
|
|
||||||
|
- Lookup parent taxes for unece tax codes.
|
||||||
|
- Improve the help text of xrechnung_routeid. Correct a translation.
|
||||||
|
(Mathias Behrle <mathiasb@m9s.biz>)
|
||||||
|
|
||||||
|
*6.0.10 - 12.12.2024*
|
||||||
|
|
||||||
- fix missing views
|
- fix missing views
|
||||||
- Remove arguments in super() calls. (Mathias Behrle)
|
- Remove arguments in super() calls. (Mathias Behrle)
|
||||||
|
|
||||||
*7.0.9 - 11.12.2024*
|
*6.0.9 - 11.12.2024*
|
||||||
|
|
||||||
- fix name of party in exceptions
|
- fix name of party in exceptions
|
||||||
|
|
||||||
*7.0.7 - 10.12.2024*
|
*6.0.7 - 10.12.2024*
|
||||||
|
|
||||||
- add iban to xml-export
|
- add: export of factur-x 1.07.2, XRechnung 2.3 + 3.0
|
||||||
|
|
||||||
*7.0.6 - 09.12.2024*
|
*6.0.2 - 30.06.2023*
|
||||||
|
|
||||||
- add: check for valid data to generate xml
|
- add: credit-note
|
||||||
|
|
||||||
*7.0.5 - 05.12.2024*
|
*6.0.1 - 20.10.2022*
|
||||||
|
|
||||||
- add: export Factur-X 1.07.2
|
- works
|
||||||
|
|
||||||
*7.0.4 - 05.12.2024*
|
*6.0.0 - 17.10.2022*
|
||||||
|
|
||||||
- add: export XRechnung 2.3 + 3.0
|
- init
|
||||||
- updt: xrechnung-route-id optional
|
|
||||||
|
|
||||||
*7.0.3 - 22.12.2023*
|
|
||||||
|
|
||||||
- compatibility to Tryton 7.0
|
|
||||||
|
|
10
mixin.py
10
mixin.py
|
@ -4,13 +4,13 @@
|
||||||
# full copyright notices and license terms.
|
# full copyright notices and license terms.
|
||||||
|
|
||||||
|
|
||||||
from decimal import Decimal
|
from decimal import Decimal, ROUND_HALF_EVEN
|
||||||
import html
|
import html
|
||||||
from trytond.exceptions import UserError
|
from trytond.exceptions import UserError
|
||||||
from trytond.i18n import gettext
|
from trytond.i18n import gettext
|
||||||
from trytond.tools import cached_property
|
from trytond.tools import cached_property
|
||||||
from trytond.pool import Pool
|
from trytond.pool import Pool
|
||||||
from trytond.modules.product import round_price
|
from trytond.modules.product import price_digits
|
||||||
|
|
||||||
|
|
||||||
class EdocumentMixin(object):
|
class EdocumentMixin(object):
|
||||||
|
@ -193,8 +193,10 @@ class EdocumentMixin(object):
|
||||||
Returns:
|
Returns:
|
||||||
Decimal: rounded value
|
Decimal: rounded value
|
||||||
"""
|
"""
|
||||||
if value is not None:
|
if isinstance(value, Decimal):
|
||||||
return round_price(value)
|
return value.quantize(
|
||||||
|
Decimal(str(1/10 ** price_digits[1])),
|
||||||
|
ROUND_HALF_EVEN)
|
||||||
return value
|
return value
|
||||||
|
|
||||||
def quote_text(self, text):
|
def quote_text(self, text):
|
||||||
|
|
6
setup.py
6
setup.py
|
@ -13,9 +13,11 @@ here = path.abspath(path.dirname(__file__))
|
||||||
MODULE = 'edocument_xrechnung'
|
MODULE = 'edocument_xrechnung'
|
||||||
PREFIX = 'mds'
|
PREFIX = 'mds'
|
||||||
|
|
||||||
|
# Get the long description from the README file
|
||||||
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
|
with open(path.join(here, 'README.rst'), encoding='utf-8') as f:
|
||||||
long_description = f.read()
|
long_description = f.read()
|
||||||
|
|
||||||
|
# tryton.cfg einlesen
|
||||||
config = ConfigParser()
|
config = ConfigParser()
|
||||||
config.readfp(open('tryton.cfg'))
|
config.readfp(open('tryton.cfg'))
|
||||||
info = dict(config.items('tryton'))
|
info = dict(config.items('tryton'))
|
||||||
|
@ -34,7 +36,7 @@ with open(path.join(here, 'versiondep.txt'), encoding='utf-8') as f:
|
||||||
modversion[l2[0]] = {'min': l2[1], 'max': l2[2], 'prefix': l2[3]}
|
modversion[l2[0]] = {'min': l2[1], 'max': l2[2], 'prefix': l2[3]}
|
||||||
|
|
||||||
# tryton-version
|
# tryton-version
|
||||||
major_version = 7
|
major_version = 6
|
||||||
minor_version = 0
|
minor_version = 0
|
||||||
|
|
||||||
requires = []
|
requires = []
|
||||||
|
@ -85,8 +87,6 @@ setup(
|
||||||
'Programming Language :: Python :: 3.8',
|
'Programming Language :: Python :: 3.8',
|
||||||
'Programming Language :: Python :: 3.9',
|
'Programming Language :: Python :: 3.9',
|
||||||
'Programming Language :: Python :: 3.10',
|
'Programming Language :: Python :: 3.10',
|
||||||
'Programming Language :: Python :: 3.11',
|
|
||||||
'Programming Language :: Python :: 3.12',
|
|
||||||
],
|
],
|
||||||
|
|
||||||
keywords='tryton xrechnung edcoument',
|
keywords='tryton xrechnung edcoument',
|
||||||
|
|
|
@ -2,3 +2,17 @@
|
||||||
# This file is part of the edocument-module for Tryton from m-ds.de.
|
# This file is part of the edocument-module for Tryton from m-ds.de.
|
||||||
# The COPYRIGHT file at the top level of this repository contains the
|
# The COPYRIGHT file at the top level of this repository contains the
|
||||||
# full copyright notices and license terms.
|
# full copyright notices and license terms.
|
||||||
|
|
||||||
|
import trytond.tests.test_tryton
|
||||||
|
import unittest
|
||||||
|
|
||||||
|
from .test_edocument import EdocTestCase
|
||||||
|
|
||||||
|
__all__ = ['suite']
|
||||||
|
|
||||||
|
|
||||||
|
def suite():
|
||||||
|
suite = trytond.tests.test_tryton.suite()
|
||||||
|
suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
|
||||||
|
EdocTestCase))
|
||||||
|
return suite
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
[tryton]
|
[tryton]
|
||||||
version=7.0.10
|
version=6.0.13
|
||||||
depends:
|
depends:
|
||||||
edocument_uncefact
|
edocument_uncefact
|
||||||
party
|
party
|
||||||
|
|
|
@ -4,7 +4,7 @@
|
||||||
full copyright notices and license terms. -->
|
full copyright notices and license terms. -->
|
||||||
<data>
|
<data>
|
||||||
|
|
||||||
<xpath expr="/form/separator[@id='currency_exchange']" position="before">
|
<xpath expr="/form/separator[@id='move']" position="before">
|
||||||
|
|
||||||
<separator id="edocument" colspan="4" string="eDocument"/>
|
<separator id="edocument" colspan="4" string="eDocument"/>
|
||||||
<field name="edocument_bank" colspan="2" height="200"/>
|
<field name="edocument_bank" colspan="2" height="200"/>
|
||||||
|
|
Loading…
Reference in a new issue