For the finance lead

Close the month on revenue that ties to Stripe. Payment by payment

Atlas imports your full Stripe history, keeps it current by webhook and joins every charge, refund and failed payment to the buyer behind it, so each month's totals add up from real payments you can trace one by one.

We'll match your five latest sales to the ads that made them, or you don't pay.

A ledger of the last six Stripe payments on September 30, the last day of the month, in the order they came in, each joined to the buyer who made it. Freya L. paid $1,700, the first of three payments for the mentorship. Oskar B.'s $29 membership renewed. Ayumi K. was refunded $390 for the editing course. Matteo R.'s second $1,700 mentorship payment failed because the card was declined. Rosalind H. bought the editing course for $390, and Tobias E. paid $4,800 in full for the mentorship. As each payment lands, September's totals count up to $172,000 collected, $7,256 refunded and $6,518 failed across 798 payments. Then the month ties out: Stripe's collected total for September is also $172,000, so it matches Stripe.

The answers

The month-end questions, answered from each Stripe payment

  • What did we actually collect in September?

    TodayYou export Stripe to a spreadsheet and pull refunds and failed charges out of the total by hand.

    In AtlasRevenue Overview shows how much came in over the period you pick, built from your full Stripe history and kept current by webhook.

    Lives inRevenue Overview

  • Which offer did the refunds come from?

    TodayStripe lists each refund against a charge, and finding the offer that sold it means a search through the CRM.

    In AtlasEach refund joins the buyer who got it, so it comes off the offer and the ad that sold it.

    Lives inRefunds

  • Which payments failed, and why?

    TodayFailed charges sit in Stripe until a buyer writes in or someone goes looking.

    In AtlasPayment Failures lists what didn't go through and why, each one on the buyer it belongs to.

    Lives inPayment Failures

  • Who are our paying customers?

    TodayStripe knows a card and an email, the CRM knows the person, and the two lists never quite agree.

    In AtlasKeyring joins Stripe customer IDs and emails to one person, so each buyer appears once, and Customer Detail shows everything they paid.

    Lives inCustomer List

Revenue by offer

Every refund and failed payment comes off the offer it belongs to

Each payment, refund and failed charge sits on its buyer and the offer they paid for, so every offer shows its own collected, refunded and failed totals for the month. The offers add up to the month's totals, built from Stripe one payment at a time.

  • Refunds on the offerEach refund joins the buyer who got it, so it comes off the offer and the ad that sold it.
  • Failures with a reasonPayment Failures shows what didn't go through, and why, before the month closes.
  • Plans and renewals includedPlan payments and monthly renewals sit beside one-off sales, from the same Stripe payments.

A report of September's Stripe payments by offer. The mentorship paid in full collected $67,200, with $4,800 refunded and no failed payments. Mentorship plan payments collected $52,700, with no refunds and $5,100 failed. The editing course collected $33,540, with $2,340 refunded and $780 failed. The membership collected $18,560, with $116 refunded and $638 failed. In total September collected $172,000, refunded $7,256 and had $6,518 in failed payments.

Your month-end

Month-end starts with every payment already on its buyer

Today

  • Stripe goes into a spreadsheet on the first working day of the month
  • Refunds get matched to offers by searching buyer names in the CRM
  • You can't tell whether a sync missed rows until a total looks wrong

With Atlas

  • September's collected, refunded and failed totals add up from the Stripe payments
  • Every refund already sits on its buyer, beside the offer and the ad that sold it
  • Data Health shows which import has a gap before you sign off September
Data Health

Know which numbers are complete before you close the month

Data Health lists each import with the rows it brought in and the rows that failed. An import that couldn't fetch everything is marked incomplete, and one where more than 1 row in 200 failed stays incomplete, so you see a gap before it reaches your numbers.

A Data Health report of four imports, each covering the tool's full history. Stripe brought in 26,318 rows, Typeform 4,906 and Calendly 1,872, with no failed rows, and all three are marked complete. HubSpot brought in 12,540 rows and 71 of them failed, more than 1 row in 200, so HubSpot stays marked incomplete.

The guarantee

We'll match your five latest sales to the ads that made them, or you don't pay

Before you sign anything, Atlas runs on your real data. Name your five most recent sales on the setup call; we show the ad that started each one and the offer the buyer paid for.

Questions

What finance leads ask us

  • No. Atlas reads payments from Stripe and Shopify, and accounting tools aren't among its connections. It shows every payment, refund and failed charge, each joined to the buyer behind it.

Bring your five latest sales from Stripe

On the setup call we'll show the buyer behind each one, what they paid and the ad that made the sale.