Skip to content

Your Rate Card Changed. Your Billing Rules Didn’t

How Two SuiteProjects Pro Scripts Keep Your Rates in Sync—Automatically

It happens the same way every year. Rates go up. Finance updates the rate card in SuiteProjects Pro. Someone marks it done and moves on. And then, quietly, the billing rules keep running on last year’s rates because nobody told them anything had changed.

For professional services organizations billing across many clients and projects, this gap between the rate card and the billing rules that reference it is one of those problems that stays invisible right up until the moment it isn’t. The invoice goes out. A client or project manager notices the rate. Now there’s a correction to make, an explanation to give, and a process to audit.

Top Step recently solved this for a client who had exactly that problem, not through a process overhaul, but through two targeted SuiteProjects Pro scripts that work together to make rate transitions automatic, accurate, and traceable.

The Setup: Why Rate Cards and Billing Rules Drift Apart

In SuiteProjects Pro, a rate card defines what you charge by role, by job code, and by project type. Billing rules consume those rate cards to determine what actually gets billed on each time charge. The two objects are linked, but that link doesn’t automatically cascade. When rates increase, a new rate card needs to replace the old one. Every billing rule that pointed to the old card needs to be end-dated and replaced with a new rule pointing to the new card, starting on the right date.

Do that manually across a portfolio of active projects and you’re looking at a repetitive, time-sensitive, error-prone task that falls on whoever owns the billing setup. Miss a rule, get a date wrong, or forget a project, and the charges generated won’t reflect the new rates until someone catches it.

Script One: Create and Update Billing Rules from Rate Cards

The first script automates the entire rate transition process. Here’s how it works in practice.

When rates increase, the billing team creates a new rate card with the updated amounts, typically a copy of the original with revised rates. They then open the original rate card’s tracking record, link the new rate card as its replacement, and set an effective date. That’s the only manual step required.

From there, the script takes over. It finds every billing rule in the system that references the original rate card, sets the end date of each rule to the day before the effective date, and clones each rule pointing to the new rate card with a start date matching the effective date. The new rules are carried forward with all the original configuration—customer, project, task filters, and billing type—and are named with a year suffix (Y2, Y3, Y4) so it’s easy to follow the progression in the billing rule list.

The result: on the effective date, every affected project automatically starts billing at the new rate. No manual rule-by-rule updates. No risk of a project slipping through.

Script Two: Auto Populate Rate Card Update on Billing Rules

The second script solves a quieter problem that lives downstream of the first.

In order for SuiteProjects Pro to generate time charges from a billing rule, it must know which rate card was active at the time the charge was created. Without a direct reference on the billing rule itself, the system has to walk back through multiple objects to find it, adding extra joins that add complexity to reporting and any downstream integration work.

The companion script closes that gap. Whenever a billing rule is saved with a rate card assigned, the script automatically populates a “Rate Card Update” reference field on the rule, so that the rate card is immediately identifiable on every charge generated from it. The field is read-only to users because it’s maintained by the script, not by manual entry, which means it’s always accurate.

For billing managers and finance teams who need clean, trustworthy charge data, this eliminates a category of reconciliation work that otherwise surfaces at the worst possible time: invoice review.

What This Looks Like in Practice

For the client who implemented both scripts, the annual rate increase process went from a multi-hour billing administration task to a matter of minutes. The team creates the new rate card, sets the effective date, and the system handles the rest. New rules appear in the billing rule list, correctly dated and named, ready for the transition.

The companion script runs silently in the background on every billing rule save, no user action required, ensuring the rate card reference is accurate as rules are created, updated, or rolled forward.

Together, the two scripts turn rate management from a recurring administrative burden into something closer to a configuration decision. Set the rate, set the date, and trust that the billing rules will follow.

What makes scripting so valuable in a platform like SuiteProjects Pro isn’t just the automation; it’s the adaptability. No two professional services organizations run exactly the same way. Each has its own rate structures, billing logic, approval workflows, and client commitments. SuiteProjects Pro already provides a strong foundation for managing projects, resources, and revenue. Scripting is what allows that foundation to flex and conform to how your organization uniquely operates, rather than asking your team to work around the places where the platform doesn’t quite fit.

Top Step has been doing this work for many years, long enough to understand not just the technology but the business behind it. We specialize in professional services organizations because we know how PS firms are built: how revenue flows, where the friction lives, and what it takes to align a system like SuiteProjects Pro to the specific goals and operational model of each client. If you’d like to talk through what’s possible for your organization, we’d love the conversation.

Scroll To Top