How Gremlin's Solo Finance Operator Finally Trusts Her Own Revenue Numbers with Zenskar?
How Gremlin's Solo Finance Operator Finally Trusts Her Own Revenue Numbers with Zenskar?

How Gremlin's Solo Finance Operator Finally Trusts Her Own Revenue Numbers with Zenskar?

Late renewals were counting as churn. ARR reports were wrong. Here's how Gremlin's one-person finance team fixed their revenue operations with Zenskar.
INDUSTRY
SaaS
REGION
USA
INTEGRATIONS
Avalara
Salesforce
Xero

About Gremlin

Gremlin is a chaos engineering platform that helps engineering teams at some of the world's most sophisticated organizations proactively test system resilience through controlled failure. Founded in 2016 and headquartered in the United States, Gremlin operates as a fully remote company with around 50 employees. Their product is deeply technical, their customer base is global, and their contracts span direct enterprise deals, marketplace transactions through AWS and GCP, and third-party resellers. 

Meet Maddie: The Person Running Revenue Operations

Maddie Leon was Gremlin's entire finance function. As Finance Manager, she handled everything.

 Deals closed in Salesforce. Maddie processed each contract in their subscription management platform, generated invoices, tracked renewals, reconciled payments in Xero, managed tax in Avalara, and built SaaS metrics that leadership used to understand the health of the business.

On the surface, everything worked.

The Challenges

When Gremlin's previous subscription management platform announced a substantial price increase ahead of their December renewal, Maddie began evaluating alternatives. 

She came in with a narrow brief: find something that does what her current tool does, at a more reasonable cost. She was not looking for transformation.

But as she delved deeper into the evaluation, she began to surface problems she had quietly worked around for years.

Late renewals were being miscounted as churn

In enterprise SaaS, it is common for a customer to let their contract lapse by a month or two during negotiations before signing the next year. Gremlin did not want to count that as churn. But their previous platform did. Every late renewal appeared in the data as a lost customer and a new customer in the same month, making the ARR waterfall, expansion tracking, and churn figures structurally inaccurate.

Maddie had been correcting for this manually every single month in a spreadsheet that ran in parallel to the platform's reporting.

Revenue complexity that Gremlin had never fully solved

A significant portion of Gremlin's contracts flowed through cloud marketplaces, where the customer pays the provider, and Gremlin receives only the net amount after a platform cut. 

Another portion went through third-party resellers, where the invoice is sent to the reseller, but the contract belongs to the end customer. Mid-year expansions, where a customer scales up partway through their term and owes the prorated difference, were also common. 

Each of these scenarios had its own manual workaround, and together they amounted to significant time and risk each month.

Subscription and services revenue were being tracked as one

Gremlin had two distinct revenue streams that needed to be kept separate: 

  • Subscription revenue tied to ARR, and 
  • Services revenue from onboarding and implementation engagements. 

The platform treated both identically. Clean reporting on either required yet another manual adjustment.

By the time Maddie finished mapping all of this, she realized her brief had changed. She was not looking for a cheaper version of what she had. She was looking for something that actually handled the way Gremlin's business worked.

Finding the Right Platform

Maddie had six weeks between the price increase and her contract expiry date. 

She ran a focused evaluation, giving herself one week of initial calls before committing to longer demos. 

Her criteria were specific: 

  • A clean Salesforce integration that could be triggered by sales ops validation rather than just deal close. 
  • Native ASC 606 revenue recognition
  • The ability to separate subscription and services revenue into distinct accounts, 
  • And a way to handle late renewals without miscounting churn.

She spoke to several vendors. Most could handle the standard use case. None could handle the edge cases that Gremlin required. 

Why Zenskar

Zenskar was the only platform with a native pause-contract workflow, allowing a contract to be frozen between renewal periods without triggering a churn event. 

It was also the only platform where the Salesforce integration was configurable enough to accommodate Gremlin's sales ops validation step before a contract ever touched the finance system.

Maddie made her decision within the evaluation week. The contract was signed by the end of October. Implementation kickoff was the following Monday.

Implementation

Gremlin's data migration was substantial. Close to a thousand contracts spanning FY23 through active deals need to be moved over to Zenskar.

The Zenskar implementation team handled the migration end-to-end: customer data, product catalog, bulk contract import, Xero integration, Avalara setup for US tax, and a revenue rule library that finally split subscription and services revenue into separate GL accounts mapped cleanly through to Xero. Maddie's job was to test, validate, and sign off. That was it.

More complex contracts required restructuring. 

  • Mid-year expansions, which Gremlin had previously managed through negative line items and manual reconciliation, were rebuilt as clean replacement contracts reflecting the correct adjusted value. 
  • Marketplace contracts were configured as their own category, correctly capturing net revenue. 
  • Reseller contracts were set up to route the invoice to the reseller while keeping the contract record under the end customer. 
  • Services contracts were separated out with their own billing cadence and revenue account, permanently removed from the ARR calculation.

All of the migration was completed in about 6 weeks, and Gremlin went live one day before their previous platform access expired.

The Results: 

100% Accurate ARR Reporting Maddie Can Trust

The spreadsheet Maddie maintained to correct her platform's churn miscounting no longer exists. 

The ARR waterfall is generated directly from Zenskar and is accurate because late renewals are now handled through the pause-contract workflow rather than counted as churn events. 

The numbers finally match how Gremlin actually thinks about its business, without any manual intervention afterward.

Month-end Close Runs on System-generated Journals

Revenue recognition now runs on ASC 606 rules, with subscription and services revenue tracked in separate accounts and exported as a Xero-ready journal entry for each close. The manual journal construction that used to take up a meaningful part of Maddie's month-end is now gone.

Same Day Invoice Delivery with 0 Errors

Invoices go out the day a contract is processed. The Salesforce integration, triggered after sales ops validates the opportunity rather than at deal close, ensures no invoice leaves with incorrect dates or amounts.

When Gremlin transitioned its finance function to an external fractional finance team partway through the year, that team stepped into a system that was already live, already documented, and already trusted.

Share

Explore all case studies

Product launch was 4 months behind: How 100ms got back on track

Product launch was 4 months behind: How 100ms got back on track

How Cyflare Cut Its Invoicing Cycle from 9 Days to 2 with Zenskar

How Cyflare Cut Its Invoicing Cycle from 9 Days to 2 with Zenskar

How Thriva Cut Month-End Close from Day 8 to Day 3 with Zenskar

How Thriva Cut Month-End Close from Day 8 to Day 3 with Zenskar

 How Posh Automated Enterprise Billing Without Adding Headcount

How Posh Automated Enterprise Billing Without Adding Headcount

Fill in and watch webinar
First Name
Last Name
Company Name
Job Title
By Filling up, you confirm that you have read & agreed to Zenskar’s Privacy Policy & Terms of use.
Oops! Something went wrong while submitting the form.
Close