Skip to content

Commit

Permalink
TEST Data: IVA no vigentes
Browse files Browse the repository at this point in the history
  • Loading branch information
guilleJB committed Oct 24, 2024
1 parent 8207856 commit 2ebdf87
Showing 1 changed file with 241 additions and 2 deletions.
243 changes: 241 additions & 2 deletions spec/testing_data.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,13 @@ def __init__(self, invoice_registered=False, contraparte_registered=True):
self.article = Article(tipo_factura='R1', tipo_rectificativa='I')
name_iva_21 = 'IVA 21%'
name_iva_4 = 'IVA 4%'
name_iva_5 = 'IVA 5%'
name_ibi = 'IBI 15%'
name_iva_exento = 'IVA Exento'
tax_ibi = Tax(name=name_ibi, amount=0.15, type='percent')
tax_iva_21 = Tax(name=name_iva_21, amount=0.21, type='percent')
tax_iva_4 = Tax(name=name_iva_21, amount=0.04, type='percent')
tax_iva_4 = Tax(name=name_iva_4, amount=0.04, type='percent')
self.tax_iva_5 = Tax(name=name_iva_5, amount=0.05, type='percent')
tax_iva_exento = Tax(name=name_iva_exento, amount=0, type='percent')
self.invoice_line = [
InvoiceLine(price_subtotal=100, invoice_line_tax_id=[tax_iva_21]),
Expand Down Expand Up @@ -428,7 +430,244 @@ def get_out_refund_invoice(self):
)
return r_invoice, b_invoice

def get_out_refund_mulitple_invoice(self):
def get_out_refund_invoice_iva5(self, fecha_facturas_recti=None):
journal = Journal(
name=u'Factura de Energía Rectificativa Emitida'
)
base_bruta = 10
invoice_tax_iva_5 = InvoiceTax(
name=self.tax_iva_5.name, base=base_bruta,
tax_amount=base_bruta * self.tax_iva_5.amount, tax_id=self.tax_iva_5
)
tax_line = [
invoice_tax_iva_5
]
n_total_amount = 0
n_total_tax = 0
for tl in tax_line:
n_total_amount += tl.base + tl.tax_amount
n_total_tax += tl.tax_amount

n_date_invoice = '2023-01-01'
n_period = Period(name='01/2023')

if fecha_facturas_recti:
b_date_invoice = fecha_facturas_recti
y,m,d = fecha_facturas_recti.split('-')
b_period = Period(name='{}/{}'.format(m,y))
else:
b_date_invoice = '2024-10-01'
b_period = Period(name='01/2024')
refund_tax_line = tax_line[:]
for invoice_tax in refund_tax_line:
invoice_tax.tax_amount = -1 * abs(invoice_tax.tax_amount)

orig_invoice = Invoice(
invoice_type='out_invoice',
journal_id=journal,
rectificative_type='N',
rectifying_id=False,
number='FEmitRectificada{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=n_total_amount,
amount_untaxed=base_bruta,
amount_tax=n_total_tax,
period_id=n_period,
date_invoice=n_date_invoice,
tax_line=tax_line,
invoice_line=[], # no se usa
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)

r_invoice = Invoice(
invoice_type='out_invoice',
journal_id=journal,
rectificative_type='R',
rectifying_id=orig_invoice,
number='FRectEmit{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=n_total_amount,
amount_untaxed=base_bruta,
amount_tax=n_total_tax,
period_id=b_period,
date_invoice=b_date_invoice,
tax_line=tax_line,
invoice_line=self.invoice_line,
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)
b_invoice = Invoice(
invoice_type='out_refund',
journal_id=journal,
rectificative_type='B',
rectifying_id=orig_invoice,
number='FEmitRectificada{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=-1 * n_total_amount,
amount_untaxed=-1 * base_bruta,
amount_tax=-1 * n_total_tax,
period_id=b_period,
date_invoice=b_date_invoice,
tax_line=refund_tax_line,
invoice_line=[], # no se usa
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)
return r_invoice, b_invoice

