Best Invoicing Workflow for Solo Developer with International Clients

Use Wise as your primary payment account, invoice in your home currency with automated templates, and track everything in a single spreadsheet or Notion database. That combination handles currency conversion, minimizes fees, and keeps international tax documentation organized. This guide walks through the full invoicing workflow designed specifically for solo developers managing international client relationships.

The Core Challenge

International invoicing introduces complexity that domestic work avoids. You need to convert your rates into client currencies, handle VAT or GST registration in some regions, track which payments have cleared, and follow up on invoices across time zones. A disorganized approach means lost hours on administrative work and delayed payments that hurt your business operations.

The solution is building a systematic workflow that handles the variations while keeping your time investment minimal. This means standardizing your processes, using appropriate tools, and setting clear expectations with clients from the start.

Structuring Your Invoicing System

Client Information Collection

Before sending your first invoice, gather the necessary information from each client. International clients typically require:

Create a client intake form that captures this information. Store it in a consistent location, whether that’s a simple folder system or a dedicated CRM tool. You’ll reference this information for every invoice, so organizing it upfront saves repeated requests later.

## Client Information Template

- Client Name: [Company/Individual Name]
- Address: [Full registered address]
- Tax ID: [VAT/GST/Local tax number]
- Billing Currency: [USD/EUR/GBP/etc]
- Payment Terms: [Net 15/30/45/60]
- PO Number Required: [Yes/No]
- Notes: [Any special requirements]

Invoice Numbering System

Establish a clear invoice numbering convention from day one. A reliable system includes the year, month, and a sequential number:

INV-2026-0316-001

This format breaks down as: INV-[Year]-[MonthDay]-[Sequential]. It makes invoices easily sortable, prevents duplicates, and helps with year-end accounting when you need to locate specific documents.

Never reuse invoice numbers. If you delete a draft invoice, skip that number rather than reassigning it. Your accounting software or tax records depend on this sequence being intact.

Currency and Payment Strategy

Setting Your Base Currency

Most solo developers work in their home currency as the base. If you’re based in the United States, USD makes sense. European developers might choose EUR. The key is deciding whether to invoice clients in your base currency or their local currency.

Invoicing in your base currency simplifies your accounting significantly. You record revenue in one currency, making tax reporting straightforward. The downside is your clients bear the currency conversion risk, which can frustrate some clients, especially when exchange rates fluctuate significantly between invoicing and payment.

Invoicing in client currencies removes that concern for them, but you accept the conversion risk. This works when you have systems to track exchange rates and understand the tax implications in each client’s jurisdiction.

Handling Payment Methods

For international clients, consider which payment methods you’ll accept:

Bank transfers (SWIFT/SEPA) work globally but involve fees, typically $15–30 per international transfer. These fees may be split with clients or absorbed into your pricing. Include your full bank details clearly on invoices, including SWIFT/BIC codes for international wires.

PayPal avoids currency conversion headaches but charges 4–4.5% plus fixed fees, making it acceptable for smaller invoices where the convenience justifies the cost. Wise (formerly TransferWise) offers mid-market exchange rates and lower fees than traditional banks, and many freelancers now use it as their primary business account for international work.

Cryptocurrency works for some clients, particularly in tech. Accepting stablecoins avoids volatility and allows conversion to fiat when needed.

Document your accepted payment methods in your initial client agreement and on every invoice to prevent confusion.

Automating the Workflow

Invoice Generation Process

Rather than creating invoices from scratch each time, build templates in your chosen tool. Most solo developers use either dedicated invoicing software or simple document templates.

For developers comfortable with command-line tools, generating invoices from markdown files provides maximum customization:

#!/usr/bin/env python3
import datetime
import json

def generate_invoice(client_data, items, invoice_num):
    date = datetime.date.today()
    
    invoice = f"""# INVOICE
    
**Invoice Number:** {invoice_num}
**Date:** {date}
**Due Date:** {date + datetime.timedelta(days=30)}

---

**Bill To:**
{client_data['name']}
{client_data['address']}

---

| Description | Quantity | Rate | Amount |
|-------------|-----------|------|--------|
"""
    
    for item in items:
        invoice += f"| {item['desc']} | {item['qty']} | ${item['rate']} | ${item['qty'] * item['rate']} |\n"
    
    total = sum(item['qty'] * item['rate'] for item in items)
    invoice += f"""
---
**Total:** ${total}

Payment due within 30 days.
"""
    
    return invoice

# Example usage
client = {
    "name": "Acme Corp International",
    "address": "123 Business Ave, London, UK"
}

items = [
    {"desc": "API Integration Development", "qty": 20, "rate": 150},
    {"desc": "Documentation", "qty": 5, "rate": 100}
]

print(generate_invoice(client, items, "INV-2026-0316-001"))

This approach lets you version-control your invoices alongside your code, and it generates consistent output every time.

Payment Tracking System

Create a simple tracking system to monitor invoice status. A spreadsheet or Notion database works well for solo practices:

Invoice # Client Amount Currency Sent Due Paid Notes
INV-2026-0316-001 Acme Corp 3500 USD Mar 16 Apr 15 - Follow up Apr 1

Update this tracker every time you send an invoice or receive payment. Set calendar reminders for follow-ups before invoices become overdue.

Tax Considerations for International Work

International invoicing triggers tax obligations that vary by jurisdiction. The rules are complex, but three regions require attention.

In the European Union, VAT applies if you sell services to EU clients. Services to business clients in other EU countries are generally VAT-exempt under the reverse charge mechanism, but you may need to register if you provide services to consumers in other EU countries. Australia, New Zealand, and Canada have similar GST rules—you may need to register once your sales to that country exceed their threshold, even without a physical presence. For US clients, most digital services are not subject to sales tax, but rules vary by state.

For most solo developers, using an accountant familiar with international tax treaties provides the safest approach. They can advise on registration requirements and help you collect the correct tax information from clients.

Client Communication Templates

Set expectations early with clear communication about your invoicing process:

Payment Terms Statement:

Payment is due within 30 days of invoice date. For international payments, please account for processing time and transfer fees. Late payments incur a 1.5% monthly finance charge.

Invoice Follow-Up:

Hi [Name], I wanted to follow up on invoice #[number] for [amount], which was due on [date]. Please let me know if you need any additional information or if there are any issues with processing this payment.

Keep communications professional but firm. Consistent follow-up on overdue invoices is essential for maintaining healthy cash flow.

Final Recommendations

Consistent invoice numbering, organized client records, and a centralized payment tracker are the foundation. Clarify payment terms before starting work, and consult a tax professional about your specific situation—tax rules vary significantly based on your home country, client locations, and the nature of your services.

Built by theluckystrike — More at zovo.one