Dec 20, 2017
This is the latest stable CashNotify release.
Download CashNotify for macOS.


We (sometimes) have bugs, and we’re grateful to our users for pointing them out (๐Ÿ‘‹ Curt!).
However, it’s always been difficult to debug, because we had to ask our users to open the logs and send them to us manually.

To solve this problem, we have implemented automatic exception tracking (we use Sentry.io).
This will allow us to proactively know when something is wrong with CashNotify, so we can fix it.

Your privacy is important to us

That’s why we report only basic error information by default โ€”ย no data about your Stripe account or transactions are sent. We try to tie error reports to email addresses whenever possible, for the sole purpose of contacting you to request additional information, should we need them.

Should we need more information to debug a particular issue (e.g. the app crashes due to an unexpected Stripe event) , we will ask you to enable a new option Send additional debug logs:


This will add additional data to the exception logs. Depending on the bug, this data may contain confidential information, such as transaction amounts, bank names, payment ID, and so on.
However, API keys and customers’ email will never be shared, as they’re redacted.

In any case, we strongly believe in the confidentiality of the data and we will never do anything with this data, will share it or exploit it, once they have helped us to solve the problem.

Feel free to talk to us if you have any question about this (or anything else, really).


  • Add day of the week on graph tooltip



  • We fixed an issue where a refund event, when formatted unexpectedly, would prevent all events to be displayed at all. If CashNotify does not display any event for a specific account, and your Stripe account is already several years old, this should resolve it.


Nov 24, 2017
Want to try? See How to enable pre-releases.
Weโ€™re adding automatic exception tracking, and fixed an issue where a refund event, when unexpectedly formatted, would prevent all events to be displayed at all. See 2.5.5 for details.


Nov 24, 2017


  • Fix an issue causing incorrect numbers on the graph’s Y axis


Oct 19, 2017
Read more about what motivated this release: A Better “Net Revenue” Indicator.

Fee details

We’re adding fee details on payments and refunds. It’s especially helpful when Stripe converts the amount paid by your client into your accountโ€™s currency.


Excluding fees from the revenue graph

Weโ€™re adopting the same โ€œnetโ€ definition as Stripe by excluding fees from our graph. The graph now reflects what will be transferred to your bank account.


Other changes

  • Graphs on 1 and 4 weeks now have the same number of points than similar graphs on stripe.com.
  • Improvements for reducing timeouts on slow Internet connections
  • Bugfix: Handle zero-decimal currencies


We changed our Apple Developer ID, which means the app certificate signature changed as well.
The only visible change for you might be that CashNotify prompts you again to accept rights to read the CashNotify key in your Keychain. You need to accept, that’s normal.


Oct 9, 2017
We’re adding fee details on payments and refunds. See 2.5.2 for details.


Sep 25, 2017
Add a new 4w option to the dashboard.


So here it is:


Also, to answer the inevitable question of “Why 4 weeks / Why not 1 month?“:

Actually we chose 28 days (4 weeks) because that’s what Stripe did on their new web dashboard.

For more details, see full thread with Pieter.

We also added an error message if you try to use a Stripe Restricted Key. CashNotify is not yet compatible with them, even though we’d like to. We wrote about it here.


Sep 14, 2017
Add a new 4w option to the dashboard.


Aug 9, 2017
CashNotify 2.4.3 brings revenue dashboard (+ the easiest way to share beautiful, Retina-ready pictures of your dashboards!), account filtering, refunds, and proper English number formatting.

Here is the changelog since last stable version 2.3.1.


  • View total revenue across all your Stripe accounts on the new dashboard. We’re displaying gross revenue, minus refunds and dispute amounts. You can choose from 3 timeframes: last 24h (particularly useful to follow along a launch), last 1 week and last 2 weeks.


  • “Drag to share” to quickly share a screenshot of the revenue dashboards.
  • View refunds. This is disabled by default, you can enable it from the Prefs.


  • Quickly filter events by accounts.



  • Reduce risk of timeouts when fetching data (events, transactions, plan or bank names) by giving them different priorities.
  • Use English number format, with a comma for thousands separator.



Jul 27, 2017
Version 2.4.3 is the exact same release than this one ๐ŸŽ


Jul 18, 2017
CashNotify 2.3.1 brings customer details + actions, fraud alerts, and 2-steps payment flow support.

