Quick Reference
Lender | Error / Symptom | First Step |
PayKeeper | Rebate calculation fails on battery-only proposal | Confirm system type is battery-only retrofit; escalate — this is a known bug |
Sungage | "solarSize must be greater than zero" | Check deal for multiple design cards — find and activate the one with zero solar |
EnFin | Proposal blocked: savings threshold not met | Refresh the consumption profile on the deal, then retry |
EnFin | Rate locked at wrong value | Check Enerflo-side rate settings before contacting EnFin |
PayKeeper — Rebate Calculation Error on Battery-Only Proposals
What it looks like
Proposal generation fails or throws an error during the PayKeeper rebate step. The session may be stuck at the rebate/incentives stage. Most likely to appear on battery-only retrofit proposals (no solar system size in the deal).
Why it happens
PayKeeper's rebate calculation formula requires a system size field (kW). On a battery-only retrofit proposal, that field is absent — there's no solar array. When PayKeeper tries to calculate the rebate, the missing field causes the calculation to fail.
How to fix it
Confirm the deal is a true battery-only retrofit (no solar component).
Check whether a PayKeeper rebate code is applied to the proposal.
If yes — this is the known bug. Escalate to engineering immediately. Do not attempt to add a dummy system size; this will corrupt the proposal.
Reference HubSpot ticket #45819705439 — this is the active bug ticket. Confirm with the customer that a fix is in progress.
If a rep is in-home: escalate as critical. Engineering has a path to deploy a fix per-customer in urgent cases.
When to escalate
Immediately if a rep is in-home or the deal is time-sensitive. This is a platform bug, not a configuration issue — there is no customer-side workaround.
Sungage — "solarSize must be greater than zero"
What it looks like
Sungage finance application throws the error: "solarSize must be greater than zero" when trying to submit or finalize a battery-only deal.
Why it happens
Sungage reads the deal's active design to get the solar system size. If the deal has multiple design cards and any of them show a non-zero solar size, Sungage may pick one of those designs and error. This also happens when a design has leftover equipment data from a previous solar configuration on the same deal.
How to fix it
Step 1 — Check how many designs are on the deal
Open the deal in Enerflo and review all design cards. Identify which one is the true battery-only design (solar size = 0, battery only).
Step 2 — Activate the correct design
Set the battery-only design as the active/primary design on the deal. It should show zero solar and only the battery equipment.
Step 3 — Retry the Sungage submission
If you have a clean battery-only design active, Sungage should accept it.
Step 4 — If multiple designs can't be removed
Workaround confirmed in the field: check each design slot and find whichever one reads as battery-only with zero solar. Set it as active and retry.
Underlying data issue
Multiple design cards with non-zero solar usually indicate leftover designs from a prior solar quote on the same deal. Worth flagging to the customer to clean up their designs.
When to escalate
If no design can be found with zero solar, or if removing/deactivating designs isn't possible, escalate to engineering with the deal link and exact error text.
EnFin — Savings Threshold Validation Block
What it looks like
EnFin rejects the proposal submission with an error referencing a savings threshold or minimum savings requirement not being met. Common on battery-heavy proposals (e.g., Tesla Powerwall) where estimated savings may be lower relative to system cost.
Why it happens
EnFin validates that projected annual savings meet a minimum threshold before approving a proposal. If the consumption profile on the deal is stale, missing, or shows lower-than-actual usage, the savings calculation will be low — causing the validation to fail even when the customer's real savings would qualify.
How to fix it
Step 1 — Refresh the consumption profile
In Enerflo, locate the consumption profile section on the deal and trigger a refresh/re-pull. This recalculates the savings estimate using current data.
Step 2 — Retry the EnFin submission
After the refresh, resubmit the proposal to EnFin. In confirmed cases, a refresh alone is sufficient to pass the savings validation.
Step 3 — If refresh doesn't resolve it
Verify the utility rate on the deal is correct for the customer's state/region — an incorrect (low) rate will deflate savings estimates.
Check that the battery size and system configuration accurately reflect the customer's equipment.
Update the rate if needed and retry.
When to escalate
If the savings threshold failure persists after refreshing consumption and verifying the rate, escalate to the EnFin integration team. Do not tell the customer to contact EnFin directly until Enerflo-side settings have been ruled out.
EnFin — Rate Locked at Wrong Value
What it looks like
The EnFin rate shown on the proposal is wrong (e.g., locked at a fixed value when it should be floating, or lower than expected). This results in underestimated savings and a proposal that doesn't make financial sense for the customer.
Why it happens (and the common mistake)
Rate lock issues on EnFin proposals often have an Enerflo-side cause: the rate was manually locked in deal settings, the state pricing configuration is missing or incorrect, or a proposal template applied a fixed rate. This is frequently misdiagnosed as an EnFin issue — but EnFin reflects whatever rate Enerflo sends it.
How to fix it
Step 1 — Check the rate settings in Enerflo first
Open the deal and check the utility rate field for any manually locked rate values. Check whether the state/region pricing configuration has a conflicting rate set.
Step 2 — Check the proposal template
If a proposal template was used, check whether it has a hardcoded rate. If so, unlock or override it at the deal level.
Step 3 — Update and re-sync
Correct the rate in Enerflo, then re-sync or re-submit the proposal to EnFin.
Step 4 — Only contact EnFin if Enerflo settings are clean
If after reviewing all Enerflo-side rate settings the value is correct in Enerflo but wrong in EnFin, contact EnFin with the deal details and the Enerflo-side rate value as evidence.
The mistake to avoid
Do not tell the customer "you would have to reach out to EnFin" before investigating Enerflo settings. If the customer has already contacted EnFin and EnFin confirmed their side is correct, that is a strong signal the issue is in Enerflo — this is exactly the moment to dig in, not deflect again.
General Notes for Battery-Only Deals
Battery-only deals are more likely to fail at the lender API boundary because most lenders built their integrations assuming a solar system size. A zero-solar deal is an edge case for all three lenders above, and the failure modes all stem from the same root: a required field is missing, zero, or unexpected.
When a battery-only deal throws a lender error you haven't seen before:
Check whether the error message references system size, solar size, or kW in any form.
Check whether the deal has leftover designs or equipment from a prior solar configuration.
Refresh the consumption profile before concluding the issue is on the lender's side.
Escalate to engineering with the deal link and the exact error text if none of the above resolves it.
