How Does DoPricer Pricing Work? Usage & Billing Explained.
Understanding what DoPricer does, what gets counted, and how your subscription usage is calculated
What DoPricer does
DoPricer is a HubSpot app that automatically applies the correct price and discount to every new line item created in your HubSpot portal — without your sales reps having to look anything up manually.
When a product is added to a HubSpot Deal or Quote, DoPricer detects it instantly and applies the appropriate pricing rules in the background. This typically completes within a few seconds. The sales rep then presses browser refresh to see the updated prices on screen.
Note on terminology: Throughout this article, "subscription usage" and "subscription charges" refer exclusively to what your organisation pays HubDo for using DoPricer. This is entirely separate from any invoicing or quoting your organisation does with your own customers.
How DoPricer detects and processes line items
DoPricer listens for HubSpot webhook events. The primary trigger is a new line item being created anywhere in your portal.
When a new line item is detected, DoPricer follows this sequence:
1. Identify the parent object:
DoPricer checks what the line item is associated with — a Deal, a Quote, or something else (e.g. an Order, Invoice, or Subscription). The line item is counted toward your subscription usage at this step, regardless of the result.
2. Check the Deal or Quote
If the line item is on a Deal or Quote, DoPricer fetches the Deal (and, for a Quote, the Quote too) to get the deal currency, the associated buyer Company, and the Deal price list if one has been chosen.
3. Check the Company
DoPricer checks whether DoPricer is enabled for that Company. If it is switched off for that Company, DoPricer records this and stops — but the line item is still counted. If the Deal has no Company, the result is the same: no DoPricer price or discount is applied.
4. Apply the correct price
DoPricer uses the first of these that applies:
- Deal price list — if one has been chosen on the Deal with the Deal price list override card. It applies to the Deal's Quotes too, and the Company price list and SKU-based price exceptions are then ignored. See How do I use a different price list for a single Deal?
- SKU-based price exception — if the product's SKU is listed in the Company's Price by Product Items property, and the Company has a price list set in the same currency as the Deal. The Company's price list setting tells DoPricer which currency the exceptions are in. This is opt-in: it only works in portals where an admin has created the Company property Price by Product Items (
dopricer_price_items). See How do I set up SKU-based price exceptions? - Company price list — the price list set on the Company.
- Standard price — the HubSpot product library price for the Deal's currency.
Every fallback is to the standard price, never to another price list. If the chosen price list has no price for a product, or its currency doesn't match the Deal's currency, the product gets the standard price for the Deal's currency. DoPricer never applies a price in one currency to a Deal in another.
5. Apply the correct discount
DoPricer checks for applicable discounts in strict priority order:
First: a per-product (SKU-based) discount set on the Company
Second: a product category discount set on the Company
Third: a default discount set on the Company
If none apply: no discount is added
6. Update the line item
DoPricer updates the line item with the determined price and/or discount, and records the outcome in two HubSpot properties on the line item: the DoPricer Discount Message and the DoPricer Price Message. These confirm exactly what DoPricer did and why.
7. Count the line item
The line item is tallied in your portal's monthly count, which determines your subscription charges for the month.
What counts toward your subscription usage
DoPricer subscription charges are based solely on new line items created per month.
Here is exactly what counts and what does not:
Scenario [Counts?]
- A new product added to a Deal [✅ Yes]
- A new product added to a Quote [✅ Yes]
- A new line item on an Order, Invoice, or Subscription [✅ Yes — DoPricer still receives and processes the webhook]
- A line item created and then deleted in the same month [✅ Yes — creation is what counts, not survival]
- An existing line item price or discount updated [❌ No — updates do not count]
- Price Lock restoring a price (triggered by a price update) [❌ No — Price Lock uses a different webhook and does not count]
Why do line items on Orders and Invoices count?
DoPricer receives a webhook for every new line item created anywhere in your portal — HubSpot does not filter these by object type before sending them. DoPricer must receive and process each webhook to determine its association. This processing is what your subscription covers, regardless of whether DoPricer goes on to apply pricing or not.
If you use Orders, Invoices, or Subscriptions heavily in HubSpot, those line items will count toward your monthly total even though DoPricer does not apply pricing to them.
The browser refresh requirement
DoPricer updates HubSpot data in the background. The HubSpot UI does not automatically reflect those changes until the page is refreshed. Sales reps must press browser refresh to see DoPricer's applied prices.
Adding line items to a Deal
This is the simplest workflow:
1. Add line items to the Deal using the Add Line Item feature
2. Click Save — this is when HubSpot creates the line items and DoPricer detects them
3. Wait 7–8 seconds for DoPricer to process
4. Press browser refresh — DoPricer's prices and discounts are now visible on screen
Adding line items in Quote Builder
Quote Builder is more complex. It auto-saves every few seconds, and does not re-fetch HubSpot data after DoPricer updates it in the background. This means Quote Builder can write stale (pre-DoPricer) prices back to HubSpot, overwriting DoPricer's correct values.
The fix is straightforward: press browser refresh after adding line items in Quote Builder. This exits Quote Builder and returns you to the Deal. When you reopen the quote, DoPricer's correct prices will be displayed.
Recommended best practice
The smoothest workflow is to always add line items to the Deal first, not inside Quote Builder:
- If the Deal needs a different price list, choose it first with the Deal price list override card
- Add line items to the Deal and click Save
-
Wait 7–8 seconds, then press browser refresh
-
Confirm DoPricer's prices look correct on the Deal
-
Click Create Quote — the line items carry over with DoPricer's prices already applied
When DoPricer detects those line items on the newly created Quote, it sees they've already been processed and skips them. No overwriting occurs.
The Master Switch
The Master Switch is a portal-wide on/off control in your DoPricer settings screen. When it is off, DoPricer discards all incoming webhooks — no line items are processed and none count toward your subscription usage.
The Master Switch has three states:
1. Manually switched off by you
You can turn the Master Switch off at any time. The most important use case is before a bulk import (see below).
2. Automatically switched off — free trial limit reached
During the free trial, DoPricer processes up to 500 line items. Once this limit is reached, the Master Switch is automatically turned off and your DoPricer settings screen displays a message advising you to sign up to a paid plan or contact HubDo Support. DoPricer will not resume processing until you do one of those two things.
3. Automatically switched off and locked — overdue subscription
If a subscription goes overdue and the grace period expires, the Master Switch is automatically turned off and locked. You cannot re-enable it yourself. It can only be unlocked by bringing your subscription up to date or by HubDo Support manually overriding the lock.
Bulk imports — a critical warning
If you import a large number of line items at once (for example, from an ERP system), every imported line item triggers a webhook and counts toward your monthly subscription usage. A large import can cause a significant and unexpected increase in your charges for that month.
The correct procedure for bulk imports is to turn the Master Switch OFF before you start importing. When the Master Switch is off, DoPricer discards all incoming webhooks at the API gateway layer — those line items are not processed and do not count toward subscription usage. Turn the Master Switch back on once the import is complete.
If you are planning a bulk import and are unsure how to proceed, contact HubDo Support before you begin: support@hubdo.com.
Price Lock
Price Lock is a feature that monitors existing line items and re-applies DoPricer's price if it detects the price has been manually changed. It uses a different webhook (triggered by a price update, not a line item creation), so Price Lock activity does not count toward your subscription usage.
Object Price Lock default
- Quotes: [On by default]
- Deals: [Off by default]
Price Lock is on by default for Quotes because of the Quote Builder auto-save behaviour described above — without Price Lock, a sales rep working in Quote Builder could accidentally overwrite DoPricer's correct prices without realising it.
Price Lock settings are managed by HubDo. To change them, contact support@hubdo.com.
The built-in line item volume checker
DoPricer includes a line item volume checker in the settings screen. It shows how many new line items were created in your portal in each of the last 6 months — available during the free trial and on all paid plans.
This is the easiest way to understand your portal's activity level and choose the right plan. You can also verify the same data independently using a HubSpot report:
Reports → Create Report → Single Object → Line Items → Count of Line Items created, grouped by month.
One price list per Company
Each Company in HubSpot can have one active price list at a time. This is by design — allowing multiple price lists on the same Company would create an unresolvable conflict (for example, if both "Wholesale USD" and "OEM USD" were set on the same Company, DoPricer would have no reliable way to determine which one to apply).
If one Deal needs a different price list — most often an occasional order in another currency — choose a Deal price list on that Deal. It replaces the Company price list for that Deal and its Quotes. See How do I use a different price list for a single Deal?
If a customer regularly buys in several currencies, create separate Company records in HubSpot — one per buying currency or entity. This often makes sense anyway, as those entities typically have different billing details and contacts.
DoQuotes — for more complex quoting workflows
DoQuotes is a separate HubDo product (currently in private beta) that addresses limitations in HubSpot's native Quote Builder, including single-click quote publishing directly from the Deal. It eliminates the browser refresh and auto-save issues described above.
DoQuotes is not part of DoPricer and is not included in DoPricer pricing. It is available by invitation.
Contact support@hubdo.com if you'd like to know more.
Related articles
- What will it cost to run DoPricer CPQ?
- How to create a line items report in HubSpot
- DoPricer set-up guide
- How do I use a different price list for a single Deal?
- How do I set up SKU-based price exceptions?
For more help please email support@hubdo.com