Here is the changelog since last stable version 2.2.1.


  • Click an event to expand it and get more details about it. Get to know who’s your customer with her gravatar (or her company’s logo), and email her directly from CashNotify.
    Protip: โŒ˜ + Click on an event to open it in Stripe instead of expanding it. ๐Ÿ˜Ž

  • Flag payments which triggered a fraud alert, so you can review them.

Note: not reviewing a flagged payments has no malus: you’ll still get the money by default. However, it’s good practice to review it: should you detect anything wrong, you can refund it without any penalty, before the payment might be disputed (which involve both a lot of time spent and a potential chargeback).


  • Ignore charges until they’re captured.
    Some businesses use a 2-steps payment flow, where they first pre-authorize a charge, then capture it up to 7 days later. E.g. BetaList captures your payment only after your startup has been reviewed.
    CashNotify now makes the difference between pre-auth’d (a.k.a. uncaptured) and fully captured charges.
    If you don’t use this, nothing will change. All your successful charges will still be displayed in CashNotify.
    If you use Stripe’s Auth & Capture, you’ll notice the following changes:

    • pre-authorized charges, not yet captured, will NOT be displayed anymore. Previously they were displayed as successful charges.
    • pre-auth charges will be displayed as soon as they’re captured, at the date of capture โ€” not the date of pre-auth.
      This means that uncaptured charges are ignored altogether. We assume that businesses who chose Auth & Capture flow already needed some way to capture charges, so they would have a way to be notified of charges to be captured. If you’re doing otherwise, please tell us!

  • Add icon types in Prefs to make it easier to understand.


  • Fix an issue where events with exact same timestamp would be displayed in random order.
  • Fix an issue brought in previous Pre-release 2.3.0-beta, where some events would randomly not be displayed until the app is restarted.

Let us know what you think @CashNotify!


Jul 7, 2017


  • Click on an event to expand it and view customer details (email, avatar, country. CashNotify will try to either get customer’s personal Gravatar, or fallback to the Company logo using domain of the email (except for some popular email domains like @gmail.com or @yahoo.fr).



Default avatar :)

Protip: โŒ˜ + Click on an event to open it in Stripe instead of expanding it.

  • Add some actions when expanding an event: View on Stripe, or Email the customer. They’re quite bare bone for now, we plan to toughen them a bit.

  • Flag payments which triggered a fraud alert, so you can review them.


Also, payments automatically blocked by Stripe because of highest fraud alert are still displayed as failed, because there’s really nothing you can do about it.


  • Supports 2-steps payment flow, where you first pre-authorize a charge, then capture it up to 7 days later.
    This means:
    • pre-authorized charges, not yet captured, will NOT be displayed anymore. Previously they were displayed as successful charges.
    • pre-auth charges will be displayed as soon as they’re captured, at the date of capture โ€” not the date of pre-auth.

Charges captured immediately will still be displayed as usual.

However, uncaptured charges are ignored altogether, in order to not add noise in your CashNotify. You’ll need to make sure your Stripe validation flow includes a way to be aware and validate pending uncaptured charges.

  • Add icon types in Prefs to make it easier to understand.


  • Fix an issue where events with exact same timestamp would be displayed in random order.


Jun 15, 2017
This 2.2.1 release brings payouts to CashNotify, as well as a big performance improvement, with x2-x4 less CPU load on average.


  • View your paid and expected payouts. Expected payouts are payouts already created by Stripe, and which will reach your bank account soon. This delay can vary from a few hours (for automatic payouts on US accounts), up to a few days in other countries.

  • Preferences have been updated to add a Payout filter:


  • Added more details about a failure in the tooltip.

  • Added a ๐Ÿ” icon, so you can visually tell the difference between one-off vs recurring subscriptions.

  • Make “Open your Stripe dashboard” button looks more like a button.


  • Accept old Stripe API keys (the vintage ones, not starting with sk_).
  • Performance: CashNotify will use a lot less CPU overall. It’s especially noticeable if you let CashNotify always run in the background (as it’s supposed to be).
  • “Display events” preferences are now saved and will be set on launch, instead of enabling everything by default.
  • Some accounts with a lots of events could timeout when being refreshed. We increased the timeout to 20s to help with this situation.
  • DMG image gets back a proper retina background.

Let us know what you think @CashNotify!