def get_out_refund_invoice_iva5_multi(self, fecha_facturas_recti=None):
journal = Journal(
name=u'Factura de Energía Rectificativa Emitida'
)
base_bruta = 10
invoice_tax_iva_5 = InvoiceTax(
name=self.tax_iva_5.name, base=base_bruta,
tax_amount=base_bruta * self.tax_iva_5.amount, tax_id=self.tax_iva_5
)
tax_line = [
invoice_tax_iva_5
]
n_total_amount = 0
n_total_tax = 0
for tl in tax_line:
n_total_amount += tl.base + tl.tax_amount
n_total_tax += tl.tax_amount

n_date_invoice = '2023-01-01'
n_period = Period(name='01/2023')

if fecha_facturas_recti:
b_date_invoice = fecha_facturas_recti
y,m,d = fecha_facturas_recti.split('-')
b_period = Period(name='{}/{}'.format(m,y))
else:
b_date_invoice = '2024-10-01'
b_period = Period(name='01/2024')
refund_tax_line = tax_line[:]
for invoice_tax in refund_tax_line:
invoice_tax.tax_amount = -1 * abs(invoice_tax.tax_amount)

orig_invoice = Invoice(
invoice_type='out_invoice',
journal_id=journal,
rectificative_type='N',
rectifying_id=False,
number='FEmitRectificada{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=n_total_amount,
amount_untaxed=base_bruta,
amount_tax=n_total_tax,
period_id=n_period,
date_invoice=n_date_invoice,
tax_line=tax_line,
invoice_line=[], # no se usa
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)

r_invoice = Invoice(
invoice_type='out_invoice',
journal_id=journal,
rectificative_type='R',
rectifying_id=orig_invoice,
number='FRectEmit{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=n_total_amount,
amount_untaxed=base_bruta,
amount_tax=n_total_tax,
period_id=b_period,
date_invoice=b_date_invoice,
tax_line=tax_line,
invoice_line=self.invoice_line,
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)
b_invoice = Invoice(
invoice_type='out_refund',
journal_id=journal,
rectificative_type='B',
rectifying_id=orig_invoice,
number='FEmitRectificada{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=-1 * n_total_amount,
amount_untaxed=-1 * base_bruta,
amount_tax=-1 * n_total_tax,
period_id=b_period,
date_invoice=b_date_invoice,
tax_line=refund_tax_line,
invoice_line=[], # no se usa
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)
r2_invoice = Invoice(
invoice_type='out_invoice',
journal_id=journal,
rectificative_type='R',
rectifying_id=r_invoice,
number='FRectEmit{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=n_total_amount,
amount_untaxed=base_bruta,
amount_tax=n_total_tax,
period_id=b_period,
date_invoice=b_date_invoice,
tax_line=tax_line,
invoice_line=self.invoice_line,
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)
b2_invoice = Invoice(
invoice_type='out_refund',
journal_id=journal,
rectificative_type='B',
rectifying_id=r_invoice,
number='FEmitRectificada{}'.format(self.invoice_number),
partner_id=self.partner_invoice,
address_contact_id=self.address_contact_id,
company_id=self.company,
amount_total=-1 * n_total_amount,
amount_untaxed=-1 * base_bruta,
amount_tax=-1 * n_total_tax,
period_id=b_period,
date_invoice=b_date_invoice,
tax_line=refund_tax_line,
invoice_line=[], # no se usa
sii_registered=self.sii_registered,
fiscal_position=self.fiscal_position,
sii_description=self.sii_description,
sii_out_clave_regimen_especial=self.sii_out_clave_regimen_especial,
)
return r2_invoice, b2_invoice
def get_out_refund_mulitple_invoice(self, fecha_facturas_recti=None):
journal = Journal(
name=u'Factura de Energía Rectificativa Emitida'
)
Expand Down

0 comments on commit 2ebdf87

Please sign in to comment.