Skip to main content

Battery-Only Deal Troubleshooting Guide (PayKeeper · Sungage · EnFin)

Step-by-step diagnosis and resolution for the most common battery-only deal failures across PayKeeper, Sungage, and EnFin. Covers rebate calculation errors, solarSize validation, savings threshold blocks, and rate lock issues.

Written by Emilie

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

  1. Confirm the deal is a true battery-only retrofit (no solar component).

  2. Check whether a PayKeeper rebate code is applied to the proposal.

  3. 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.

  4. Reference HubSpot ticket #45819705439 — this is the active bug ticket. Confirm with the customer that a fix is in progress.

  5. 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:

  1. Check whether the error message references system size, solar size, or kW in any form.

  2. Check whether the deal has leftover designs or equipment from a prior solar configuration.

  3. Refresh the consumption profile before concluding the issue is on the lender's side.

  4. Escalate to engineering with the deal link and the exact error text if none of the above resolves it.


Did this answer your question?