Mahdi and Cursor
abb1a3a18e
feat(voip): add Daftaresoma provider tab with webhook and click-to-call
...
Map portal call events into CRM logs, store the API token for OutgoingCall, and surface a dedicated settings tab for wiring the webhook URL.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-07 12:31:59 +03:30
Mahdi and Cursor
1ef7f91771
fix(contacts): keep one customer when Tahesab repeats a mobile
...
A Tahesab import now updates the person who already has that mobile instead of creating another, and the boot merge runs once more so existing pairs collapse.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-05 13:34:41 +03:30
Mahdi and Cursor
94f0383c79
feat(tahesab): import and refresh customers at chosen hours
...
Each connection can set how many times a day and at which Tehran hours the server pulls Tahesab customers, including name updates for people already linked.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-05 12:31:27 +03:30
Mahdi and Cursor
57a0b379f6
fix(tahesab): store a matched mobile as 09xxxxxxxxx
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-05 11:11:40 +03:30
Mahdi and Cursor
7f6d9a84d6
fix(contacts): treat Iranian mobile formats as one person
...
Tahesab import still replaces the name and keeps the previous name.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-05 10:51:36 +03:30
Mahdi and Cursor
79733e6c96
feat(tahesab): sync filtered customers and pick Jalali periods
...
Document refresh can follow the selected group or person instead of every linked customer, and the sales report picks a named month or season.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-11-03 10:09:40 +03:30
Mahdi and Cursor
b9bb2ff9fa
feat(contacts): keep Tahesab honorifics with person gender
...
Male and female names can store the title when requested, and Tahesab import and export use the same gender.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-29 18:46:10 +03:30
Mahdi and Cursor
2ff35e55fc
feat(tahesab): net sales by factor, group, and commission
...
Report weight after returns for the selected period, with parent customer groups and separate silver and investment commission.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-26 11:05:34 +03:30
Mahdi
f50246dc46
feat(tahesab): PDF invoice export for asnad cards
...
Add per-document PDF print from account details, plus org invoice settings for logo and texts separate from CRM invoices.
2026-10-24 12:34:02 +03:30
Mahdi
ade43fea0f
feat(tahesab): sales report snapshot with org-module gate
...
Sync linked asnad into CRM, filter by group/kind/metal, and require the tahesab superadmin module plus reports role access.
2026-10-22 18:20:46 +03:30
Mahdi
29d99cbded
feat: customer groups for people and companies with tahesab group sync and bulk register
...
Multiple groups per contact, legacy group text migrated, excel import/export, contacts filter and column, richer create-in-tahesab, match-first bulk export
2026-10-21 17:16:31 +03:30
Mahdi
86e9ee6c2c
fix: treat Tahesab no-records as an empty customer list instead of a 502
...
Listing all customers no longer fails on the final empty code range, and importing a missing code no longer creates a placeholder person.
2026-10-20 12:26:20 +03:30
Mahdi
adb63447ca
fix: stop Tahesab imports from stealing links between shared-mobile customers
...
List all Tahesab customers in one paginated table with a page-size picker instead of 2000-code pages.
2026-10-20 12:00:11 +03:30
Mahdi and Cursor
cf326d1ed9
fix: keep birthdays and show Shamsi dates
...
Imported customers keep their birthday, and assistant text plus remaining calendars use the Jalali date.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-13 18:04:53 +03:30
Mahdi
b87ebb22e0
Montify: robust pagination (beyond 50), endpoint diagnose button
2026-10-10 18:01:55 +03:30
Mahdi
792b3d29fa
Montify: allow restarting stuck sync from UI; log sync progress
2026-10-10 17:11:51 +03:30
Mahdi
0802c2f436
Montify sync: save progress every 5 customers; skip endpoints returning 404, summarize instead of per-customer errors
2026-10-10 16:56:58 +03:30
Mahdi
f27b4c264a
Montify: mark sync running before responding; no 400 when already running
2026-10-10 16:18:25 +03:30
Mahdi
e82bd2b2df
Montify stores integration: multi-store connections, customer/order/transaction sync, webhooks
2026-10-10 15:59:12 +03:30
Mahdi and Cursor
e6755d0c2e
Tahesab: show raw data from Tahesab, invoice-style document view with metal labels
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-08 13:49:54 +03:30
Mahdi and Cursor
f88786ef61
Import Tahesab customers in batches with progress overlay and prefetched rows
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-05 21:08:38 +03:30
Mahdi and Cursor
46dcf296d3
Keep previous import source and code when a person is re-imported from another source
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-05 20:54:23 +03:30
Mahdi and Cursor
8b37525f2f
Track person import source and previous names; add source report and edit UX.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-04 12:01:21 +03:30
Mahdi and Cursor
236f73de93
Paginate Tahesab customer list by code windows past the 5000 cap.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-04 11:09:40 +03:30
Mahdi and Cursor
beae16437b
Harden Tahesab HTTP client against keep-alive hangs and retry health on alt ports.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-03 17:02:14 +03:30
Mahdi and Cursor
17628722d3
Fix Tahesab health check to match Postman root-endpoint flow.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-10-03 16:45:04 +03:30
Mahdi and Cursor
a1655432fc
Add internal org chat (phase 1) with DM, groups, and org settings.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-29 10:34:01 +03:30
Mahdi and Cursor
c5c903d4b4
Add automatic VoIP call summaries and sync progress checklist.
...
When a PBX webhook includes recordingUrl or transcript, queue STT and AI to create a call_result note; mark API, bulk SMS, WooCommerce, and VoIP as done and defer online payments.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-27 15:06:41 +03:30
Mahdi
db65b55660
Add VoIP webhook connector for call logging, notifications, and optional click-to-call; align brand to Montact.
2026-09-27 08:47:11 +03:30
Mahdi
26085b54a9
Add WooCommerce integration: sync orders to invoices/people with webhook, cron, and settings UI.
2026-09-26 17:59:16 +03:30
Mahdi
17fb33b3e7
Adding a task generated from the account balance to products
2026-09-21 21:25:34 +03:30
Mahdi and Cursor
11fa4c5e23
Treat Tahesab 404 no-records as empty asnad list.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 11:35:20 +03:30
Mahdi and Cursor
8f9a00f319
Fix asnad via root POST like Hamkar; show accounting code label.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 11:27:42 +03:30
Mahdi and Cursor
3ab102ddae
Align DoListAsnad with Hamkar (4 args) and treat empty ERROR as [].
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 11:18:37 +03:30
Mahdi and Cursor
1ac23e13c1
Improve person assets UI and fix Tahesab asnad date/list.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 11:08:46 +03:30
Mahdi and Cursor
43526cb980
Fix Tahesab empty-range 502 by using a single ByCode call.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 10:41:12 +03:30
Mahdi and Cursor
38f4b75a78
Allow empty Tahesab code range to list and import all customers.
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 10:30:54 +03:30
Mahdi and Cursor
3277561e55
Clarify Tahesab self-signed TLS fix with one-click enable.
...
Health already failed on certificate; search/import need allowInsecureTls on the connection.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 09:52:27 +03:30
Mahdi and Cursor
b42d39d756
Fix Tahesab ByCode list body key causing 502 on range search.
...
Use Dolistmoshtari as documented and surface upstream error text in the UI.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 09:42:08 +03:30
Mahdi and Cursor
15a0afae5c
Add Tahesab bulk customer import by code range.
...
Connecting alone does not copy customers; settings now list a code range and import them into CRM persons with link status.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-05 09:33:12 +03:30
Mahdi and Cursor
4b47b753c3
Add Tahesab jewelry accounting integration with multi-DB connections.
...
Encrypt tokens server-side, sync customers both ways, show balances/documents on the person Assets tab, and push sanads with idempotent Factor_Code logging.
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-09-04 22:00:23 +03:30