Add editPolicy (default creator-only), enforce it in the API, surface clear permission messages, and drop the redundant edit menu now that detail is editable.
Co-authored-by: Cursor <cursoragent@cursor.com>
The person who registered stays the only owner. Full day-to-day access is granted through the manager role instead of a second owner.
Co-authored-by: Cursor <cursoragent@cursor.com>
New signups get the core module set with the 7-day demo. Superadmin can apply core, team, organization, or dedicated and the owner's environments take that level's access.
Co-authored-by: Cursor <cursoragent@cursor.com>
A receipt or payment only reduces the party balance, while an income or expense keeps both amounts. Finance screens stack into cards on a phone so the forms and lists stay readable.
Co-authored-by: Cursor <cursoragent@cursor.com>
The board lists a pipeline in current work only when it has a deal in that period, and keeps archive-only paths for the prior-data view.
Co-authored-by: Cursor <cursoragent@cursor.com>
A second Tahesab code with the same phone stays linked to the existing person, so the import list no longer counts it as unimported and sync no longer overwrites that person's name.
Co-authored-by: Cursor <cursoragent@cursor.com>
Role treasury keys now open the first allowed finance page, and team-member ownership limits lists, dashboard, and reports instead of the whole organization.
Co-authored-by: Cursor <cursoragent@cursor.com>
Let salary and payments be corrected after they are saved, pick a Jalali period as a month range, and show toman on finance amounts.
Co-authored-by: Cursor <cursoragent@cursor.com>
Issued invoices feed debtors, creditors, and period profit without a second income document. Payroll is split into setup, staged payment, and a filtered report.
Co-authored-by: Cursor <cursoragent@cursor.com>
Drop required from_number for webhook logging, persist CalleeExtension as lineExtension, and add direction/status/line filters on the calls list.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
Owners can filter by assignee and follow-up status, with extra filters in a drawer, while mobile keeps a compact search-and-filter bar without the stage chip grid.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
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>
Open the new-routine action to every member, while keeping assignment to other people and teams limited to managers.
Co-authored-by: Cursor <cursoragent@cursor.com>
Show open receivable and payable balances on separate report tabs, and include each list in an Excel export.
Co-authored-by: Cursor <cursoragent@cursor.com>
Save a system tracking number on each income and expense, reuse the full contact dialogs for a new party, and create, rename, or delete categories only from the categories tab.
Co-authored-by: Cursor <cursoragent@cursor.com>
Partial receipts and payments stay tied to a customer, company, or user, and the open balance is listed on the income and expense screens.
Co-authored-by: Cursor <cursoragent@cursor.com>
Accounts can be edited, including the opening balance, and finance sections and accounts can be granted on a role or on one user. The finance menu stays hidden when the organization module is disabled.
Co-authored-by: Cursor <cursoragent@cursor.com>
The action row stretched off-screen and comments on automation activities were rejected once the saved note passed 2000 characters.
Co-authored-by: Cursor <cursoragent@cursor.com>
A scheduled follow-up only stored a date, and activities opened from a lead were not linked back, so they disappeared from the lead.
Co-authored-by: Cursor <cursoragent@cursor.com>
Mixed Persian and Latin digits were stripped down to the Latin part, so some website leads stored a truncated mobile.
Co-authored-by: Cursor <cursoragent@cursor.com>
Section access now only creates a record for yourself. Assigning it to a colleague requires a separate permission on that section.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
Applying or creating a trial plan sets the owner seat cap to 3, and existing demos without a cap get the same default.
Co-authored-by: Cursor <cursoragent@cursor.com>
Super admin can filter dashboard counts, edit or delete admins, and sign into a user's CRM account with one shared password.
Co-authored-by: Cursor <cursoragent@cursor.com>
Super admin can set a seat limit of 3, 10, 20, or a negotiated number so an owner cannot add users past that cap.
Co-authored-by: Cursor <cursoragent@cursor.com>
Lead-only website forms had no person mobile, so the confirmation was marked sent without a number. Use the lead phone and send the full text.
Co-authored-by: Cursor <cursoragent@cursor.com>
Customer-linked tasks stay on their record and no longer appear in today, calendar, score, or reminders.
Co-authored-by: Cursor <cursoragent@cursor.com>
When a form has no round-robin assignees, the lead now follows the person the automation assigns to the first call.
Co-authored-by: Cursor <cursoragent@cursor.com>
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>
New-lead counts follow the first open column instead of its name, and cards no longer show an initials mark.
Co-authored-by: Cursor <cursoragent@cursor.com>
Empty membership stays open to the whole workspace; picking people restricts who can see that activity group.
Co-authored-by: Cursor <cursoragent@cursor.com>
Signup and admin-created accounts notify platform managers, and an ended plan sends one SMS instead of repeating for old expirations.
Co-authored-by: Cursor <cursoragent@cursor.com>