OdooWiki OCA HUB

PMS Spanish Adaptation

pms_l10n_es folder_open OCA/pms open_in_new
Localization License: AGPL-3

This module adds spanish localization support to property management system (PMS).

auto_awesome What this module does

AI-generated from the code · Odoo 16.0

Adds Spanish legal reporting to the property management system: it sends guest and reservation data to the Spanish Ministry of the Interior (SES) and produces INE tourism statistics files, with extra mandatory guest data and minor-traveller controls.

This module adapts the property management system to Spanish legal obligations. It adds two reporting flows, both reachable from the Reservations menu.

  • **Traveller Report (SES)**: a wizard where you pick a property (or a room with its own account), a date or date range and a report type (reservations or travellers). It builds an XML file you can download and preview, and it can send the data to the SES web service using the credentials stored on the property or room.
  • **Generate INE file**: a wizard that produces the statistical XML for the National Statistics Institute, using the property's tourism number, beds, staff counts, category and the rooms flagged for INE.

Behind the scenes, every reservation of a property set to SES automatically creates a communication record (new or delete) when the reservation is created, cancelled or has its dates or guest count changed. A new SES Communications screen lists these with their status (pending, sent, processed, errors) and a button to force sending. Four scheduled jobs send pending communications, process sent ones and handle incomplete traveller reports.

Guest check-in becomes stricter: birthdate, gender, nationality, address and country are required, plus document data for guests over 14, a relationship to an accompanying guest for minors, a second lastname for Spanish ID holders and a support number for Spanish ID/NIE. A folio can be flagged as unaccompanied minors with a guardian authorization attachment, and Odoo refuses that flag if any staying guest is of age. Invoice templates are also extended.

Menus it adds

SES CommunicationsTourism ClassificationTraveller ReportGenerate INE file
Models and fields (13)
  • pms.room · extends an existing modelin_ine, ses_url, institution, institution_user, institution_password, institution_lessor_id, institution_property_id, institution_independent_account (Independent account for institution (travel reports))
  • pms.folio · extends an existing modelses_all_guests_minors (All guests are minors), ses_minors_authorization (Guardian authorization), ses_unaccompanied_minors (Unaccompanied minors), ses_minors_authorization_filename (Guardian authorization filename)
  • res.partner · extends an existing modeline_code (INE State Code)
  • pms.property · extends an existing modelses_url, ine_seats (Beds available excluding extra beds), institution, ine_category_id, ine_unpaid_staff (Unpaid Staff), institution_user, ine_eventual_staff (Eventual Staff), ine_tourism_number (Tourism number), ine_permanent_staff (Permanent Staff), institution_password, institution_lessor_id, institution_property_id, spanish_tourism_classification_id (Spanish Tourism Classification)
  • pms.ine.wizard · new modeladr (Range ADR), revpar (Range RevPAR), end_date (To), start_date (From), txt_binary (File Download), txt_message (File Preview), txt_filename, pms_property_id (Property)
  • pms.reservation · extends an existing modelis_ses (Is SES), ses_all_guests_minors, ses_communication_ids (SES Communications), ses_status_reservation (SES Status), ses_minors_authorization, ses_unaccompanied_minors, ses_status_traveller_report (SES Status traveller), ses_minors_authorization_filename
  • res.country.state · extends an existing modeline_code (INE State Code)
  • pms.checkin.partner · extends an existing modelsupport_number (Support number), ses_partners_relationship, ses_related_checkin_partner_id (Related checkin partner)
  • pms.ses.communication · new modelstate, entity, room_id (Room), batch_id, operation, reservation_id (Reservation), sending_result, pms_property_id (Property), communication_id, query_status_xml (XML Query Status), communication_xml (XML Com.), processing_result, query_status_soap (SOAP Query Status), query_status_time, communication_soap (SOAP Com.), communication_time, send_attempt_count, communication_id_to_cancel (Communication to Cancel), response_query_status_soap (SOAP Resp. Status), response_communication_soap (SOAP Resp. Com.)
  • res.partner.id_number · extends an existing modelsupport_number (Support number)
  • traveller.report.wizard · new modelis_ses, date_to (To), room_id (Room), date_from (From), txt_binary (File Download), date_target (Date), report_type, txt_message (File Preview), txt_filename, pms_property_id (Property)
  • pms.tourism.classification · new modelcode, name, description
  • pms.ine.tourism.type.category · new modeltype, category

Text generated by AI (DeepSeek) from reading the Odoo 16.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub

Availability by version

Reviewed: 2026-11-03
Confirmed (verified in repository and branch) Estimated (unverified) No information

Confirmation status: 2 confirmed, 7 with no information of 9 versions.

terminal Installation and usage

No verified information

Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.

info

Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.