Feature #11149
openPort customer, follow-up and quotation flows from Regal Solar into appforsolar (BE + FE)
100%
Description
Ported the customer, follow-up and quotation flows from Regal Solar into the appforsolar frontend (commit 141a6b0).
Customers- Client create/edit forms updated: notes, system type and installation type fields added.
- Uploaded electricity bill is now kept on edit (earlier saving wiped the bill and the company used for quotation/PCA auto-fill).
- Bill/document name verification against the customer name via new verifyBillName API.
- Confirmation modal on edit: when annual consumption changes, the user picks which of the customer's projects receive the new value.
- Create-customer now shows the real welcome-email outcome (sent / failed / no email) and backend warnings.
- Follow-up modal updated.
- Quotation form, list table, create/edit/details/confirmation pages updated.
- Approval-token validation returns isAlreadyAccepted.
- New resyncFromPdf action to re-extract system design from the stored quotation PDF.
- FormFields, ConfirmationModal, constants and customer/quotation types updated; debug console logs removed.
Subtasks
Related issues
Updated by Ramu Kodali 6 days ago
- Status changed from New to Resolved
- % Done changed from 0 to 100
Aligned the customer creation, follow-up and quotation flows in appforsolar_new_be and appforsolar_new_fe with the Regal Solar implementation, while keeping appforsolar's own branding, permissions and auto-assignment.
Customers: duplicate email/phone is now a confirm-and-add warning instead of a hard block, with a migration script to drop the old unique indexes. The customer form gained a utility-company selector and bill upload. The server checks the name on the bill against the customer, parses the bill in the background, and only Admin/Office Manager can replace a bill (a reason is required). Creating a customer now reports welcome-email status and warnings. Editing a customer can push a new annual consumption to their projects. A bug where the create endpoint never returned the new customer is fixed.
Follow-ups: a failed notification email no longer fails the follow-up. The assigned manager gets the email and in-app notifications, reassignment now sends an in-app notification, and email links open the customer's page.
Quotations: Tax/ITC is replaced by discount, depreciation (reference only) and a computed Total System Cost, and invoices bill the discounted total. The form has a System Type field and pulls the bill from the customer's profile. PDF parsing is improved, with OCR fallback for the energy offset. Customers approve or reject through a confirm page that email scanners can't trigger. Admin-accepted quotations email the customer a working upload link. The confirm pages show each company's name. A create-quotation break and a payment-milestone split appforsolar can't process are fixed.
Updated by Ramu Kodali 4 days ago
- Assignee changed from Maruthi Bharath to Ramu Kodali