ATAD is a group of companies, and each one approves, prints and pays in its own way. Al Jawad Software House shaped Odoo around those differences, so one system can follow each company's rules instead of forcing one rule on all.
The business
A group that supplies and services technical equipment works across legal entities. Machines sit under maintenance contracts, engineers carry tools between sites and companies, and cheques are a normal way to pay and be paid.
Where the work gets hard
Approvals differ by company. Quotations, deliveries, invoices, purchases and payments each need sign-off, and who signs depends on the company, the document and sometimes the amount.
Cheques sit at the centre of cash. They are issued, received, printed on bank layouts, collected and sometimes returned unpaid. Post-dated ones must still show in the bank ledger and the customer's statement.
Tools belong to one company and are used by another. Moving them should not change what they are worth in the books.
Service contracts expire. Each contract covers specific machines and needs a reminder before renewal.
Paper differs by company. One company needs an invoice in Arabic and English, while others need a plain one.
What we implemented
Approval chains set up as data
For each company and each type of document, we configured an ordered chain of approval stages. A stage can be a group, a named person, the line manager or a division manager, and an amount can shorten the chain. Submission is blocked if no approver can be found, and a change after submission restarts the approval. Nobody can approve their own document, and the approver's signature prints on it. A pending-tasks view shows everything waiting for a decision.
Cheques followed from register to bank
A cheque moves from draft and registered through collection or issue, to collected or cleared, bounced or cancelled. Accounts update on registration, on collection or clearing, and by reversal when a cheque bounces. One cheque can settle several invoices. Issued cheque numbers cannot repeat, collection can be sent in bulk and posted cheques cannot be deleted. Cheques print on bank-specific layouts.

Tools moved between companies at their original cost
A transfer is sent and received through a transit location. The destination company takes the tool at the cost the source paid. A returns path exists, and a transfer cannot be edited once received. The driver gets a PDF.

Service contracts and requisitions
Annual maintenance contracts cover numbered machines and send renewal reminders by email. Engineers can request materials from a service task.
Country-specific documents and payroll
Printouts follow each company's own paper, including a bilingual invoice where needed. Payroll covers end-of-service gratuity, pension, loans and leave accrual. Four management dashboards cover attendance, expense by division, ageing and pending approvals.
How the work gets easier
| The usual way | With the new process |
|---|---|
| Approvals travel by message and memory | Each document follows its company's chain |
| Changing a document after sign-off goes unnoticed | A change restarts the approval |
| Cheques are tracked in a separate list | One register shows every cheque and its entries |
| Tools moved between companies are valued by guesswork | The source cost travels with the tool |
| Contract renewals depend on someone remembering | Reminders go out before renewal |
| Each company adapts its own paperwork | Each company prints its own layout |
The result is a group that follows each company's rules without losing the overall view. Managers see what is waiting on them, and finance sees the same cheques the bank does.
