A money report lands in your hub each month, and tickets can send payments
A money report, every month
- Connect Mercury with a read only token and pick the hub the report lands in. On the 2nd of each month last month's report arrives as a note, with a short message in the hub. Need it now? "Write last month's report". Want the month in progress? "This month so far".
- The top of the report is one table. Money out, money in, net, net revenue, cash and runway, each next to last month.
- Then Needs attention. Runway under three months, the same amount paid twice to the same vendor, a recurring charge that went up more than 5 percent, spend with no receipt, transactions still pending. If there is nothing, it says so.
- The detail is all tables. Spend by category, top vendors, recurring charges with the annual figure, vendors that were not there the previous two months, and spend missing receipts with a link straight to the Mercury transaction.
- An Excel workbook for your accountant is attached to the same message. Summary, Transactions, Missing receipts, Categories, Recurring and Stripe sheets. Card payments excluded from the totals are not deleted, they are greyed out as "Not counted", so the accountant can still reconcile against the statement.
- AI does not write the numbers. Code runs from the transactions to the totals, and the report says at the bottom how it counted.
Add Stripe and you get revenue and runway
- Put a read only restricted key in the Stripe card. Full access keys that could move money are refused. The only permission needed is Balance read.
- The report gains gross revenue, refunds, disputes, Stripe fees, net revenue and bank payouts. Payouts already appear in Mercury's money in, so they are not counted twice.
- Runway is how many months the balance lasts at the average net burn of the last three months. If cash is growing, it says that instead.
- Only USD is summed. Other currencies are reported as a count, because we do not get to pick the exchange rate.
- If Stripe cannot be read the bank report still goes out, with one line saying why.
Send money from a ticket
- Tickets now carry a transfer. Request it, get it approved in Markhub, and the request goes to Mercury. When it clears, the card shows Paid and the tracking number.
- You can only pick a recipient already active in Mercury. Only the last four digits of the account are shown. The name on screen is not trusted, it is checked against Mercury again right before sending.
- Methods are ACH, domestic wire, international wire and check. Only the methods that vendor can actually receive are offered. Wires ask what the payment is for, international wires ask who pays the fees, and both the form and the approval say a wire cannot be pulled back once Mercury sends it.
- Approval is by a named approver or by an owner or admin. By default you cannot approve your own request. For one person companies there is a setting that allows it.
- Mercury's own admin approval still sits in front of the money leaving. Removing that second layer is a setting called send without Mercury approval, and it is off by default.
- If it fails, the reason from Mercury is shown as it came, and the same request can be sent again. Once it is with Mercury, it can no longer be cancelled from Markhub.
What we held to while handling money
- Two separate tokens. Read only for the report, a payments token for transfers. Both encrypted, neither returned by any read.
- Account numbers, routing numbers and tax IDs are never stored or logged.
- Mercury always sends the money. Markhub only files the request.
- Only owners and admins can connect or change settings, and the report hub can only be one they are in.
Worth knowing
- A sandbox token shows up as Test mode on the card and in the report.
- If the report hub is deleted the report stops and the card says why.
- International wires cannot use send without Mercury approval.