Jun 13, 2017



  • “Display Event Types” preferences were all disabled after upgrading to 2.2.0-beta. Woops.



  • Your past and incoming Stripe payouts are now displayed! We use the payout.created event, which is triggered a bit before the payout is actually paid. It’s almost instant for automatic payouts on US accounts, and can be up to a few days in other countries โ€” those are Stripe constraints. So technically speaking, they’re “expected payouts”, until they’ve been actually paid.



  • Increase timeout to 20s: accounts could get a timeout when requesting a lot of events from Stripe. This should help.


  • We forgot to save your “Display Event Types” preferences. That’s now fixed.


Jun 9, 2017


  • Big performance improvement: a nasty leak has been eradicated.


  • We can extend trial (once)


Jun 6, 2017


  • Accept old Stripe API keys (the vintage ones, not starting with sk_)
  • DMG image gets back a proper retina background
  • Make “Open your Stripe dashboard” button looks like a button


May 24, 2017
๐Ÿ”ฅ This is the official release of v2, yeah baby!

CashNotify will automatically prompt you to update to the latest version (v2.1.1) next time you launch it.


Here are the big new features since v1:

  • Multiple Stripe accounts support: view all your Stripe accounts in 1 single interface, including your TEST/LIVE accounts!

  • Add more context to each notifications, including plan name if it is about a subscription.

  • New UI, new icons.

  • New Preferences screen, with new filters: choose which notifications you want to display or hide (successful or failed payments).

  • Gracefully handle Internet connection / disconnection.

  • Lots of improvements and fixes, to make CashNotify more enjoyable

We hope you’ll like it :)

Features since v2.0.2-beta:

  • Add some emojis in the About tab. That’s very, very important.



  • New Preferences > Updates tab
  • New Preferences > About tab
  • Made it explicite that accounts are being refreshed automatically every minute.
  • Some pixel-level alignement fixes, which we’ll probably be the only ones to see. We feel better though.


  • Fix window not properly resizing on opening/closing Preferences.
  • Fix FOUC (Flash Of Unstyled Content) at app startup.
  • Fix content flickering when switching tabs in Preferences. This was due to some strange behavior of the scrollbar.


May 17, 2017


  • CashNotify gracefully handles internet connection / disconnection. It won’t try to test accounts / fetch events or plan names if not connected. Also, tray icon will be greyed out, like Dropbox =)



  • When clicking on a native notification, the list scrolls to the top to make sure the latest events are visible when the app opens.
  • Fetch events when opening the app, if fetched more than 12s ago.
  • Add a message explaining how to add a logo in a Stripe account, and give the option to import it in CashNotify once set.
  • On non-retina screens, tray icon was blurred because of too much details. Now the non-retina icon set features simplified icons, so everyone’s happy :)

  • Typos, move some prefs around, yeah yeah.

  • Use latest Stripe package + API.


  • A deleted account could still receive Events or Plan names.


May 9, 2017
Because of how the auto-updater has been fixed, the update server’s default behavior has changed.
If no /channel is provided, it now defaults to stable release โ€”ย it was beta before.

Because of that, versions anterior to 2.0.1-beta will NOT self-update.
You need to update manually.


  • “Show notifications” prefs is now enabled by default.
  • Removed redundant text from labels (like “New payment: …“)
  • Open the app’s window at launch if there’s no account set-up โ€” to help you get started.
  • Tooltip on accounts’ logos


  • Auto-updater’s infinite loop is fixed: it will not download the same version over and over.
  • Get existing license + read state from v1 if it exists
  • Trial banner can coexist pacifically with the wizard at launch.
  • Tooltips were broken when plan name was still loading
  • Font files were corrupted. Too bad, we fixed them.
  • Some wordings and typos here and there.


May 6, 2017
If you use multiple Stripe accounts (or even wish to view both LIVE and TEST accounts in the same view), you’ll be happy to try CashNotify v2.

It’s the same old CashNotify, giving you Stripe notifications on your Mac, now with a lot more power!



Try it now

For now this is a Beta, meaning that you have to opt-in to use it. And to do so, you just have to download the v2 beta, and install it over your current CashNotify app (sorry, the Beta option in v1 will not work).

The next v2 Beta updates will be downloaded automatically after that.

