-
-
Notifications
You must be signed in to change notification settings - Fork 520
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[MIG] l10n_es_ticketbai_oss: Migration to 16.0
- Loading branch information
Showing
11 changed files
with
186 additions
and
69 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1 +1,2 @@ | ||
from . import ticketbai_invoice_tax | ||
from . import account_tax | ||
from . import tbai_invoice_tax |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,55 @@ | ||
# Copyright 2022 Binovo IT Human Project SL | ||
# Copyright 2024 Avanzosc | ||
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl). | ||
|
||
from odoo import fields, models | ||
|
||
|
||
class AccountTax(models.Model): | ||
_inherit = "account.tax" | ||
|
||
tbai_tax_map_id = fields.Many2one( | ||
comodel_name="tbai.tax.map", string="Tbai Tax Map" | ||
) | ||
not_subject_to_cause = fields.Selection( | ||
selection=[ | ||
( | ||
"OT", | ||
"OT - No sujeto por el artículo 7 de la Norma Foral de IVA Otros" | ||
" supuestos de no sujeción.", | ||
), | ||
("RL", "RL - No sujeto por reglas de localización."), | ||
( | ||
"IE", | ||
"IE - No sujeto en el TAI por reglas de localización, pero repercute" | ||
" impuesto extranjero, IPS/IGIC o IVA de otro estado miembro UE.", | ||
), | ||
], | ||
string="Not Subject to Cause", | ||
) | ||
|
||
def tbai_is_subject_to_tax(self): | ||
if self.tbai_tax_map_id and self.tbai_tax_map_id.code in ("SNS", "BNS"): | ||
return False | ||
return super().tbai_is_subject_to_tax() | ||
|
||
def tbai_es_entrega(self): | ||
return super(AccountTax, self).tbai_es_entrega() or ( | ||
self | ||
in self.env["account.tax"].search( | ||
[ | ||
("oss_country_id", "!=", False), | ||
("company_id", "=", self.company_id.id), | ||
] | ||
) | ||
) | ||
|
||
def tbai_es_prestacion_servicios(self): | ||
if self.tbai_tax_map_id: | ||
return self.tbai_tax_map_id.code in ("SNS", "SIE", "S", "SER") | ||
return False | ||
|
||
def tbai_get_value_causa(self, invoice_id): | ||
if self.not_subject_to_cause: | ||
return self.not_subject_to_cause | ||
return super().tbai_get_value_causa(invoice_id) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,8 @@ | ||
# Copyright 2022 Landoo Sistemas de Informacion SL | ||
from odoo import fields, models | ||
|
||
|
||
class TicketBAITax(models.Model): | ||
_inherit = "tbai.invoice.tax" | ||
|
||
not_subject_to_cause = fields.Selection(selection_add=[("IE", "IE")]) |
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,3 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | ||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"> | ||
<head> | ||
|
@@ -9,10 +8,11 @@ | |
|
||
/* | ||
:Author: David Goodger ([email protected]) | ||
:Id: $Id: html4css1.css 8954 2022-01-20 10:10:25Z milde $ | ||
:Id: $Id: html4css1.css 9511 2024-01-13 09:50:07Z milde $ | ||
:Copyright: This stylesheet has been placed in the public domain. | ||
|
||
Default cascading style sheet for the HTML output of Docutils. | ||
Despite the name, some widely supported CSS2 features are used. | ||
|
||
See https://docutils.sourceforge.io/docs/howto/html-stylesheets.html for how to | ||
customize this style sheet. | ||
|
@@ -275,7 +275,7 @@ | |
margin-left: 2em ; | ||
margin-right: 2em } | ||
|
||
pre.code .ln { color: grey; } /* line numbers */ | ||
pre.code .ln { color: gray; } /* line numbers */ | ||
pre.code, code { background-color: #eeeeee } | ||
pre.code .comment, code .comment { color: #5C6576 } | ||
pre.code .keyword, code .keyword { color: #3B0D06; font-weight: bold } | ||
|
@@ -301,7 +301,7 @@ | |
span.pre { | ||
white-space: pre } | ||
|
||
span.problematic { | ||
span.problematic, pre.problematic { | ||
color: red } | ||
|
||
span.section-subtitle { | ||
|
@@ -369,7 +369,7 @@ <h1 class="title">TicketBAI - OSS</h1> | |
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
!! source digest: sha256:77f55c0935e6f03a4348e40c14de67abf243905f44db57cbb9517deef8c04f4c | ||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! --> | ||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-spain/tree/15.0/l10n_es_ticketbai_oss"><img alt="OCA/l10n-spain" src="https://img.shields.io/badge/github-OCA%2Fl10n--spain-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/l10n-spain-15-0/l10n-spain-15-0-l10n_es_ticketbai_oss"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/l10n-spain&target_branch=15.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p> | ||
<p><a class="reference external image-reference" href="https://odoo-community.org/page/development-status"><img alt="Beta" src="https://img.shields.io/badge/maturity-Beta-yellow.png" /></a> <a class="reference external image-reference" href="http://www.gnu.org/licenses/agpl-3.0-standalone.html"><img alt="License: AGPL-3" src="https://img.shields.io/badge/licence-AGPL--3-blue.png" /></a> <a class="reference external image-reference" href="https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_ticketbai_oss"><img alt="OCA/l10n-spain" src="https://img.shields.io/badge/github-OCA%2Fl10n--spain-lightgray.png?logo=github" /></a> <a class="reference external image-reference" href="https://translation.odoo-community.org/projects/l10n-spain-16-0/l10n-spain-16-0-l10n_es_ticketbai_oss"><img alt="Translate me on Weblate" src="https://img.shields.io/badge/weblate-Translate%20me-F47D42.png" /></a> <a class="reference external image-reference" href="https://runboat.odoo-community.org/builds?repo=OCA/l10n-spain&target_branch=16.0"><img alt="Try me on Runboat" src="https://img.shields.io/badge/runboat-Try%20me-875A7B.png" /></a></p> | ||
<p>Este módulo contabiliza el envío a TicketBAI de las facturas de comercio B2C a los países intracomunitarios según el marco de la normativa europea One-Stop Shop (OSS).</p> | ||
<p><strong>Table of contents</strong></p> | ||
<div class="contents local topic" id="contents"> | ||
|
@@ -405,7 +405,7 @@ <h1><a class="toc-backref" href="#toc-entry-3">Bug Tracker</a></h1> | |
<p>Bugs are tracked on <a class="reference external" href="https://github.com/OCA/l10n-spain/issues">GitHub Issues</a>. | ||
In case of trouble, please check there if your issue has already been reported. | ||
If you spotted it first, help us to smash it by providing a detailed and welcomed | ||
<a class="reference external" href="https://github.com/OCA/l10n-spain/issues/new?body=module:%20l10n_es_ticketbai_oss%0Aversion:%2015.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> | ||
<a class="reference external" href="https://github.com/OCA/l10n-spain/issues/new?body=module:%20l10n_es_ticketbai_oss%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**">feedback</a>.</p> | ||
<p>Do not contact contributors directly about support or help with technical issues.</p> | ||
</div> | ||
<div class="section" id="credits"> | ||
|
@@ -428,13 +428,15 @@ <h2><a class="toc-backref" href="#toc-entry-6">Contributors</a></h2> | |
<div class="section" id="maintainers"> | ||
<h2><a class="toc-backref" href="#toc-entry-7">Maintainers</a></h2> | ||
<p>This module is maintained by the OCA.</p> | ||
<a class="reference external image-reference" href="https://odoo-community.org"><img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /></a> | ||
<a class="reference external image-reference" href="https://odoo-community.org"> | ||
<img alt="Odoo Community Association" src="https://odoo-community.org/logo.png" /> | ||
</a> | ||
<p>OCA, or the Odoo Community Association, is a nonprofit organization whose | ||
mission is to support the collaborative development of Odoo features and | ||
promote its widespread use.</p> | ||
<p>Current <a class="reference external" href="https://odoo-community.org/page/maintainer-role">maintainer</a>:</p> | ||
<p><a class="reference external image-reference" href="https://github.com/ao-landoo"><img alt="ao-landoo" src="https://github.com/ao-landoo.png?size=40px" /></a></p> | ||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/l10n-spain/tree/15.0/l10n_es_ticketbai_oss">OCA/l10n-spain</a> project on GitHub.</p> | ||
<p>This module is part of the <a class="reference external" href="https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_ticketbai_oss">OCA/l10n-spain</a> project on GitHub.</p> | ||
<p>You are welcome to contribute. To learn how please visit <a class="reference external" href="https://odoo-community.org/page/Contribute">https://odoo-community.org/page/Contribute</a>.</p> | ||
</div> | ||
</div> | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1 @@ | ||
from . import test_invoice_oss |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,84 @@ | ||
from odoo.tests.common import TransactionCase, tagged | ||
|
||
|
||
@tagged("post_install", "-at_install") | ||
class TestInvoiceAddress(TransactionCase): | ||
def setUp(self): | ||
super(TestInvoiceAddress, self).setUp() | ||
self.currency = self.env.ref("base.EUR") | ||
self.company = self.env.ref("base.main_company") | ||
|
||
vals = { | ||
"company_id": self.company.id, | ||
"type": "sale", | ||
"code": "TEST", | ||
"name": "Journal Test", | ||
} | ||
self.journal = self.env["account.journal"].create(vals) | ||
|
||
vals = { | ||
"name": "Customer", | ||
} | ||
self.partner = self.env["res.partner"].create(vals) | ||
|
||
receivable_account_type = self.env["account.account"].search( | ||
[("account_type", "=", "asset_receivable")], limit=1 | ||
) | ||
|
||
if not receivable_account_type: | ||
receivable_account_type = self.env["account.account"].create( | ||
{ | ||
"name": "Receivables Account", | ||
"code": "REC", | ||
"company_id": self.company.id, | ||
"account_type": "asset_receivable", | ||
} | ||
) | ||
|
||
self.account = self.env["account.account"].create( | ||
{ | ||
"name": "Receivables Account", | ||
"code": "REC", | ||
"company_id": self.company.id, | ||
"account_type": "asset_receivable", | ||
} | ||
) | ||
|
||
tbai_tax_map_id = self.env["tbai.tax.map"].search([("code", "=", "BNS")]).id | ||
vals = { | ||
"name": "Tax 22%", | ||
"amount": 22, | ||
"price_include": False, | ||
"not_subject_to_cause": "IE", | ||
"tbai_tax_map_id": tbai_tax_map_id, | ||
} | ||
self.tax = self.env["account.tax"].create(vals) | ||
|
||
def test_no_subject_invoice(self): | ||
vals = { | ||
"currency_id": self.currency.id, | ||
"partner_id": self.partner.id, | ||
"journal_id": self.journal.id, | ||
"ref": "INV/12345", | ||
} | ||
invoice = self.env["account.move"].create(vals) | ||
|
||
vals = { | ||
"name": "Product 001", | ||
"quantity": 1, | ||
"price_unit": 100, | ||
"tax_ids": [(6, 0, [self.tax.id])], | ||
"move_id": invoice.id, | ||
"account_id": self.account.id, | ||
} | ||
self.env["account.move.line"].create(vals) | ||
|
||
self.assertEqual(len(invoice.invoice_line_ids), 1) | ||
|
||
is_subject_tax = invoice.invoice_line_ids[0].tax_ids.tbai_is_subject_to_tax() | ||
self.assertFalse(is_subject_tax) | ||
|
||
self.assertEqual(len(invoice.line_ids.tax_ids), 1) | ||
self.assertFalse(invoice.line_ids.tax_ids.tbai_es_entrega()) | ||
self.assertFalse(invoice.line_ids.tax_ids.tbai_es_prestacion_servicios()) | ||
self.assertEqual(invoice.line_ids.tax_ids.tbai_get_value_causa(invoice), "IE") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
<?xml version="1.0" encoding="UTF-8" ?> | ||
<odoo> | ||
<record model="ir.ui.view" id="account_tax_tbai_form"> | ||
<field name="name">account.tax.tbai.form</field> | ||
<field name="model">account.tax</field> | ||
<field name="inherit_id" ref="account.view_tax_form" /> | ||
<field name="arch" type="xml"> | ||
<xpath expr="//field[@name='tax_group_id']" position="after"> | ||
<field | ||
name="tbai_tax_map_id" | ||
options="{'no_create': True, 'no_create_edit':True, 'no_open': True}" | ||
/> | ||
<field name="not_subject_to_cause" /> | ||
</xpath> | ||
</field> | ||
</record> | ||
</odoo> |