diff --git a/fusion_repairs/__manifest__.py b/fusion_repairs/__manifest__.py
index 19232951..1e81bce9 100644
--- a/fusion_repairs/__manifest__.py
+++ b/fusion_repairs/__manifest__.py
@@ -4,7 +4,7 @@
{
'name': 'Fusion Repairs',
- 'version': '19.0.1.0.3',
+ 'version': '19.0.1.0.4',
'category': 'Inventory/Repairs',
'summary': 'Guided medical equipment repair intake, dispatch, maintenance, and self-service portal',
'description': """
diff --git a/fusion_repairs/data/ir_sequence_data.xml b/fusion_repairs/data/ir_sequence_data.xml
index dd24383f..6123a864 100644
--- a/fusion_repairs/data/ir_sequence_data.xml
+++ b/fusion_repairs/data/ir_sequence_data.xml
@@ -23,5 +23,21 @@
1
+
+
+
+ Repair Order (RO-YYYYMM-NN)
+ fusion.repair.order.monthly
+ RO-%(year)s%(month)s-
+
+ 2
+ 1
+ 1
+
+
+
diff --git a/fusion_repairs/models/repair_order.py b/fusion_repairs/models/repair_order.py
index a017112d..d609b67b 100644
--- a/fusion_repairs/models/repair_order.py
+++ b/fusion_repairs/models/repair_order.py
@@ -28,6 +28,22 @@ class RepairOrder(models.Model):
_inherit = 'repair.order'
+ # ------------------------------------------------------------------
+ # CREATE - replace the picking-type default sequence with our
+ # date-based RO-YYYYMM-NN reference. We set vals['name'] BEFORE
+ # super() so Odoo's native create() (which only assigns the picking
+ # type sequence when name is empty or 'New') skips its own numbering.
+ # ------------------------------------------------------------------
+ @api.model_create_multi
+ def create(self, vals_list):
+ Sequence = self.env['ir.sequence'].sudo()
+ for vals in vals_list:
+ if not vals.get('name') or vals.get('name') == 'New':
+ next_name = Sequence.next_by_code('fusion.repair.order.monthly')
+ if next_name:
+ vals['name'] = next_name
+ return super().create(vals_list)
+
# ------------------------------------------------------------------
# INTAKE METADATA
# ------------------------------------------------------------------