| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/19.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.0.1 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | OCA-git-bot, oca-ci, sygel, Pablo Cortés |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:40:46 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - http_routing - auth_signup - digest - resource - base_vat - l10n_es - base_iban - account_edi_ubl_cii |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | (Declaración Anual de Operaciones con Terceros) Basado en la Orden EHA/3012/2008, de 20 de Octubre, por el que se aprueban los diseños físicos y lógicos del 347. De acuerdo con la normativa de la Hacienda Española, están obligados a presentar el modelo 347: - Todas aquellas personas físicas o jurídicas que no esten acogidas al régimen de módulos en el IRPF, de naturaleza pública o privada que desarrollen actividades empresariales o profesionales, siempre y cuando hayan realizado operaciones que, en su conjunto, respecto de otra persona o Entidad, cualquiera que sea su naturaleza o carácter, hayan superado la cifra de 3.005,06 € durante el año natural al que se refiere la declaración. Para el cálculo de la cifra de 3.005,06 € se computan de forma separada las entregas de biene y servicios y las adquisiciones de los mismos. - En el caso de Sociedades Irregulares, Sociedades Civiles y Comunidad de Bienes no acogidas el regimen de módulos en el IRPF, deben incluir las facturas sin incluir la cuantía del IRPF. - En el caso de facturas de proveedor con IRPF, no deben ser presentadas en este modelo. Se presentan en el modelo 190. Desactivar en la ficha del proveedor la opción de "Incluir en el informe 347". De acuerdo con la normativa, no están obligados a presentar el modelo 347: - Quienes realicen en España actividades empresariales o profesionales sin tener en territorio español la sede de su actividad, un establecimiento permanente o su domicilio fiscal. - Las personas físicas y entidades en régimen de atribución de rentas en el IRPF, por las actividades que tributen en dicho impuesto por el régimen de estimación objetiva y, simultáneamente, en el IVA por los régimenes especiales simplificados o de la agricultura, ganadería y pesca o recargo de equivalencia, salvo las operaciones que estén excluidas de la aplicación de los expresados regímenes. - Los obligados tributarios que no hayan realizado operaciones que en su conjunto superen la cifra de 3.005,06 €. - Los obligados tributarios que hayan realizado exclusivamente operaciones no declarables. - Los obligados tributarios que deban informar sobre las operaciones incluidas en los libros registro de IVA (modelo 340) salvo que realicen operaciones que expresamente deban incluirse en el modelo 347. (<http://www.boe.es/boe/dias/2008/10/23/pdfs/A42154-42190.pdf>) |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | list | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | list | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_move_form_mod347 |
account.move.supplier.form.mod347 | account.move | xpath | Inherits account.view_move_form |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | xpath | Inherits l10n_es_aeat.view_partner_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Invoice / Journal entry'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=<expr>
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits='Account'
string='Operations amount'
tracking=True
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
cash_amount
Float
digits='Account'
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
error_text
Char
compute='_compute_check_ok'
store=True
first_quarter
Float
digits='Account'
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
tracking=True
first_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits='Account'
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
tracking=True
fourth_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
origin_year
Integer
help='Origin cash operation year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits='Account'
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=<expr>
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits='Account'
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
tracking=True
second_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
tracking=True
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
third_quarter
Float
digits='Account'
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
tracking=True
third_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
tracking=True
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
send_email_direct(self)
address
Char
size=50
address_type
Char
size=5
amount
Float
digits='Account'
block
Char
size=3
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
door
Char
size=3
error_text
Char
compute='_compute_check_ok'
store=True
string='Errors'
floor
Char
size=3
number
Integer
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
postal_code
Char
size=5
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=<expr>
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=<expr>
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
state_code
Char
size=2
township
Char
size=30
township_code
Char
size=5
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits='Account'
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits='Account'
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
No new fields.
Public methods (0)No public methods.
not_in_mod347
Boolean
company_dependent=True
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/18.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.2.4 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Jairo Llopis, Enric Tobella, Víctor Martínez, Weblate, OCA-git-bot, oca-ci, Emilio Pascual, Andrii9090-tecnativa, david-s73, sygel, Andrii Kompaniiets |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:30:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - html_editor - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - l10n_es - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | (Declaración Anual de Operaciones con Terceros) Basado en la Orden EHA/3012/2008, de 20 de Octubre, por el que se aprueban los diseños físicos y lógicos del 347. De acuerdo con la normativa de la Hacienda Española, están obligados a presentar el modelo 347: - Todas aquellas personas físicas o jurídicas que no esten acogidas al régimen de módulos en el IRPF, de naturaleza pública o privada que desarrollen actividades empresariales o profesionales, siempre y cuando hayan realizado operaciones que, en su conjunto, respecto de otra persona o Entidad, cualquiera que sea su naturaleza o carácter, hayan superado la cifra de 3.005,06 € durante el año natural al que se refiere la declaración. Para el cálculo de la cifra de 3.005,06 € se computan de forma separada las entregas de biene y servicios y las adquisiciones de los mismos. - En el caso de Sociedades Irregulares, Sociedades Civiles y Comunidad de Bienes no acogidas el regimen de módulos en el IRPF, deben incluir las facturas sin incluir la cuantía del IRPF. - En el caso de facturas de proveedor con IRPF, no deben ser presentadas en este modelo. Se presentan en el modelo 190. Desactivar en la ficha del proveedor la opción de "Incluir en el informe 347". De acuerdo con la normativa, no están obligados a presentar el modelo 347: - Quienes realicen en España actividades empresariales o profesionales sin tener en territorio español la sede de su actividad, un establecimiento permanente o su domicilio fiscal. - Las personas físicas y entidades en régimen de atribución de rentas en el IRPF, por las actividades que tributen en dicho impuesto por el régimen de estimación objetiva y, simultáneamente, en el IVA por los régimenes especiales simplificados o de la agricultura, ganadería y pesca o recargo de equivalencia, salvo las operaciones que estén excluidas de la aplicación de los expresados regímenes. - Los obligados tributarios que no hayan realizado operaciones que en su conjunto superen la cifra de 3.005,06 €. - Los obligados tributarios que hayan realizado exclusivamente operaciones no declarables. - Los obligados tributarios que deban informar sobre las operaciones incluidas en los libros registro de IVA (modelo 340) salvo que realicen operaciones que expresamente deban incluirse en el modelo 347. (<http://www.boe.es/boe/dias/2008/10/23/pdfs/A42154-42190.pdf>) |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | list | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | list | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_move_form_mod347 |
account.move.supplier.form.mod347 | account.move | xpath | Inherits account.view_move_form |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | xpath | Inherits l10n_es_aeat.view_partner_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Invoice / Journal entry'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits='Account'
string='Operations amount'
tracking=True
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
cash_amount
Float
digits='Account'
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
error_text
Char
compute='_compute_check_ok'
store=True
first_quarter
Float
digits='Account'
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
tracking=True
first_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits='Account'
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
tracking=True
fourth_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
origin_year
Integer
help='Origin cash operation year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits='Account'
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits='Account'
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
tracking=True
second_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
tracking=True
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
third_quarter
Float
digits='Account'
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
tracking=True
third_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
tracking=True
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
address_type
Char
size=5
amount
Float
digits='Account'
block
Char
size=3
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
door
Char
size=3
error_text
Char
compute='_compute_check_ok'
store=True
string='Errors'
floor
Char
size=3
number
Integer
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
postal_code
Char
size=5
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
state_code
Char
size=2
township
Char
size=30
township_code
Char
size=5
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits='Account'
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits='Account'
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
No new fields.
Public methods (0)No public methods.
not_in_mod347
Boolean
company_dependent=True
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/17.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.7.3 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Weblate, OCA-git-bot, oca-ci, Aritz Olea, David Ramia, Emilio Pascual, angel, Ignacio, Christian-RB, sygel |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 19:19:59 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - onboarding - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - l10n_es - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | (Declaración Anual de Operaciones con Terceros) Basado en la Orden EHA/3012/2008, de 20 de Octubre, por el que se aprueban los diseños físicos y lógicos del 347. De acuerdo con la normativa de la Hacienda Española, están obligados a presentar el modelo 347: - Todas aquellas personas físicas o jurídicas que no esten acogidas al régimen de módulos en el IRPF, de naturaleza pública o privada que desarrollen actividades empresariales o profesionales, siempre y cuando hayan realizado operaciones que, en su conjunto, respecto de otra persona o Entidad, cualquiera que sea su naturaleza o carácter, hayan superado la cifra de 3.005,06 € durante el año natural al que se refiere la declaración. Para el cálculo de la cifra de 3.005,06 € se computan de forma separada las entregas de biene y servicios y las adquisiciones de los mismos. - En el caso de Sociedades Irregulares, Sociedades Civiles y Comunidad de Bienes no acogidas el regimen de módulos en el IRPF, deben incluir las facturas sin incluir la cuantía del IRPF. - En el caso de facturas de proveedor con IRPF, no deben ser presentadas en este modelo. Se presentan en el modelo 190. Desactivar en la ficha del proveedor la opción de "Incluir en el informe 347". De acuerdo con la normativa, no están obligados a presentar el modelo 347: - Quienes realicen en España actividades empresariales o profesionales sin tener en territorio español la sede de su actividad, un establecimiento permanente o su domicilio fiscal. - Las personas físicas y entidades en régimen de atribución de rentas en el IRPF, por las actividades que tributen en dicho impuesto por el régimen de estimación objetiva y, simultáneamente, en el IVA por los régimenes especiales simplificados o de la agricultura, ganadería y pesca o recargo de equivalencia, salvo las operaciones que estén excluidas de la aplicación de los expresados regímenes. - Los obligados tributarios que no hayan realizado operaciones que en su conjunto superen la cifra de 3.005,06 €. - Los obligados tributarios que hayan realizado exclusivamente operaciones no declarables. - Los obligados tributarios que deban informar sobre las operaciones incluidas en los libros registro de IVA (modelo 340) salvo que realicen operaciones que expresamente deban incluirse en el modelo 347. (<http://www.boe.es/boe/dias/2008/10/23/pdfs/A42154-42190.pdf>) |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_move_form_mod347 |
account.move.supplier.form.mod347 | account.move | xpath | Inherits account.view_move_form |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | xpath | Inherits l10n_es_aeat.view_partner_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Invoice / Journal entry'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits='Account'
string='Operations amount'
tracking=True
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
cash_amount
Float
digits='Account'
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
error_text
Char
compute='_compute_check_ok'
store=True
first_quarter
Float
digits='Account'
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
tracking=True
first_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits='Account'
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
tracking=True
fourth_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
origin_year
Integer
help='Origin cash operation year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits='Account'
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits='Account'
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
tracking=True
second_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
tracking=True
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
third_quarter
Float
digits='Account'
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
tracking=True
third_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
tracking=True
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
address_type
Char
size=5
amount
Float
digits='Account'
block
Char
size=3
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
door
Char
size=3
error_text
Char
compute='_compute_check_ok'
store=True
string='Errors'
floor
Char
size=3
number
Integer
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
postal_code
Char
size=5
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
state_code
Char
size=2
township
Char
size=30
township_code
Char
size=5
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits='Account'
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits='Account'
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
No new fields.
Public methods (0)No public methods.
not_in_mod347
Boolean
company_dependent=True
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/16.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.13.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Omar (Comunitea), Weblate, OCA-git-bot, oca-ci, Aritz Olea, David Ramia, Emilio Pascual, angel, EmilioPascual, Christian-RB, sygel, adrip-s73, Sergio Bustamante |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:53:40 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - l10n_es - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_move_form_mod347 |
account.move.supplier.form.mod347 | account.move | xpath | Inherits account.view_move_form |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | group | Inherits l10n_es_aeat.view_partner_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Invoice / Journal entry'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits='Account'
string='Operations amount'
tracking=True
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
cash_amount
Float
digits='Account'
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
error_text
Char
compute='_compute_check_ok'
store=True
first_quarter
Float
digits='Account'
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
tracking=True
first_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits='Account'
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
tracking=True
fourth_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
origin_year
Integer
help='Origin cash operation year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits='Account'
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits='Account'
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
tracking=True
second_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
tracking=True
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
third_quarter
Float
digits='Account'
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
tracking=True
third_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
tracking=True
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
address_type
Char
size=5
amount
Float
digits='Account'
block
Char
size=3
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
door
Char
size=3
error_text
Char
compute='_compute_check_ok'
store=True
string='Errors'
floor
Char
size=3
number
Integer
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
postal_code
Char
size=5
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
state_code
Char
size=2
township
Char
size=30
township_code
Char
size=5
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits='Account'
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits='Account'
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
No new fields.
Public methods (0)No public methods.
not_in_mod347
Boolean
company_dependent=True
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/15.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.14.1 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Carlos Dauden, manu, OCA Transbot, Miquel Raïch, Omar (Comunitea), Weblate, OCA-git-bot, ferran-73, oca-ci, David Ramia, Carlos Roca, angel, Juan Pablo Garza |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:46:29 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - l10n_es - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_move_form_mod347 |
account.move.supplier.form.mod347 | account.move | xpath | Inherits account.view_move_form |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | group | Inherits l10n_es_aeat.view_partner_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Invoice / Journal entry'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits='Account'
string='Operations amount'
tracking=True
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
cash_amount
Float
digits='Account'
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
error_text
Char
compute='_compute_check_ok'
store=True
first_quarter
Float
digits='Account'
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
tracking=True
first_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits='Account'
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
tracking=True
fourth_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
origin_year
Integer
help='Origin cash operation year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits='Account'
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits='Account'
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
tracking=True
second_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
tracking=True
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
third_quarter
Float
digits='Account'
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
tracking=True
third_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
tracking=True
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
address_type
Char
size=5
amount
Float
digits='Account'
block
Char
size=3
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
door
Char
size=3
error_text
Char
compute='_compute_check_ok'
store=True
string='Errors'
floor
Char
size=3
number
Integer
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
postal_code
Char
size=5
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
state_code
Char
size=2
township
Char
size=30
township_code
Char
size=5
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits='Account'
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits='Account'
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/14.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 2.9.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, manu, OCA Transbot, Miquel Raïch, Víctor Martínez, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, ferran-73, oca-ci, alvaro, angel, luciaavanzosc |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:40:49 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - l10n_es - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
cryptography<39 unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_move_form_mod347 |
account.move.supplier.form.mod347 | account.move | xpath | Inherits account.view_move_form |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | group | Inherits account.view_partner_property_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
string='Amount'
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Invoice / Journal entry'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits='Account'
string='Operations amount'
tracking=True
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
string='Bussiness Real Estate Rent'
cash_amount
Float
digits='Account'
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
string='Cash Basis Operation'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
company_id
Many2one → res.company
comodel_name='res.company'
related='report_id.company_id'
string='Company'
error_text
Char
compute='_compute_check_ok'
store=True
string='Error text'
first_quarter
Float
digits='Account'
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
tracking=True
first_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits='Account'
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
tracking=True
fourth_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
string='Insurance Operation'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
string='Operation Key'
origin_year
Integer
help='Origin cash operation year'
string='Origin year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits='Account'
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
string='Related Goods Operation'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits='Account'
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
tracking=True
second_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
string='State'
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
string='Taxable Person Operation'
third_quarter
Float
digits='Account'
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
tracking=True
third_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
tracking=True
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
string='Address'
address_type
Char
size=5
string='Address type'
amount
Float
digits='Account'
string='Amount'
block
Char
size=3
string='Block'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
string='City'
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
string='Complement'
door
Char
size=3
string='Door'
error_text
Char
compute='_compute_check_ok'
store=True
string='Errors'
floor
Char
size=3
string='Floor'
number
Integer
string='Number'
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
string='Number calification'
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
string='Number type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
string='Portal'
postal_code
Char
size=5
string='Postal code'
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
string='Stairway'
state_code
Char
size=2
string='State Code'
township
Char
size=30
string='Township'
township_code
Char
size=5
string='Township Code'
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits='Account'
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits='Account'
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/13.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 2.5.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Carlos Dauden, manu, OCA Transbot, Omar (Comunitea), oca-travis, Weblate, OCA-git-bot, oca-ci, alvaro, mof-landoo, angel |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:34:09 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - bus - web_tour - uom - analytic - portal - web_editor - http_routing - auth_signup - digest - resource - base_vat - l10n_es - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
pyOpenSSL unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_move_form_mod347 |
account.move.supplier.form.mod347 | account.move | field | Inherits account.view_move_form |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | group | Inherits account.view_partner_property_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
string='Amount'
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Invoice / Journal entry'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits='Account'
string='Operations amount'
track_visibility='onchange'
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
string='Bussiness Real Estate Rent'
cash_amount
Float
digits='Account'
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
string='Cash Basis Operation'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
company_id
Many2one → res.company
comodel_name='res.company'
related='report_id.company_id'
string='Company'
error_text
Char
compute='_compute_check_ok'
store=True
string='Error text'
first_quarter
Float
digits='Account'
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
track_visibility='onchange'
first_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits='Account'
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
track_visibility='onchange'
fourth_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
string='Insurance Operation'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
string='Operation Key'
origin_year
Integer
help='Origin cash operation year'
string='Origin year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits='Account'
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
string='Related Goods Operation'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits='Account'
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
track_visibility='onchange'
second_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
string='State'
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
string='Taxable Person Operation'
third_quarter
Float
digits='Account'
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
track_visibility='onchange'
third_quarter_real_estate_transmission
Float
digits='Account'
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
track_visibility='onchange'
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
string='Address'
address_type
Char
size=5
string='Address type'
amount
Float
digits='Account'
string='Amount'
block
Char
size=3
string='Block'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
string='City'
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
string='Complement'
door
Char
size=3
string='Door'
error_text
Char
compute='_compute_check_ok'
store=True
string='Errors'
floor
Char
size=3
string='Floor'
number
Integer
size=5
string='Number'
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
string='Number calification'
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
string='Number type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
string='Portal'
postal_code
Char
size=5
string='Postal code'
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
string='Stairway'
state_code
Char
size=2
string='State Code'
township
Char
size=30
string='Township'
township_code
Char
size=5
string='Township Code'
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits='Account'
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits='Account'
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/12.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 2.2.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, cubells, OCA Transbot, oca-travis, Weblate, OCA-git-bot, Miguel Poyatos, munozm |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:29:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - uom - analytic - portal - http_routing - digest - base_vat - l10n_es - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
OpenSSL requests unidecode zeep |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
invoice_form_mod347 |
account.invoice.form.mod347 | account.invoice | field | Inherits account.invoice_form |
invoice_supplier_form_mod347 |
account.invoice.supplier.form.mod347 | account.invoice | field | Inherits account.invoice_supplier_form |
move_supplier_form_mod347 |
account.move.supplier.form.mod347 | account.move | field | Inherits account.view_move_form |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | group | Inherits account.view_partner_property_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
readonly=True
states={'draft': [('readonly', False)]}
args: 'Not included in 347 report'
action_move_create(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
string='Amount'
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
readonly=True
related='move_id.line_ids.invoice_id'
store=True
string='Invoice'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Move'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits=(13, 2)
string='Operations amount'
track_visibility='onchange'
bdns_number
Char
help='Reference of Call of the subsidy or assistance in National Grands Database (BDNS).'
string='BDNS Call Number'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
string='Bussiness Real Estate Rent'
cash_amount
Float
digits=(13, 2)
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
string='Cash Basis Operation'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
first_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
track_visibility='onchange'
first_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter real estate transmissions for this partner'
oldname='first_quarter_real_estate_transmission_amount'
string='First quarter real estate'
fourth_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
track_visibility='onchange'
fourth_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter real estate transmissions for this partner'
oldname='fourth_quarter_real_estate_transmission_amount'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
string='Insurance Operation'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
string='Operation Key'
origin_year
Integer
help='Origin cash operation year'
string='Origin year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits=(13, 2)
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
string='Related Goods Operation'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
track_visibility='onchange'
second_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter real estate transmissions for this partner'
oldname='second_quarter_real_estate_transmission_amount'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
string='State'
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
string='Taxable Person Operation'
third_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
track_visibility='onchange'
third_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter real estate transmissions for this partner'
oldname='third_quarter_real_estate_transmission_amount'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
track_visibility='onchange'
visible_bdns_number
Boolean
compute='_compute_visible_bdns_number'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
string='Address'
address_type
Char
size=5
string='Address type'
amount
Float
digits=(13, 2)
string='Amount'
block
Char
size=3
string='Block'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
string='City'
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
string='Complement'
door
Char
size=3
string='Door'
floor
Char
size=3
string='Floor'
number
Integer
size=5
string='Number'
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
string='Number calification'
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
string='Number type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
string='Portal'
postal_code
Char
size=5
string='Postal code'
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
string='Stairway'
state_code
Char
size=2
string='State Code'
township
Char
size=30
string='Township'
township_code
Char
size=5
string='Township Code'
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits=(13, 2)
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits=(13, 2)
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/11.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.5.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Carlos Dauden, OCA Transbot, angelmoya, oca-travis, OCA-git-bot, Francisco Ivan Anton Prieto |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:23:55 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-ux: - date_range odoo/odoo: - account - base_setup - base - web - product - decimal_precision - bus - web_tour - analytic - web_planner - portal - http_routing - base_vat - l10n_es - base_iban - account_invoicing |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
invoice_form_mod347 |
account.invoice.form.mod347 | account.invoice | field | Inherits account.invoice_form |
invoice_supplier_form_mod347 |
account.invoice.supplier.form.mod347 | account.invoice | field | Inherits account.invoice_supplier_form |
move_supplier_form_mod347 |
account.move.supplier.form.mod347 | account.move | field | Inherits account.view_move_form |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | group | Inherits account.view_partner_property_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
readonly=True
states={'draft': [('readonly', False)]}
args: 'Not included in 347 report'
action_move_create(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
string='Amount'
amount_signed
Float
compute='_compute_amount_signed'
string='Amount signed'
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
readonly=True
related='move_id.line_ids.invoice_id'
store=True
string='Invoice'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Move'
move_type
Selection
readonly=True
related='move_id.move_type'
store=True
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits=(13, 2)
string='Operations amount'
track_visibility='onchange'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
string='Bussiness Real Estate Rent'
cash_amount
Float
digits=(13, 2)
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
string='Cash Basis Operation'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
first_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
track_visibility='onchange'
first_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter real estate transmissions for this partner'
oldname='first_quarter_real_estate_transmission_amount'
string='First quarter real estate'
fourth_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
track_visibility='onchange'
fourth_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter real estate transmissions for this partner'
oldname='fourth_quarter_real_estate_transmission_amount'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
string='Insurance Operation'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
string='Operation Key'
origin_year
Integer
help='Origin cash operation year'
string='Origin year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits=(13, 2)
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
string='Related Goods Operation'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
track_visibility='onchange'
second_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter real estate transmissions for this partner'
oldname='second_quarter_real_estate_transmission_amount'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
string='State'
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
string='Taxable Person Operation'
third_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
track_visibility='onchange'
third_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter real estate transmissions for this partner'
oldname='third_quarter_real_estate_transmission_amount'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
track_visibility='onchange'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
string='Address'
address_type
Char
size=5
string='Address type'
amount
Float
digits=(13, 2)
string='Amount'
block
Char
size=3
string='Block'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
string='City'
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
string='Complement'
door
Char
size=3
string='Door'
floor
Char
size=3
string='Floor'
number
Integer
size=5
string='Number'
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
string='Number calification'
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
string='Number type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
oldname='state_code'
size=2
string='State Code'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
string='Portal'
postal_code
Char
size=5
string='Postal code'
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
string='Stairway'
township
Char
size=30
string='Township'
township_code
Char
size=5
string='Township Code'
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits=(13, 2)
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits=(13, 2)
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/10.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.2.0 |
| CATEGORY | |
| CATEGORY | Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), PESOL |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), PESOL |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, GitHub, Stéphane Bidoul (ACSONE), OCA Transbot, oca-travis, OCA-git-bot, Abraham Anes, javierjcf, Pedro Montagud |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:19:53 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es - l10n_es_aeat OCA/server-tools: - date_range odoo/odoo: - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - web_tour - report - analytic - web_planner - base_vat - base_iban - l10n_es |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
communication_failed |
347 communication failed | ir.ui.view | qweb | New |
communication_success |
347 communication success | ir.ui.view | qweb | New |
invoice_form_mod347 |
account.invoice.form.mod347 | account.invoice | field | Inherits account.invoice_form |
invoice_supplier_form_mod347 |
account.invoice.supplier.form.mod347 | account.invoice | field | Inherits account.invoice_supplier_form |
move_supplier_form_mod347 |
account.move.supplier.form.mod347 | account.move | field | Inherits account.view_move_form |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
report_347_partner |
report_347_partner | ir.ui.view | qweb | New |
report_347_partner_document |
report_347_partner_document | ir.ui.view | qweb | New |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | group | Inherits account.view_partner_property_form |
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
readonly=True
states={'draft': [('readonly', False)]}
args: 'Not included in 347 report'
action_move_create(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Force not included in 347 report'
No public methods.
amount
Float
readonly=True
string='Amount'
amount_signed
Float
compute='_compute_amount_signed'
string='Amount signed'
date
Date
readonly=True
related='move_id.date'
store=True
string='Date'
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
readonly=True
related='move_id.line_ids.invoice_id'
store=True
string='Invoice'
move_id
Many2one → account.move
comodel_name='account.move'
ondelete='restrict'
string='Move'
move_type
Selection
readonly=True
related='move_id.move_type'
store=True
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
index=True
ondelete='cascade'
required=True
string='Partner record'
No public methods.
amount
Float
digits=(13, 2)
string='Operations amount'
track_visibility='onchange'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
string='Bussiness Real Estate Rent'
cash_amount
Float
digits=(13, 2)
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
string='Cash Basis Operation'
cash_record_ids
Many2many → account.move.line
comodel_name='account.move.line'
readonly=True
string='Cash payments'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
first_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter in, out and refund invoices for this partner'
string='First quarter operations'
track_visibility='onchange'
first_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter real estate transmissions for this partner'
oldname='first_quarter_real_estate_transmission_amount'
string='First quarter real estate'
fourth_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter in, out and refund invoices for this partner'
string='Fourth quarter operations'
track_visibility='onchange'
fourth_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter real estate transmissions for this partner'
oldname='fourth_quarter_real_estate_transmission_amount'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
string='Insurance Operation'
move_record_ids
One2many → l10n.es.aeat.mod347.move.record
comodel_name='l10n.es.aeat.mod347.move.record'
inverse_name='partner_record_id'
string='Move records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
string='Operation Key'
origin_year
Integer
help='Origin cash operation year'
string='Origin year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_transmissions_amount
Float
digits=(13, 2)
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
string='Related Goods Operation'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter in, out and refund invoices for this partner'
string='Second quarter operations'
track_visibility='onchange'
second_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter real estate transmissions for this partner'
oldname='second_quarter_real_estate_transmission_amount'
string='Second quarter real estate'
state
Selection
default='pending'
selection=[('pending', 'Pending'), ('sent', 'Sent'), ('confirmed', 'Confirmed'), ('exception', 'Exception')]
string='State'
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
string='Taxable Person Operation'
third_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter in, out and refund invoices for this partner'
string='Third quarter operations'
track_visibility='onchange'
third_quarter_real_estate_transmission
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter real estate transmissions for this partner'
oldname='third_quarter_real_estate_transmission_amount'
string='Third quarter real estate'
user_id
Many2one → res.users
comodel_name='res.users'
copy=False
default=<expr>
string='Salesperson'
track_visibility='onchange'
action_confirm(self)
action_exception(self)
action_pending(self)
action_send(self)
button_print(self)
button_recompute(self)
calculate_quarter_totals(self)
get_confirm_url(self)
get_reject_url(self)
message_get_suggested_recipients(self)
send_email_direct(self)
address
Char
size=50
string='Address'
address_type
Char
size=5
string='Address type'
amount
Float
digits=(13, 2)
string='Amount'
block
Char
size=3
string='Block'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
string='City'
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
string='Complement'
door
Char
size=3
string='Door'
floor
Char
size=3
string='Floor'
number
Integer
size=5
string='Number'
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
string='Number calification'
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
string='Number type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_vat
Char
size=32
string='VAT number'
portal
Char
size=3
string='Portal'
postal_code
Char
size=5
string='Postal code'
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
string='Stairway'
state_code
Char
size=2
string='State Code'
township
Char
size=30
string='Township'
township_code
Char
size=5
string='Township Code'
No public methods.
number
Char
default='347'
operations_limit
Float
default=3005.06
digits=(13, 2)
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits=(13, 2)
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
store=True
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
store=True
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
store=True
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
store=True
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
button_send_mails(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/9.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.0.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Tecnativa, Odoo Community Association (OCA), Pexego, ASR-OSS, Acysos, NaN·tic |
| MAINTAINERS | |
| MAINTAINERS | Tecnativa, Odoo Community Association (OCA), Pexego, ASR-OSS, Acysos, NaN·tic |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, OCA Transbot, oca-travis, Weblate |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:15:18 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-reporting: - account_tax_balance OCA/l10n-spain: - l10n_es_aeat OCA/server-tools: - date_range odoo/odoo: - base_vat - account - base_setup - base - web_kanban - web - product - decimal_precision - bus - report - analytic - web_tip - web_planner - base_iban |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
invoice_form_mod347 |
account.invoice.form.mod347 | account.invoice | field | Inherits account.invoice_form |
invoice_supplier_form_mod347 |
account.invoice.supplier.form.mod347 | account.invoice | field | Inherits account.invoice_supplier_form |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record | search | New | |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record | form | New | |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record | tree | New | |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record | form | New | |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record | tree | New | |
view_l10n_es_aeat_mod347_report_form |
l10n.es.aeat.mod347.report | group | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form | |
view_l10n_es_aeat_mod347_report_tree |
l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree | |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | field | Inherits base_vat.view_partner_form |
amount_total_wo_irpf
Float
compute='_compute_amount_total_wo_irpf'
store=True
string='Total amount without IRPF taxes'
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Not included in 347 report'
No public methods.
amount
Float
string='Amount'
date
Date
string='Date'
move_line_id
Many2one → account.move.line
comodel_name='account.move.line'
ondelete='cascade'
required=True
string='Account move line'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
ondelete='cascade'
required=True
select=1
string='Partner record'
No public methods.
amount
Float
readonly=True
related='invoice_id.amount_total_wo_irpf'
store=True
string='Amount'
date
Date
readonly=True
related='invoice_id.date_invoice'
store=True
string='Date'
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
ondelete='cascade'
required=True
string='Invoice'
invoice_type
Selection
readonly=True
related='invoice_id.type'
store=True
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
ondelete='cascade'
required=True
select=1
string='Partner record'
No public methods.
amount
Float
digits=(13, 2)
string='Operations amount'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
string='Bussiness Real Estate Rent'
cash_amount
Float
digits=(13, 2)
string='Received cash amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
string='Cash Basis Operation'
cash_record_ids
One2many → l10n.es.aeat.mod347.cash_record
comodel_name='l10n.es.aeat.mod347.cash_record'
inverse_name='partner_record_id'
string='Payment records'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
readonly=True
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
first_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter in, out and refund invoices for this partner'
readonly=True
string='First quarter operations'
first_quarter_cash_amount
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter cash movements for this partner'
readonly=True
string='First quarter cash movements'
first_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter real estate transmissions for this partner'
string='First quarter real estate'
fourth_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter in, out and refund invoices for this partner'
readonly=True
string='Fourth quarter operations'
fourth_quarter_cash_amount
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter cash movements for this partner'
readonly=True
string='Fourth quarter cash movements'
fourth_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter real estate transmissions for this partner'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
string='Insurance Operation'
invoice_record_ids
One2many → l10n.es.aeat.mod347.invoice_record
comodel_name='l10n.es.aeat.mod347.invoice_record'
inverse_name='partner_record_id'
string='Invoice records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
string='Operation Key'
origin_year
Integer
help='Origin cash operation year'
string='Origin year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_record_ids
Many2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
compute='_compute_real_estate_record_ids'
string='Real Estate Records'
real_estate_transmissions_amount
Float
digits=(13, 2)
string='Real Estate Transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
string='Related Goods Operation'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter in, out and refund invoices for this partner'
readonly=True
string='Second quarter operations'
second_quarter_cash_amount
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter cash movements for this partner'
readonly=True
string='Second quarter cash movements'
second_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter real estate transmissions for this partner'
string='Second quarter real estate'
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
string='Taxable Person Operation'
third_quarter
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter in, out and refund invoices for this partner'
readonly=True
string='Third quarter operations'
third_quarter_cash_amount
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter cash movements for this partner'
readonly=True
string='Third quarter cash movements'
third_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter real estate transmissions for this partner'
string='Third quarter real estate'
calculate_quarter_cash_totals(self)
calculate_quarter_totals(self)
onchange_partner_id(self)
address
Char
size=50
string='Address'
address_type
Char
size=5
string='Address type'
amount
Float
digits=(13, 2)
string='Amount'
block
Char
size=3
string='Block'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
store=True
string='Record is OK'
city
Char
size=30
string='City'
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
string='Complement'
door
Char
size=3
string='Door'
floor
Char
size=3
string='Floor'
number
Integer
size=5
string='Number'
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
string='Number calification'
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
string='Number type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
default=_default_partner_id
required=True
string='Partner'
partner_vat
Char
default=_default_partner_vat
size=32
string='VAT number'
portal
Char
size=3
string='Portal'
postal_code
Char
size=5
string='Postal code'
reference
Char
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
index=1
ondelete='cascade'
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
string='Stairway'
state_code
Char
size=2
string='State Code'
township
Char
size=30
string='Township'
township_code
Char
size=5
string='Township Code'
on_change_partner_id(self)
charges_obtp_limit
Float
default=300.51
digits=(13, 2)
help='The declaration will include partners from which we received payments, on behalf of third parties, over this limit'
string='Charges on behalf of third parties Limit (3)'
group_by_vat
Boolean
oldname='group_by_cif'
string='Group by VAT number'
number
Char
default='347'
only_supplier
Boolean
string='Only Suppliers'
operations_limit
Float
default=3005.06
digits=(13, 2)
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
oldname='real_state_record_ids'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits=(13, 2)
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_compute_totals'
string='Amount'
total_cash_amount
Float
compute='_compute_totals'
string='Cash Amount'
total_partner_records
Integer
compute='_compute_totals'
string='Partners records'
total_real_estate_amount
Float
compute='_compute_totals_real_estate'
oldname='total_real_state_amount'
string='Real Estate Amount'
total_real_estate_records
Integer
compute='_compute_totals_real_estate'
oldname='total_real_state_records'
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_compute_totals'
oldname='total_real_state_transmissions_amount'
string='Real Estate Transmissions Amount'
btn_list_records(self)
button_confirm(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/8.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.5.1 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Pexego, ASR-OSS, Acysos, Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza, NaN·tic |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Pexego, ASR-OSS, Acysos, Antiun Ingeniería S.L., Serv. Tecnol. Avanzados - Pedro M. Baeza, NaN·tic |
| COMMITTERS | |
| COMMITTERS | Pedro M. Baeza, Stéphane Bidoul (ACSONE), Alejandro Santana, cubells, OCA Transbot, Hugo Santos, oca-travis, agaldona, Weblate, Omar, Jose Maria Alzaga, Enrique Martín Zabalza |
| WEBSITE | |
| WEBSITE | https://github.com/OCA/l10n-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:11:20 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-tools: - account_invoice_currency OCA/l10n-spain: - l10n_es_aeat odoo/odoo: - base_vat - account - base_setup - base - web_kanban - web - product - decimal_precision - report - analytic - board - edi - email_template |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION | |
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
invoice_form_mod347 |
account.invoice.form.mod347 | account.invoice | field | Inherits account.invoice_form |
invoice_supplier_form_mod347 |
account.invoice.supplier.form.mod347 | account.invoice | field | Inherits account.invoice_supplier_form |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record.search | l10n.es.aeat.mod347.partner_record | search | New |
view_account_period_quarter_form |
account.period.quarter.form | account.period | field | Inherits account.view_account_period_form |
view_account_period_quarter_tree |
account.period.quarter.tree | account.period | field | Inherits account.view_account_period_tree |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record.form | l10n.es.aeat.mod347.partner_record | form | New |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record.tree | l10n.es.aeat.mod347.partner_record | tree | New |
view_l10n_es_aeat_mod347_real_estate_record_form |
l10n.es.aeat.mod347.real_estate_record.form | l10n.es.aeat.mod347.real_estate_record | form | New |
view_l10n_es_aeat_mod347_real_estate_record_tree |
l10n.es.aeat.mod347.real_estate_record.tree | l10n.es.aeat.mod347.real_estate_record | tree | New |
view_l10n_es_aeat_mod347_report_form |
l10n_es.aeat.mod347.report.form | l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod347_report_tree |
l10n_es.aeat.mod347.report.tree | l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | field | Inherits base_vat.view_partner_form |
No new fields.
Public methods (3)create_period(self, cr, uid, ids, context=None, interval=1)
create_period(self, interval=1)
create_period3(self)
amount_total_wo_irpf
Float
compute='_compute_amount_total_wo_irpf'
readonly=True
store=True
string='Total amount without IRPF taxes'
not_in_mod347
Boolean
default=False
help='If you mark this field, this invoice will not be included in any AEAT 347 model report.'
args: 'Not included in 347 report'
No public methods.
quarter
Selection
assign_quarter(self)
amount
Float
digits=dp.get_precision('Account')
string='Amount'
date
Date
string='Date'
move_line_id
Many2one → account.move.line
comodel_name='account.move.line'
ondelete='cascade'
required=True
string='Account move line'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
ondelete='cascade'
required=True
select=1
string='Partner record'
No public methods.
No new fields.
Public methods (0)No public methods.
amount
Float
digits=dp.get_precision('Account')
readonly=True
related='invoice_id.amount_total_wo_irpf'
string='Amount'
date
Date
readonly=True
related='invoice_id.date_invoice'
store=True
string='Date'
invoice_id
Many2one → account.invoice
comodel_name='account.invoice'
ondelete='cascade'
required=True
string='Invoice'
invoice_type
Selection
readonly=True
related='invoice_id.type'
partner_record_id
Many2one → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
default=_default_partner_record
ondelete='cascade'
required=True
select=1
string='Partner record'
No public methods.
amount
Float
compute='_get_quarter_invoice_totals'
digits=dp.get_precision('Account')
help='Total amount of fiscal year in, out and refund invoices for this partner'
readonly=True
store=True
string='Anual operations amount'
bussiness_real_estate_rent
Boolean
help="Set to identify real estate rent operations aside from the rest. You'll need to fill in the real estate info only when you are the one that receives the money."
oldname='bussiness_real_state_rent'
string='Bussiness Real Estate Rent'
cash_amount
Float
compute='_get_quarter_cash_totals'
digits=dp.get_precision('Account')
help='Total amount of fiscal year cash movements for this partner'
readonly=True
store=True
string='Anual cash movements amount'
cash_basis_operation
Boolean
help='Only for cash basis operations. Set to identify cash basis operations aside from the rest.'
string='Cash Basis Operation'
cash_record_ids
One2many → l10n.es.aeat.mod347.cash_record
comodel_name='l10n.es.aeat.mod347.cash_record'
inverse_name='partner_record_id'
string='Payment records'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
readonly=True
store=True
string='Record is OK'
community_vat
Char
help='VAT number for professionals established in other state member without national VAT'
size=17
string='Community vat number'
first_quarter
Float
compute='_get_quarter_invoice_totals'
digits=dp.get_precision('Account')
help='Total amount of first quarter in, out and refund invoices for this partner'
readonly=True
store=True
string='First quarter operations'
first_quarter_cash_amount
Float
compute='_get_quarter_cash_totals'
digits=dp.get_precision('Account')
help='Total amount of first quarter cash movements for this partner'
readonly=True
store=True
string='First quarter cash movements'
first_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of first quarter real estate transmissions for this partner'
oldname='first_quarter_real_state_transmission_amount'
string='First quarter real estate'
fourth_quarter
Float
compute='_get_quarter_invoice_totals'
digits=dp.get_precision('Account')
help='Total amount of fourth quarter in, out and refund invoices for this partner'
readonly=True
store=True
string='Fourth quarter operations'
fourth_quarter_cash_amount
Float
compute='_get_quarter_cash_totals'
digits=dp.get_precision('Account')
help='Total amount of fourth quarter cash movements for this partner'
readonly=True
store=True
string='Fourth quarter cash movements'
fourth_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of fourth quarter real estate transmissions for this partner'
oldname='fourth_quarter_real_state_transmission_amount'
string='Fourth quarter real estate'
insurance_operation
Boolean
help='Only for insurance companies. Set to identify insurance operations aside from the rest.'
string='Insurance Operation'
invoice_record_ids
One2many → l10n.es.aeat.mod347.invoice_record
comodel_name='l10n.es.aeat.mod347.invoice_record'
inverse_name='partner_record_id'
string='Invoice records'
operation_key
Selection
selection=[('A', 'A - Adquisiciones de bienes y servicios superiores al límite (1)'), ('B', 'B - Entregas de bienes y servicios superiores al límite (1)'), ('C', 'C - Cobros por cuenta de terceros superiores al límite (3)'), ('D', 'D - Adquisiciones efectuadas por Entidades Públicas (...) superiores al límite (1)'), ('E', 'E - Subvenciones, auxilios y ayudas satisfechas por Ad. Públicas superiores al límite (1)'), ('F', 'F - Ventas agencia viaje'), ('G', 'G - Compras agencia viaje')]
string='Operation Key'
origin_fiscalyear_id
Many2one → account.fiscalyear
comodel_name='account.fiscalyear'
help='Origin cash operation fiscal year'
string='Origin fiscal year'
partner_country_code
Char
size=2
string='Country Code'
partner_id
Many2one → res.partner
comodel_name='res.partner'
required=True
string='Partner'
partner_state_code
Char
size=2
string='State Code'
partner_vat
Char
size=9
string='VAT number'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
compute='_get_real_estate_record_ids'
oldname='real_state_record_ids'
store=False
string='Real Estate Records'
real_estate_transmissions_amount
Float
compute='_get_quarter_real_state_totals'
digits=dp.get_precision('Account')
help='Total amount of fiscal year real estate transmissions for this partner'
oldname='real_state_transmissions_amount'
readonly=True
store=True
string='Real estate transmisions amount'
related_goods_operation
Boolean
help='Only for related goods operations. Set to identify related goods operations aside from the rest.'
string='Related Goods Operation'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
select=1
string='AEAT 347 Report'
representative_vat
Char
help='Legal Representative VAT number'
size=9
string='L.R. VAT number'
second_quarter
Float
compute='_get_quarter_invoice_totals'
digits=dp.get_precision('Account')
help='Total amount of second quarter in, out and refund invoices for this partner'
readonly=True
store=True
string='Second quarter operations'
second_quarter_cash_amount
Float
compute='_get_quarter_cash_totals'
digits=dp.get_precision('Account')
help='Total amount of second quarter cash movements for this partner'
readonly=True
store=True
string='Second quarter cash movements'
second_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of second quarter real estate transmissions for this partner'
oldname='second_quarter_real_state_transmission_amount'
string='Second quarter real estate'
tax_person_operation
Boolean
help='Only for taxable person operations. Set to identify taxable person operations aside from the rest.'
string='Taxable Person Operation'
third_quarter
Float
compute='_get_quarter_invoice_totals'
digits=dp.get_precision('Account')
help='Total amount of third quarter in, out and refund invoices for this partner'
readonly=True
store=True
string='Third quarter operations'
third_quarter_cash_amount
Float
compute='_get_quarter_cash_totals'
digits=dp.get_precision('Account')
help='Total amount of third quarter cash movements for this partner'
readonly=True
store=True
string='Third quarter cash movements'
third_quarter_real_estate_transmission_amount
Float
digits=dp.get_precision('Account')
help='Total amount of third quarter real estate transmissions for this partner'
oldname='third_quarter_real_state_transmission_amount'
string='Third quarter real estate'
on_change_partner_id(self)
address
Char
size=50
string='Address'
address_type
Char
size=5
string='Address type'
amount
Float
digits=dp.get_precision('Account')
required=True
string='Amount'
block
Char
size=3
string='Block'
check_ok
Boolean
compute='_compute_check_ok'
help='Checked if this record is OK'
readonly=True
store=True
string='Record is OK'
city
Char
size=30
string='City'
complement
Char
help='Complement (urbanization, industrial park...)'
size=40
string='Complement'
door
Char
size=3
string='Door'
floor
Char
size=3
string='Floor'
number
Integer
size=5
string='Number'
number_calification
Selection
selection=[('BIS', 'Bis'), ('MOD', 'Mod'), ('DUP', 'Dup'), ('ANT', 'Ant')]
string='Number calification'
number_type
Selection
selection=[('NUM', 'Number'), ('KM.', 'Kilometer'), ('S/N', 'Without number')]
string='Number type'
partner_id
Many2one → res.partner
comodel_name='res.partner'
default=_default_partner_id
required=True
string='Partner'
partner_vat
Char
default=_default_partner_vat
size=32
string='VAT number'
portal
Char
size=3
string='Portal'
postal_code
Char
size=5
string='Postal code'
reference
Char
required=True
size=25
string='Catastral Reference'
report_id
Many2one → l10n.es.aeat.mod347.report
comodel_name='l10n.es.aeat.mod347.report'
default=_default_record_id
ondelete='cascade'
select=1
string='AEAT 347 Report'
representative_vat
Char
default=_default_representative_vat
help='Legal Representative VAT number'
size=32
string='L.R. VAT number'
situation
Selection
required=True
selection=[('1', '1 - Spain but Basque Country and Navarra'), ('2', '2 - Basque Country and Navarra'), ('3', '3 - Spain, without catastral reference'), ('4', '4 - Foreign')]
string='Real estate Situation'
stairway
Char
size=3
string='Stairway'
state_code
Char
size=2
string='State Code'
township
Char
size=30
string='Township'
township_code
Char
size=5
string='Township Code'
on_change_partner_id(self)
charges_obtp_limit
Float
default=300.51
digits=dp.get_precision('Account')
help='The declaration will include partners from which we received payments, on behalf of third parties, over this limit'
string='Charges on behalf of third parties Limit (3)'
group_by_vat
Boolean
oldname='group_by_cif'
string='Group by VAT number'
number
Char
default='347'
only_supplier
Boolean
string='Only Suppliers'
operations_limit
Float
default=3005.06
digits=dp.get_precision('Account')
help='The declaration will include partners with the total of operations over this limit'
string='Invoiced Limit (1)'
partner_record_ids
One2many → l10n.es.aeat.mod347.partner_record
comodel_name='l10n.es.aeat.mod347.partner_record'
inverse_name='report_id'
string='Partner Records'
real_estate_record_ids
One2many → l10n.es.aeat.mod347.real_estate_record
comodel_name='l10n.es.aeat.mod347.real_estate_record'
inverse_name='report_id'
oldname='real_state_record_ids'
string='Real Estate Records'
received_cash_limit
Float
default=6000.0
digits=dp.get_precision('Account')
help='The declaration will show the total of cash operations over this limit'
string='Received cash Limit (2)'
total_amount
Float
compute='_get_partner_totals'
digits=dp.get_precision('Account')
readonly=True
store=True
string='Operations amount'
total_cash_amount
Float
compute='_get_partner_totals'
digits=dp.get_precision('Account')
readonly=True
store=True
string='Cash movements amount'
total_partner_records
Integer
compute='_get_partner_totals'
readonly=True
store=True
string='Partners records'
total_real_estate_amount
Float
compute='_get_real_state_totals'
digits=dp.get_precision('Account')
oldname='total_real_state_amount'
readonly=True
store=True
string='Real estate amount'
total_real_estate_records
Integer
compute='_get_real_state_totals'
oldname='total_real_state_records'
readonly=True
store=True
string='Real estate records'
total_real_estate_transmissions_amount
Float
compute='_get_partner_totals'
digits=dp.get_precision('Account')
oldname='total_real_state_transmissions_amount'
readonly=True
store=True
string='Real estate transmissions amount'
button_confirm(self)
button_list_partner_records(self)
button_list_real_estate_records(self)
calculate(self)
not_in_mod347
Boolean
default=False
help='If you mark this field, this partner will not be included in any AEAT 347 model report, independently from the total amount of its operations.'
args: 'Not included in 347 report'
No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/7.0/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.2 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Spanish Localization Team |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Spanish Localization Team |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle, Pedro M. Baeza, Stéphane Bidoul (ACSONE), Alejandro Santana, Ignacio Ibeas - Acysos S.L., Omar (Pexego), cubells, OCA Transbot, Launchpad Translations on behalf of openerp-spain-team, Hugo Santos, Joaquin Gutierrez, pedro, PabloCM |
| WEBSITE | |
| WEBSITE | https://launchpad.net/openerp-spain |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:07:13 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/account-financial-tools: - account_invoice_currency OCA/l10n-spain: - l10n_es_aeat odoo/odoo: - base_vat - account - base_setup - base - web_kanban - web - product - process - decimal_precision - analytic - board - edi - email_template |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES |
unidecode |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Presentación del Modelo AEAT 347
================================
(Declaración Anual de Operaciones con Terceros)
Basado en la Orden EHA/3012/2008, de 20 de Octubre, por el que se aprueban los
diseños físicos y lógicos del 347.
De acuerdo con la normativa de la Hacienda Española, están obligados a
presentar el modelo 347:
-------------------------------------------------------------------------------
* Todas aquellas personas físicas o jurídicas que no esten acogidas al regimen
de módulos en el IRPF, de naturaleza pública o privada que desarrollen
actividades empresariales o profesionales, siempre y cuando hayan realizado
operaciones que, en su conjunto, respecto de otra persona o Entidad,
cualquiera que sea su naturaleza o carácter, hayan superado la cifra de
3.005,06 € durante el año natural al que se refiere la declaración. Para el
cálculo de la cifra de 3.005,06 € se computan de forma separada las entregas
de biene y servicios y las adquisiciones de los mismos.
* En el caso de Sociedades Irregulares, Sociedades Civiles y Comunidad de
Bienes no acogidas el regimen de módulos en el IRPF, deben incluir las
facturas sin incluir la cuantía del IRPF.
* En el caso de facturas de proveedor con IRPF, no deben ser presentadas en
este modelo. Se presentan en el modelo 190. Desactivar en la ficha del
proveedor la opción de "Incluir en el informe 347".
De acuerdo con la normativa no están obligados a presentar el modelo 347:
-------------------------------------------------------------------------
* Quienes realicen en España actividades empresariales o profesionales sin
tener en territorio español la sede de su actividad, un establecimiento
permanente o su domicilio fiscal.
* Las personas físicas y entidades en régimen de atribución de rentas en
el IRPF, por las actividades que tributen en dicho impuesto por el
régimen de estimación objetiva y, simultáneamente, en el IVA por los
régimenes especiales simplificados o de la agricultura, ganadería
y pesca o recargo de equivalencia, salvo las operaciones que estén
excluidas de la aplicación de los expresados regímenes.
* Los obligados tributarios que no hayan realizado operaciones que en su
conjunto superen la cifra de 3.005,06 €.
* Los obligados tributarios que hayan realizado exclusivamente operaciones
no declarables.
* Los obligados tributarios que deban informar sobre las operaciones
incluidas en los libros registro de IVA (modelo 340) salvo que realicen
operaciones que expresamente deban incluirse en el modelo 347.
(http://www.boe.es/boe/dias/2008/10/23/pdfs/A42154-42190.pdf)
**AVISO:** Este módulo requiere el módulo *account_invoice_currency*,
disponible en:
https://github.com/OCA/account-financial-tools
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
invoice_form_mod347 |
account.invoice.form.mod347 | account.invoice | field | Inherits account.invoice_form |
invoice_supplier_form_mod347 |
account.invoice.supplier.form.mod347 | account.invoice | field | Inherits account.invoice_supplier_form |
partner_record_search_view |
l10n.es.aeat.mod347.partner_record.search | l10n.es.aeat.mod347.partner_record | search | New |
view_account_period_quarter_form |
account.period.quarter.form | account.period | field | Inherits account.view_account_period_form |
view_account_period_quarter_tree |
account.period.quarter.tree | account.period | field | Inherits account.view_account_period_tree |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record.form | l10n.es.aeat.mod347.partner_record | form | New |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record.tree | l10n.es.aeat.mod347.partner_record | tree | New |
view_l10n_es_aeat_mod347_real_state_record_form |
l10n.es.aeat.mod347.real_state_record.form | l10n.es.aeat.mod347.real_state_record | form | New |
view_l10n_es_aeat_mod347_real_state_record_tree |
l10n.es.aeat.mod347.real_state_record.tree | l10n.es.aeat.mod347.real_state_record | tree | New |
view_l10n_es_aeat_mod347_report_form |
l10n_es.aeat.mod347.report.form | l10n.es.aeat.mod347.report | button | Inherits l10n_es_aeat.view_l10n_es_aeat_report_form |
view_l10n_es_aeat_mod347_report_tree |
l10n_es.aeat.mod347.report.tree | l10n.es.aeat.mod347.report | field | Inherits l10n_es_aeat.view_l10n_es_aeat_report_tree |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | field | Inherits base_vat.view_partner_form |
No new fields.
Public methods (1)create_period(self, cr, uid, ids, context=None, interval=1)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)assign_quarter(self, cr, uid, ids, context=None)
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (0)No public methods.
No new fields.
Public methods (1)on_change_partner_id(self, cr, uid, ids, partner_id)
No new fields.
Public methods (1)on_change_partner_id(self, cr, uid, ids, partner_id)
No new fields.
Public methods (3)btn_list_records(self, cr, uid, ids, context=None)
button_confirm(self, cr, uid, ids, context=None)
calculate(self, cr, uid, ids, context=None)
No new fields.
Public methods (0)No public methods.
| REPOSITORY | |
|---|---|
| REPOSITORY | OCA/l10n-spain |
| GIT | |
| GIT | https://github.com/OCA/l10n-spain.git |
| GIT FOLDER | |
| GIT FOLDER | https://github.com/OCA/l10n-spain/tree/6.1/l10n_es_aeat_mod347 |
| VERSION | |
| VERSION | 1.0 |
| CATEGORY | |
| CATEGORY | Localisation/Accounting |
| LICENSE | |
| LICENSE | AGPL-3 |
| APPLICATION | |
| APPLICATION | No |
| AUTO-INSTALLABLE | |
| AUTO-INSTALLABLE | No |
| AUTHORS | |
| AUTHORS | Odoo Community Association (OCA), Pexego, ASR-OSS, Acysos, NaN·tic |
| MAINTAINERS | |
| MAINTAINERS | Odoo Community Association (OCA), Pexego, ASR-OSS, Acysos, NaN·tic |
| COMMITTERS | |
| COMMITTERS | Alexandre Fayolle, Pedro M. Baeza, Omar (pexego), Alberto Martín, Alejandro Santana, Mikel, dani-ds, Ignacio Ibeas - Acysos S.L., Omar (Pexego), alberto-martin, cubells |
| WEBSITE | |
| WEBSITE | http://www.pexego.es, www.asr-oss.com, www.nan-tic.com, www.acysos.com |
| LAST TRACKING UPDATE | |
| LAST TRACKING UPDATE | 2026-07-06 00:04:05 |
| ODOO DEPENDENCIES | |
| ODOO DEPENDENCIES |
OCA/l10n-spain: - l10n_es_aeat odoo/odoo: - base_vat - account - base_setup - base - product - process - decimal_precision - analytic - board - edi - email_template - base_tools |
| PYTHON DEPENDENCIES | |
| PYTHON DEPENDENCIES | Not have |
| SYSTEM DEPENDENCIES | |
| SYSTEM DEPENDENCIES | Not have |
| DESCRIPTION | |
| DESCRIPTION |
Módulo para la presentación del Modelo AEAT 347 (Declaración Anual de Operaciones con Terceros)
Basado en la Orden EHA/3012/2008, de 20 de Octubre, por el que se aprueban los diseños físicos y lógicos del 347.
De acuerdo con la normativa de la Hacienda Española, están obligados a presentar el modelo 347:
* Todas aquellas personas físicas o jurídicas que no esten acogidas al regimen
de módulos en el IRPF, de naturaleza pública o privada que desarrollen
actividades empresariales o profesionales, siempre y cuando hayan
realizado operaciones que, en su conjunto, respecto de otra persona
o Entidad, cualquiera que sea su naturaleza o carácter, hayan superado
la cifra de 3.005,06€ durante el año natural al que se refiere la
declaración. Para el cálculo de la cifra de 3.005,06 € se computan de
forma separada las entregas de biene y servicios y las adquisiciones
de los mismos.
* En el caso de Sociedades Irregulares, Sociedades Civiles y Comunidad de Bienes
no acogidas el regimen de módulos en el IRPF, deben incluir las facturas sin
incluir la cuantía del IRPF.
* En el caso de facturas de proveedor con IRPF, no deben ser presentadas en este
modelo. Se presentan en el modelo 190. Desactivar en la ficha del proveedor
la opción de "Incluir en el informe 347".
De acuerdo con la normativa no están obligados a presentar el modelo 347:
* Quienes realicen en España actividades empresariales o profesionales sin
tener en territorio español la sede de su actividad, un establecimiento
permanente o su domicilio fiscal.
* Las personas físicas y entidades en régimen de atribución de rentas en
el IRPF, por las actividades que tributen en dicho impuesto por el
régimen de estimación objetiva y, simultáneamente, en el IVA por los
régimenes especiales simplificados o de la agricultura, ganadería
y pesca o recargo de equivalencia, salvo las operaciones que estén
excluidas de la aplicación de los expresados regímenes.
* Los obligados tributarios que no hayan realizado operaciones que en su
conjunto superen la cifra de 3.005,06€
* Los obligados tributarios que hayan realizado exclusivamente operaciones
no declarables.
* Los obligados tributarios que deban informar sobre las operaciones
incluidas en los libros registro de IVA (modelo 340) salvo que realicen
operaciones que expresamente deban incluirse en el modelo 347.
(http://www.boe.es/boe/dias/2008/10/23/pdfs/A42154-42190.pdf)
|
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_account_journal_form__add_cash_journal |
Account journal - Add cash journal (form) | account.journal | field | Inherits account.view_account_journal_form |
view_account_period_quarter_form |
account.period.quarter.form | account.period | field | Inherits account.view_account_period_form |
view_account_period_quarter_tree |
account.period.quarter.tree | account.period | field | Inherits account.view_account_period_tree |
view_l10n_es_aeat_mod347_partner_record_form |
l10n.es.aeat.mod347.partner_record.form | l10n.es.aeat.mod347.partner_record | form | New |
view_l10n_es_aeat_mod347_partner_record_tree |
l10n.es.aeat.mod347.partner_record.tree | l10n.es.aeat.mod347.partner_record | tree | New |
view_l10n_es_aeat_mod347_real_state_record_form |
l10n.es.aeat.mod347.real_state_record.form | l10n.es.aeat.mod347.real_state_record | form | New |
view_l10n_es_aeat_mod347_real_state_record_tree |
l10n.es.aeat.mod347.real_state_record.tree | l10n.es.aeat.mod347.real_state_record | tree | New |
view_l10n_es_aeat_mod347_report_form |
AEAT Model 347 (form) | l10n.es.aeat.mod347.report | form | New |
view_l10n_es_aeat_mod347_report_search |
AEAT Model 347 (search) | l10n.es.aeat.mod347.report | search | New |
view_l10n_es_aeat_mod347_report_tree |
AEAT Model 347 (tree) | l10n.es.aeat.mod347.report | tree | New |
view_partner_form_mod347 |
Partners - Add 'include in 347' | res.partner | field | Inherits base_vat.view_partner_form |
No models found for this module.