Project

General

Profile

Edit Copy Actions

Feature #11149

open

Port customer, follow-up and quotation flows from Regal Solar into appforsolar (BE + FE)

Added by Ramu Kodali 6 days ago. Updated 4 days ago.

Status:
Resolved
Priority:
Normal
Assignee:
Target version:
-
Start date:
09/29/2026
Due date:
09/29/2026 (6 days late)
% Done:

100%

Estimated time:
8:00 h
Spent time:

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.
Quotations
  • 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.
Shared
  • FormFields, ConfirmationModal, constants and customer/quotation types updated; debug console logs removed.

Add

Subtasks


Add

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.

Actions #2

Updated by Anonymous 5 days ago

  • Subject changed from Port customer, follow-up and quotation flows from Regal Solar into appforsolar (BE + FE to Port customer, follow-up and quotation flows from Regal Solar into appforsolar (BE + FE)
  • Description updated (diff)
Actions #3

Updated by Anonymous 5 days ago

  • Assignee changed from Ramu Kodali to Maruthi Bharath
Actions #4

Updated by Ramu Kodali 4 days ago

  • Assignee changed from Maruthi Bharath to Ramu Kodali
Edit Copy Actions

Also available in: Atom PDF