When a service is scheduled or invoiced, Spraye automatically calculates the price based on a strict hierarchy of rules. If a price is defined in multiple places, the system evaluates them from the most specific override down to the global system default.


Understanding this order ensures your estimates, programs, and invoices reflect accurate billing without manual adjustments.


The Price Hierarchy Order

Spraye honors price overrides in the following order of priority:


[Highest Priority]                                                                [Lowest Priority]
Estimate Overrides ➔ Program Overrides ➔ Property Service Pricing ➔ System Pricing


1. Estimate Price Overrides (Highest Priority)

  • How it works: When you create an estimate for a prospect or customer and manually adjust the price of a service or program, that specific price is locked in.
  • The Rule: If the estimate is accepted, the system will always honor the price quoted on that specific estimate, completely ignoring any other pricing rules set up in the system for that customer or property.

2. Program Price Overrides

  • How it works: If there is no active estimate override, the system looks at the customer's specific program enrollment. You can customize the price of a program or its individual rounds when assigning it to a customer's account.
  • The Rule: An override applied at the program level will dictate the cost of all services within that program, bypassing property-specific or global rates.

3. Service Pricing on the Property Profile

  • How it works: On every Property Profile, there is a Service Pricing tab. This allows you to set custom rates for individual services specifically for that piece of land (often used for properties that require special pricing due to unique layout or size).
  • The Rule: If there are no estimate or program overrides, the system checks this tab. If a custom price is logged here for the service being performed, that property-specific rate will be charged.

4. System Pricing (Lowest Priority / Global Default)

  • How it works: This is your base company price setup in the service. It calculates costs using your standard flat rates or your size-based pricing matrices (price per square foot).
  • The Rule: The system only defaults to this global list if it cannot find an override on the estimate, the program, or the property profile.


Summary Table: Pricing Priority Scenarios

If a price exists on......and also exists on...Spraye will charge the price from:
EstimateProgram, Property, & SystemEstimate (Highest priority)
ProgramProperty & SystemProgram
Property ProfileSystemProperty Profile
System SettingsNoneSystem Settings (Fallback default)


Troubleshooting Pro-Tip

If an invoice generates with an unexpected price, check the hierarchy backwards. An unintended custom price typed into a program enrollment or an old accepted estimate will lock in that pricing and prevent your global system price updates from taking effect on that account.