Data Export & Import
Take any list out of the panel as a CSV file for Excel or as a JSON file, and bring data back in: a dealer list from your old software, a new batch of serial numbers, product prices corrected in a spreadsheet. Import is careful by design. You match the columns yourself, choose what happens to rows that already exist, and try it first as a dry run that changes nothing.
Switching it on
Data Export & Import is free and is switched on when the script is installed. If somebody switched it off, open Admin → Addons (in the System group of the sidebar), find Data Export & Import Addons and press Enable.
The screen is Admin → Export / Import, in the Addons group of the sidebar. The role needs Change system settings.
Exporting
The Export card lists everything that can leave, each with the number of rows it holds now: Brands, Products, Serial numbers, Free products, Dealers, Users, Invoices, Invoice lines, Warranty cards, Warranty claims, Price lists, Support tickets and Settings. More appear when their addon is on: Coupons with Discounts & Coupons, Ledger with Accounts Management, Dealer customers and Retail sales with Dealer Customers.
- Tick what you want, or press Select everything.
- File type: CSV (Excel) or JSON. JSON keeps every field exactly.
- Created from and Created up to limit the rows by the date they were created. Leave both empty for everything, and always for Settings, which has no dates.
- Press 📥 Download.
One list gives one file, for example dms-dealers-20261014-103015.csv. Tick more than one and you get a single JSON file holding all of them. The CSV starts with a marker that makes Excel show Bangla names correctly.
Passwords never leave: the Users export drops the password and the sign-in tokens. Deleted products, free products, dealers, users, invoices, dealer customers and retail sales are left out unless Include deleted rows in exports is on.
Importing
Before you start, take a backup (with Backup & Restore on, the Take a backup now button on this screen opens it), and export the same list first: that file has exactly the right columns to edit and send back.
- In the Import card choose What the file holds, pick The file (
.csv,.jsonor.txt) and press 📤 Look at the file. - Match the columns. Each column of your file is listed with a Goes into box and what its first row looks like. A column whose heading matches a field name (
phone,serial_no,dealer price…) is matched already. Anything left at — ignore — is not imported. Anidcolumn is always ignored: rows are matched on their own key, not on this database's numbers. - When a row already exists: Update it with the file's values, Leave it alone, or Add another one anyway.
- Keep Dry run — tell me what would happen, change nothing ticked and press Run the import.
- Read the result: Would add, Would update, Skipped, and What went wrong with row numbers (row 2 is the first row under the headings, as in Excel).
- Happy with it? Run it again with the dry run unticked. The file is kept between the steps, so you do not upload it twice.
How a row is recognised:
| List | Matched on |
|---|---|
| Brands, Free products | name |
| Products | sku |
| Serial numbers | serial_no |
| Dealers | code |
| Users | |
| Invoices, Retail sales | invoice_no |
| Warranty cards | card_no |
| Warranty claims | claim_no |
| Support tickets | ticket_no |
| Coupons | code |
| Settings | k |
| Invoice lines, Price lists, Ledger, Dealer customers | uuid |
A row with nothing in its key column is skipped and listed under What went wrong.
Import in order, because a record can only point at one that already exists: brands, then products, then serial numbers; dealers before invoices.
A JSON file can be a plain list of rows, or a file this screen exported for a single list. The combined file you get by exporting several lists at once does not import back, so export one list at a time when you mean to import it again.
The addon's settings
Admin → Addons → Data Export & Import Addons → Settings:
- Allow importing (not only exporting) (on). Off hides the Import card, which suits a live site where only exports should be possible.
- Rows per batch (500). This version reads the whole file in one pass; if a big import times out on a small shared host, split the file into smaller ones.
- Include deleted rows in exports (off).
Tips
- In Excel, save as CSV UTF-8 (Comma delimited) so Bangla text survives the round trip.
- A bulk price change: export Products, change the price columns, import with Update it with the file's values, dry run first.
- Every export and every real import is written to Admin → Activity Logs.