For people not willing to test the v2 Beta, don’t worry: as soon as we confirm it is stable, the v1 will auto-update to v2, for free.


Full changelog is too long ยฏ(ใƒ„)/ยฏ

However, the most noticeable things are:

  • same UI, a touch more modern.
  • new prefs screen, because we need more space for…
  • … the multiple Stripe accounts support!
  • a lot of under the hoods improvements. Without giving too much details, we rewrote most of the code using modern techs (React/Redux), which makes it a lot snappier for you, and far easier to evolve and maintain for us. ๐Ÿ˜€ ๐Ÿค


Mar 27, 2017
We’re hard at work on bringing you the most requested features. To get smoother updates out there, we intend to release small and often. Part of this process will involve optional updates, which we’ll call our Beta channel.

Starting from 1.0.1, you can opt-in to get Beta versions as part of your updates. We intend to ask for very specific feedbacks, so the setting is โ€” on purpose โ€” not easily visible.

Ask us @CashNotify to know how to enable Beta updates ;)


  • Auto-updater will only check stable channel by default.
  • A new option is added to opt-in to beta channel.


Mar 14, 2017
๐Ÿ”ฅ V1 is HOT!

CashNotify is now considered stable, and for the occasion is upgraded to v1!


  • In-app checkout has been removed, as there is an issue when checking out with Paypal from an in-app browser window. It has been replaced with links to online checkout.
  • The ‘Report an Issue’ link was useful while in Beta. It’s been removed.



Mar 8, 2017


  • App is signed with a valid Apple Developer ID โ€” ready to be shipped!
  • The “Go to dashboard” button redirects directly to the API Keys page when it’s not yet set
  • Enable some shortcuts to select which events (payments failed, success, etc.) should be fetched. For now, this pref is hidden behind a “Labs Features” menu accessible only when the License window is opened.


  • Fix default cursor on non-editable texts


Feb 28, 2017


  • Some users might prefer to use their default browser to checkout, rather than buying directly in-app. The checkout is now available from the website.
  • 3-letters currency codes (e.g. AUD, NZD, etc.) were making a mess in the transactions list. They’re way cooler now.



  • Update some wordings to be in line with what Stripe uses.

Thanks Pieter and Jesse for your feedbacks.


Feb 2, 2017


  • The registration window was always on top and not alt+table-able. This is now fixed.
  • When you checkout in-app (Thanks! ๐Ÿค—), your licence is now displayed immediately afterwards. No need to wait for this email (don’t worry, you’ll still receive the email).


  • The “Show notifications” preference did not take into account whether it was checked or not: it kept sending you notifications, as an over-zealous feature. I muzzled it, which means that you will no longer be disturbed if you have chosen to disable “Show notifications”.



Jan 27, 2017


  • Display a special tray icon when trial is expired.


Jan 27, 2017


  • Highlight unread items, so you know what’s new.
  • Add license management & trial. Checkout is also integrated within the app, so it’s possible to buy without leaving the app.


  • Add context-menu so it’s possible to copy/paste API key.
  • Add crash reporting.


  • App icon displays better, thanks to a white background where it’s hollowed.
  • Fix icon in menu bar, so it displays nice in dark mode / clicked.
  • Set a min/max size for main app window.


Jan 12, 2017

Big improvements on UI

  • new logo by Domitille Camus, used everywhere: icon, notifications, etc.
  • Updated (and retina!) DMG’s background
  • Add a cute mascot so there’s no plain blank page
  • The cute mascot will ask for API key if it’s not set (e.g. at first launch)
  • No more need to unfocus the API key field to validate it
  • Delete API key when field is emptied
  • Message when updating API key is clearer and better looking
  • If API key is valid, new events will immediately be fetched
  • Display a loading button when fetching new events


  • Open Stripe dashboard link in a browser window
  • App window is not draggable anymore
  • Change order of items in cog menu
  • Clean few things like Debug menu, build options for windows, etc.


Jan 9, 2017


  • Add an entry in the cog menu to report an issue (link to github new issue)


Jan 9, 2017


  • Remove useless “LIVE” badge on top of the window
  • Click on native notifications always open the app window (no more direct link to stripe dashboard)


Jan 9, 2017


  • Fix icons not displaying
  • โŒ˜+C / โŒ˜+V to copy/paste in input field now works
  • “Go to my Stripe dashboard” button now works