//Ditto RollupsLiveFree

Salesforce data that
adds itself up.

Roll up opportunity amounts, task counts, and any child data onto the parent record — on save and on a schedule.

What it does

Six things it does,
none of them noisy.

Any relationship

Lookup, master-detail, or a junction object. If two objects are related, you can roll up between them.

Real-time on save

The child changes, the parent number changes. No batch job to wait for and no stale field on the layout.

Hourly recalculation

Catches everything triggers miss: data loads, API updates, and time-based criteria. Runs on the hour, inside your org.

Built for volume

Bulkified Apex with one SOQL query per parent object, so a 50,000-record load doesn't hit governor limits.

Multi-currency

Rollups respect the org's currency settings and convert correctly when the parent uses a different currency.

Kill switch

One setting stops every trigger immediately. No deployment, no deactivation of code, no waiting.

Native or not

Salesforce already rolls up.
Just not everywhere.

Salesforce ships its own Roll-Up Summary field, and when your data fits its shape it is the right answer. It only lives on the master side of a master-detail relationship, which is where most orgs run out of road with it.

Use the native field when

  • The objects are already in a master-detail relationship, and the child really should be owned and shared by the parent.
  • You need count, sum, min, or max on a numeric child field.
  • The summary stays one level deep and the relationship is not going to change.
  • Volume is modest, and recalculation on save keeps up with the way your team works.

Outside that shape there is no setting to change: a summary field cannot be added to a lookup relationship.

Reach for Ditto Rollups when

  • The relationship is a lookup, and converting it to master-detail would change ownership, sharing, and every report built on it.
  • You need an average, which native summaries do not offer.
  • The filter has to reach another object, or needs more than a simple comparison on the child record.
  • Volume is high enough that you want an hourly pass as well as the real-time one, so nothing drifts after a data load.

Both can sit on the same parent. Ditto writes to a field you own, so it never touches an existing summary field.

If master-detail works and the field does what you need, use it. Ditto Rollups is for the cases it cannot reach, not a replacement for something already doing the job.

In the app

A Lightning app,
not a setup page.

Every rollup in one list, with the source, the function, and whether it is running. Configure it, pause it, and read the error log without leaving Salesforce.

Ditto Rollups
RollupsLogs
Hourly recalculation+ New Rollup
NameChild → ParentOperationResult fieldFilterActiveTriggerLast full recalc
Open pipelineOpportunity.AccountId → AccountSum of AmountOpen_Pipeline__cIsWon = falseDeployedNov 6, 03:05 PM
Open casesCase.AccountId → AccountCount of IdOpen_Cases__cIsClosed = falseDeployedNov 6, 03:05 PM
Last activityTask.AccountId → AccountMax of ActivityDateLast_Activity__c—DeployedNov 6, 03:05 PM
Billable hoursTime_Entry__c.Project__c → Project__cSum of HoursBillable_Hours__cBillable = true—Not deployedNov 4, 09:00 AM

The Rollups tab: every rollup in the org, its source, and whether its trigger is deployed.

Rollup editor

Parent object
The object that receives the summary.
Parent field
Standard or custom field that stores the value.
Child relationship
Any lookup or master-detail relationship.
Child field
The field being aggregated, or Id for count.
Function
Sum, count, min, max, average.
Filter criteria
Only roll up the child records that qualify.
Recalculate hourly
Adds the scheduled pass for missed changes.
Locked
Stops edits until an admin unlocks the rollup.

Filter builder

Operators

equalsnot equal tocontainsstarts withgreater thanless thanis blankis not blank

SOQL date literals

TODAYYESTERDAYLAST_N_DAYS:30THIS_MONTHLAST_QUARTERTHIS_FISCAL_YEAR

Retargeting

Records move. The numbers follow.

Change the parent on a child record and the rollup recalculates both sides in the same transaction. Old parent down, new parent up, no manual refresh and no overnight drift.

Settings

Admin control, in the app

  • Run as system mode or as the running user — your choice, per org.
  • Pause a single rollup without deleting its configuration.
  • Kill switch stops every trigger instantly.
  • Error log keeps the record id, rollup, and exception for each failure.

Why free

Free, and not as a trial.
It is the floor the suite stands on.

Ditto Rollups is a primitive. The numbers it keeps current are what the rest of the suite reads: territories, routing, and whatever ships next all assume a parent record already knows its own totals. Charging for that would make every app built on top of it cost more and reach less, so it stays free.

No fenced features

Every rollup type, hourly recalculation, retargeting, and the error log are in the free app. There is no paid tier waiting behind the settings page.

No per-user maths

Per-seat pricing punishes the orgs that need this most. A five-user company and a five-thousand-user one pay the same for Rollups: nothing.

The suite is the business

Rollups earns its keep by making Salesforce work properly before you need anything else from us. When you do need something else, the suite is already there.

It also keeps the suite honest. If a later Ditto app depends on rollup data, it will depend on something every org can have on day one.

Questions

Straight answers.

Does it work with master-detail relationships?

Yes. Lookup relationships, master-detail relationships, and junction objects all work. The rollup writes to a field you own, so it never conflicts with a native summary field.

What happens during a data load?

The trigger runs bulkified, so a load of tens of thousands of records recalculates in batches. If the load bypasses triggers entirely, turn on hourly recalculation and the numbers catch up on the next pass.

Does it replace formula fields?

No. Formula fields can't cross a lookup to a child object, and they can't count or aggregate. Rollups fill that specific gap and leave your formulas alone.

How much does it cost?

Nothing. Ditto Rollups is free to install and free to keep. There is no per-user licence and no upgrade path to buy.

Can I turn it off?

One switch stops every trigger without uninstalling anything. Your rollup configuration and stored values stay exactly where they are.

Install it free.
Keep it free.

Ditto Rollups installs in minutes and is free on the AgentExchange. Assign the permission set, create a rollup, and watch the parent numbers update.