Skip to content

Commit ef4d181

Browse files
committed
[ADD] repair_order_group: enable consolidated repair processing
Service facilities often handle multiple related repairs for the same customer. Manual coordination between separate repair orders is inefficient and leads to errors. This module allows grouping repairs to: - Synchronize customer data automatically - Process confirmations/cancellations collectively - Create single quotations for grouped repairs - Consolidated sales orders per warehouse
1 parent 3fdb8d5 commit ef4d181

22 files changed

+1454
-0
lines changed

repair_order_group/README.rst

Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
1+
==================
2+
Repair Order Group
3+
==================
4+
5+
..
6+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
7+
!! This file is generated by oca-gen-addon-readme !!
8+
!! changes will be overwritten. !!
9+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
10+
!! source digest: sha256:96714f6e5a4e6cc5d1e57af91f85b40e3a342181bcd08042358c72b0c33efda6
11+
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
12+
13+
.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
14+
:target: https://odoo-community.org/page/development-status
15+
:alt: Beta
16+
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
17+
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
18+
:alt: License: AGPL-3
19+
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Frepair-lightgray.png?logo=github
20+
:target: https://github.com/OCA/repair/tree/18.0/repair_order_group
21+
:alt: OCA/repair
22+
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
23+
:target: https://translation.odoo-community.org/projects/repair-18-0/repair-18-0-repair_order_group
24+
:alt: Translate me on Weblate
25+
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
26+
:target: https://runboat.odoo-community.org/builds?repo=OCA/repair&target_branch=18.0
27+
:alt: Try me on Runboat
28+
29+
|badge1| |badge2| |badge3| |badge4| |badge5|
30+
31+
This module allows to group several repair orders, managing them in a
32+
more convenient way. Such orders are synchronised in the following
33+
actions:
34+
35+
- Partner selection. When a partner is updated in one of the group
36+
orders the same partner is set in all other orders of the same group.
37+
- Order confirmation. When one of the orders is confirmed all other
38+
orders of the same group are confirmed.
39+
- Order cancellation. When one of the orders is cancelled all other
40+
orders of the same group are cancelled.
41+
- Quotation creation. When a new quotation is created all orders of the
42+
same group are added to the same quotation.
43+
44+
**Table of contents**
45+
46+
.. contents::
47+
:local:
48+
49+
Use Cases / Context
50+
===================
51+
52+
Sometimes you need to create several repair orders in a row while
53+
linking them to the same quotation. For example a service facility
54+
receptionist needs to receive several items from the same client and
55+
then prepare a sales order for all of them at once.
56+
57+
Currently this can be done from the sales order by adding products that
58+
create repair orders on confirmation. However this approach has
59+
limitations, because it makes it difficult to enter some repair details,
60+
e.g. picking a serial number or filling in custom fields in the repair
61+
order form.
62+
63+
Usage
64+
=====
65+
66+
Create the first repair order. Click the "Add Another Repair" button in
67+
the header. A new order will be created with the same partner and same
68+
order group.
69+
70+
Bug Tracker
71+
===========
72+
73+
Bugs are tracked on `GitHub Issues <https://github.com/OCA/repair/issues>`_.
74+
In case of trouble, please check there if your issue has already been reported.
75+
If you spotted it first, help us to smash it by providing a detailed and welcomed
76+
`feedback <https://github.com/OCA/repair/issues/new?body=module:%20repair_order_group%0Aversion:%2018.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
77+
78+
Do not contact contributors directly about support or help with technical issues.
79+
80+
Credits
81+
=======
82+
83+
Authors
84+
-------
85+
86+
* Cetmix OÜ
87+
88+
Contributors
89+
------------
90+
91+
Cetmix <cetmix.com>
92+
93+
- Ivan Sokolov
94+
- Loukachov Andrei
95+
96+
Maintainers
97+
-----------
98+
99+
This module is maintained by the OCA.
100+
101+
.. image:: https://odoo-community.org/logo.png
102+
:alt: Odoo Community Association
103+
:target: https://odoo-community.org
104+
105+
OCA, or the Odoo Community Association, is a nonprofit organization whose
106+
mission is to support the collaborative development of Odoo features and
107+
promote its widespread use.
108+
109+
This module is part of the `OCA/repair <https://github.com/OCA/repair/tree/18.0/repair_order_group>`_ project on GitHub.
110+
111+
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.

repair_order_group/__init__.py

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Copyright (C) 2025 Cetmix OÜ
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from . import models

repair_order_group/__manifest__.py

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
# Copyright (C) 2025 Cetmix OÜ
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
{
5+
"name": "Repair Order Group",
6+
"summary": "Group several repair orders and keep them in sync",
7+
"version": "18.0.1.0.0",
8+
"category": "Repair",
9+
"license": "AGPL-3",
10+
"author": "Cetmix OÜ, Odoo Community Association (OCA)",
11+
"website": "https://github.com/OCA/repair",
12+
"depends": [
13+
"repair",
14+
],
15+
"data": [
16+
"data/repair_order_group_data.xml",
17+
"security/ir.model.access.csv",
18+
"views/repair_order_group_views.xml",
19+
"views/repair_order_views.xml",
20+
],
21+
"demo": [
22+
"demo/repair_order_group_demo.xml",
23+
],
24+
"installable": True,
25+
"application": False,
26+
}
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<record id="seq_repair_order_group" model="ir.sequence">
4+
<field name="name">Repair Order Group</field>
5+
<field name="code">repair.order.group</field>
6+
<field name="prefix">ROG/</field>
7+
<field name="padding">5</field>
8+
<field name="company_id" eval="False" />
9+
</record>
10+
</odoo>
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
<?xml version="1.0" encoding="utf-8" ?>
2+
<odoo>
3+
<record id="demo_repair_group_1" model="repair.order.group">
4+
<field name="name">GROUPDEMO001</field>
5+
<field name="partner_id" ref="base.res_partner_1" />
6+
</record>
7+
8+
<record id="demo_repair_order_1" model="repair.order">
9+
<field name="name">REPAIR-DEMO-001-A</field>
10+
<field name="partner_id" ref="base.res_partner_1" />
11+
<field name="product_id" ref="product.product_product_3" />
12+
<field name="product_qty">1.0</field>
13+
<field name="group_id" ref="demo_repair_group_1" />
14+
</record>
15+
16+
<record id="demo_repair_order_2" model="repair.order">
17+
<field name="name">REPAIR-DEMO-001-B</field>
18+
<field name="partner_id" ref="base.res_partner_1" />
19+
<field name="product_id" ref="product.product_product_3" />
20+
<field name="product_qty">1.0</field>
21+
<field name="group_id" ref="demo_repair_group_1" />
22+
</record>
23+
</odoo>
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# Copyright (C) 2025 Cetmix OÜ
2+
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl).
3+
4+
from . import repair_order_group
5+
from . import repair_order

0 commit comments

Comments
 (0)