Send final invoice serial num if report is a summary
This commit is contained in:
parent
8a2189c9f1
commit
3e9f8d2fd7
|
@ -78,15 +78,18 @@ class IssuedInvoiceMapper(object):
|
|||
|
||||
@classmethod
|
||||
def build_invoice_id(cls, invoice):
|
||||
return {
|
||||
ret = {
|
||||
'IDEmisorFactura': {
|
||||
'NIF': cls.nif(invoice),
|
||||
},
|
||||
'NumSerieFacturaEmisor': cls.serial_number(invoice),
|
||||
# TODO: NumSerieFacturaEmisorResumenFinal
|
||||
'FechaExpedicionFacturaEmisor':
|
||||
cls.issue_date(invoice).strftime(_DATE_FMT),
|
||||
}
|
||||
if cls.invoice_kind(invoice) == 'F4':
|
||||
ret['NumSerieFacturaEmisorResumenFinal'] = \
|
||||
cls.final_serial_number(invoice)
|
||||
return ret
|
||||
|
||||
@classmethod
|
||||
def build_issued_invoice(cls, invoice):
|
||||
|
|
|
@ -10,6 +10,7 @@ class IssuedTestInvoiceMapper(mapping.IssuedInvoiceMapper):
|
|||
period = methodcaller('get', 'period')
|
||||
nif = methodcaller('get', 'nif')
|
||||
serial_number = methodcaller('get', 'serial_number')
|
||||
final_serial_number = methodcaller('get', 'final_serial_number')
|
||||
issue_date = methodcaller('get', 'issue_date')
|
||||
invoice_kind = methodcaller('get', 'invoice_kind')
|
||||
rectified_invoice_kind = methodcaller('get', 'rectified_invoice_kind')
|
||||
|
@ -186,3 +187,38 @@ def test_rectified_simplified_issued_invoice_with_1_line_mapping():
|
|||
|
||||
assert request_['FacturaExpedida']['TipoRectificativa'] == 'I'
|
||||
assert 'ImporteTotal' in request_['FacturaExpedida']
|
||||
|
||||
def test_summary_issued_invoice_id():
|
||||
"""
|
||||
Test that if invoice kind is "F4" the final serial number appears
|
||||
in the invoice id
|
||||
"""
|
||||
invoice = {
|
||||
'year': 2017,
|
||||
'period': 5,
|
||||
'nif': '00000010X',
|
||||
'serial_number': 1,
|
||||
'final_serial_number': 'FINAL_ID',
|
||||
'issue_date': date(year=2017, month=12, day=31),
|
||||
'invoice_kind': 'F4',
|
||||
'specialkey_or_trascendence': '01',
|
||||
'description': 'My Description',
|
||||
'not_exempt_kind': 'S1',
|
||||
'counterpart_name': 'Counterpart',
|
||||
'counterpart_nif': '00000011B',
|
||||
'counterpart_id_type': '07',
|
||||
'counterpart_country': 'ES',
|
||||
'taxes': [{
|
||||
'tax_rate': 21,
|
||||
'tax_base': 100,
|
||||
'tax_amount': 21,
|
||||
}, {
|
||||
'tax_rate': 10,
|
||||
'tax_base': 10,
|
||||
'tax_amount': 1,
|
||||
}],
|
||||
}
|
||||
mapper = IssuedTestInvoiceMapper()
|
||||
request_ = mapper.build_submit_request(invoice)
|
||||
|
||||
assert request_['IDFactura']['NumSerieFacturaEmisorResumenFinal'] == 'FINAL_ID'
|
||||
|
|
Loading…
Reference in New Issue