Ami AI Review: $250 for 200 Contacts, Worth the Risk?
A freelance developer who takes one $8,000 project from a client in Germany can lose $200 or more to wire fees and currency conversion before the money even clears. Multiply that by four or five international clients a year, and a bad bank choice quietly costs more than a laptop upgrade.
At The Dollar Craft, our team spent weeks testing checking accounts against a specific use case: a solo web developer billing through Stripe, invoicing through GitHub Sponsors or Upwork, and paying quarterly estimated taxes with the IRS. Most banking guides ignore this profile entirely. This one does not.
A regional bank's small business checking account was built for a landscaping company or a local bakery. Freelance web developers have different plumbing.
Developers routinely bill clients in the UK, Canada, Australia, or the EU. A traditional bank charges $25 to $45 per incoming international wire, and the exchange rate markup often runs 3% to 4% above the mid-market rate. On a $5,000 invoice, that is $150 to $200 gone before you see it.
Freelance developers already live inside Stripe, GitHub, and PayPal. A bank that cannot connect cleanly to Stripe Payouts or sync transactions into QuickBooks or Xero forces manual reconciliation every month. That is hours lost to spreadsheet work instead of billable code.
The IRS requires most self-employed workers, including freelance developers, to pay estimated taxes four times a year using Form 1040-ES. For the current year, the due dates are April 15, June 15, September 15, and January 15 of the following year. Missing a deadline triggers an underpayment penalty calculated at the federal short-term rate plus three percentage points, reset quarterly by the IRS.
A generic checking account does nothing to help you set that money aside. It just sits in one pool with your rent money and your grocery budget, which is exactly how freelancers end up short in April.
We narrowed the field to three accounts that consistently came up in our testing and in direct feedback from developer communities: Novo, Mercury, and Relay Financial.
Novo is built for solo operators who have not yet formed an LLC. It accepts sole proprietors using just a Social Security number, charges no monthly fee, and requires no minimum balance. Novo refunds up to $7 per month in third-party ATM fees and includes free invoicing you can send directly from the dashboard, accepting payment by ACH, Venmo, or PayPal.
For developers, the real value is in the integrations. Novo connects directly to Stripe, Shopify, QuickBooks, and Xero, which matters if you build e-commerce sites and get paid through the same platforms your clients use. The tradeoff: domestic wire transfers are still in limited rollout, and Novo does not accept cash deposits at all.
Mercury requires a registered business entity, an LLC or a corporation, so a developer working as an unregistered sole proprietor cannot open one. Once you clear that bar, Mercury offers no monthly fee, free domestic USD wires, and free international USD wires with a flat $15 option to cover recipient bank fees. Non-USD wires carry a 1% conversion fee, and non-USD card transactions carry a 3% foreign transaction fee.
Mercury's developer-facing features stand out here. It offers a documented API for account data and payment automation, and it syncs with GitHub-adjacent tools through its broader software ecosystem, along with QuickBooks Online, Xero, and NetSuite. FDIC coverage extends up to $5 million through Mercury's multi-bank sweep network, useful if you carry a large reserve between projects. The downside is no cash deposit option and a $35 monthly fee if you need the Plus or Pro tier for advanced treasury features.
Relay's defining feature is sub-accounts. A sole proprietor can open up to 10 individual checking accounts under one login, and an LLC or corporation can open up to 20. Each sub-account carries its own account and routing number. For a developer trying to separate operating cash, a tax reserve, and savings for slow months, this structure does the sorting automatically instead of relying on memory.
Relay charges no monthly fee on the Starter plan and no minimum balance. Relay Pro, at roughly $30 a month, adds fee-free wire transfers and more advanced accounts payable tools. Savings sub-accounts earn up to 3% APY depending on balance tier. Relay accepts sole proprietors with an EIN, single-member LLCs, multi-member LLCs, and corporations, which makes it flexible across different stages of a freelance developer's business.
| Feature | Novo | Mercury | Relay Financial |
|---|---|---|---|
| Accepts sole proprietors | Yes | No, entity required | Yes, with EIN |
| Monthly fee | $0 | $0 (Plus/Pro $35) | $0 (Pro ~$30) |
| International wires | Limited, in beta | Free USD, 1% non-USD conversion | Free on Pro plan |
| Sub-accounts for tax reserves | No | Limited | Up to 20 |
| Cash deposits | Not supported | Not supported | Not supported |
| Key integrations | Stripe, Shopify, QuickBooks, Xero | API access, QuickBooks, Xero, NetSuite | QuickBooks, Xero, Bill Pay |
None of the three accepts cash deposits, which rarely matters for a developer paid through Stripe or wire transfer, but it is worth knowing before you open one.
Once the account is open, the harder problem is discipline. Here is the framework our team uses with freelance developer clients.
Pull your last six months of actual deposits, not invoiced amounts. Add them together and divide by six. A developer earning $9,500, $4,200, $12,000, $3,800, $7,600, and $5,900 over six months totals $43,000, for a rolling average of $7,166 per month. Budget fixed costs against that number, not against whichever invoice cleared last.
The moment a client payment lands, route 25% to 30% of it into a dedicated sub-account before you touch the rest. Relay's sub-accounts handle this natively. On Novo or Mercury, you can approximate it with a linked high-yield savings account and a standing transfer rule tied to each deposit.
Check your tax sub-account balance against the 1040-ES calendar. If you have set aside 25% to 30% of income consistently, the quarterly payment should already be sitting there instead of requiring a scramble.
The IRS generally waives the underpayment penalty if you pay at least 90% of your current year tax liability, or 100% of your prior year liability (110% if your prior year adjusted gross income exceeded $150,000). If your income is growing fast, basing payments on last year's tax return, adjusted upward, is often simpler and safer than estimating current year income from scratch.
Landing a long-term retainer client or losing your biggest account changes your real income floor. When that happens, restart your rolling average using only the months since the change, even if that leaves you with just two or three data points for a while.
4 Budgeting Apps That Fix Freelance Tax Chaos in 2026-27
Click Here to ReadIt is not legally required for sole proprietors, but it makes tax season dramatically easier. Mixing business and personal transactions in one account makes it harder to prove deductible expenses and increases audit risk if the IRS ever asks for documentation.
Mercury generally handles international USD wires most cheaply, with no fee for standard wires and a flat $15 option to guarantee full delivery. If clients pay in foreign currency rather than USD, expect a 1% conversion fee regardless of which of these three accounts you choose.
Yes. Novo and Relay both accept sole proprietors, Novo with just a Social Security number and Relay with an EIN. Mercury requires a formed LLC or corporation before you can open an account.
Most tax professionals suggest 25% to 30% of gross freelance income, adjusted upward if you are in a high tax state or your income has grown significantly compared to last year's return.
You do not lose the ability to file, but the IRS applies an underpayment penalty calculated as interest on the unpaid amount from the missed due date, at a rate that resets quarterly. Paying late is always better than not paying at all, since the penalty compounds the longer the balance goes unpaid.
Comments
Post a Comment