Drypowder Help Center

Balance Forward and Open Item accounts

Why Drypowder works only with Open Item accounts, and how to migrate a Balance Forward account in Spruce so it becomes available in Drypowder.

Spruce supports two billing types for customer accounts: Open Item and Balance Forward. Drypowder works with Open Item accounts only. This article explains the difference between the two, why that limitation exists, and how to convert a Balance Forward account to Open Item when you want it available in Drypowder.

Support for Balance Forward accounts is planned for Q4 2026.

The difference between the two billing types

An Open Item account tracks debt at the invoice level. Each invoice carries its own outstanding balance, and when a customer makes a payment, that payment is applied to specific invoices. The AR status screen shows a list of open invoices with individual balances, and you can see exactly which invoices remain unpaid.

A Balance Forward account tracks debt as a total. Individual invoices do not carry an outstanding amount — their value is rolled into the account's aging buckets (current, 30-day, 60-day, and so on). When a customer makes a payment, it is applied to the oldest aging bucket rather than to a specific invoice. The statement a customer receives shows current-month activity plus a single line labeled "Balance Forward" for all older unpaid debt.

Why Drypowder does not support Balance Forward

Drypowder is built around invoices. When a payer opens the Payments portal, they see their open invoices and choose what to pay. When Drypowder posts a payment to Spruce, it posts against specific invoice document IDs. Every part of the system — the Customers Dashboard, the payment flow, the GL posting — depends on individual invoices having an outstanding balance.

On a Balance Forward account, no individual invoice carries an outstanding balance. There is nothing for Drypowder to display or post against. A Balance Forward account imported into Drypowder will show no open invoices even though the customer owes money, and any attempt to post a payment would have no invoice to post it to.

How to make a Balance Forward account available in Drypowder

Converting the account to Open Item in Spruce is the path. When you change the billing type, Spruce works backward from the account's total balance to reconstruct which specific invoices are still unpaid.

How Spruce reconstructs the open invoice record

Spruce knows the account's total current balance and has a complete history of every invoice ever generated for that account. To figure out which invoices are still unpaid, it works through that history oldest-first:

  1. It calculates how much has been paid over the life of the account (total invoice history minus the current balance).
  2. Starting from the oldest invoice, it marks invoices as paid one by one, consuming that paid amount.
  3. Once the paid amount is exhausted, every remaining invoice has its outstanding balance restored to its original value.

Those restored invoices are the ones that make up the current balance. They appear in the AR status screen, and Drypowder can display and post against them.

A concrete example

An account has a current balance of $500, with this invoice history:

InvoiceAmount
Invoice #1 (January)$250
Invoice #2 (February)$300
Invoice #3 (March)$200
Invoice #4 (April)$300
Total history$1,050

Spruce calculates that $550 has been paid ($1,050 total minus the $500 current balance). Applying that $550 oldest-first:

InvoiceResultOutstanding
Invoice #1 (January)Paid in full ($250 applied)$0
Invoice #2 (February)Paid in full ($300 applied)$0
Invoice #3 (March)Restored to open$200
Invoice #4 (April)Restored to open$300

Invoices #3 and #4 are now open with specific outstanding balances that add up to exactly $500. The debt that was previously just a number in an aging bucket is now pinned to specific documents.

One thing worth noting: the invoices that Spruce marks as paid through this process will not have a paid date recorded, because the payments that covered them happened while the account was in Balance Forward mode. That is expected behavior, not a data error.

The data integrity requirement

This process only succeeds if the sum of all invoice records on the account exactly matches the account's current balance. A one-cent discrepancy will cause it to fail. For this reason, the best time to convert an account is immediately after a month-end close, when balances are settled and the data is at its most stable.

Before converting, confirm in Spruce that the account's total balance and the total of its invoice history are in agreement. If they are not, work with your ECI implementation contact to identify the discrepancy before proceeding.

On this page