An agency retains a client for $5,000/month. Mid-month, they complete a one-off project scope for $8,000 and log 12 hours of emergency support at $150/hour. When it's time to invoice, the temptation is to dump all three onto a single line and let the accountant sort it. That approach costs time, creates disputes, and breaks tax compliance if one item is exempt and another isn't. Mixed billing—retainer plus project plus hourly—is common in agencies, consultancies, and managed services. But most invoicing tools treat it as an edge case. The result: manual line edits, proration errors, tax miscalculations, and payment term confusion when services span different calendars. This guide lays out the design that prevents those problems and names the platforms that actually enforce it. Why mixed billing breaks most invoices The first rule of invoicing is clarity. A client should see exactly what they paid for, when, and why. Mixed billing fails because it violates that rule in four ways: Timing misalignment: A retainer covers a calendar month. A project ends mid-month. Hourly work spans the entire month. When all three land on one invoice, the client doesn't know which applies to which period. Tax rate mismatch: In most jurisdictions, retainers and project fees are taxable at standard rate. But emergency support might be taxed differently, or exempt entirely. Bundling them obscures the calculation. Payment term confusion: A retainer might be due on the 1st of the month. A project completion invoice might have net-30 terms. Hourly work might be billed weekly. If they all ship together, which payment term wins? Accounting reconciliation: The accountant receives one invoice total, but your CRM shows three separate revenue streams. Line items don't match GL codes. Reconciliation takes hours. The fix is a simple design rule: one invoice, separate line items by billing type, with explicit dates and tax codes for each. The line item structure that works Here's a concrete example. A digital agency invoices a SaaS client on the 15th of each month: Line 1 – Retainer: Monthly retainer (5 hours/week management + support), June 1–30, $5,000, Tax: Standard (10%), GL Code: Revenue – Retainer Services Line 2 – Project: Q3 UI overhaul (completed June 10), $8,000, Tax: Standard (10%), GL Code: Revenue – Project Fees Line 3 – Hourly: Emergency support calls and fixes, June 1–15, 12 hours @ $150/hr, $1,800, Tax: Exempt, GL Code: Revenue – Support (if applicable in your jurisdiction) Invoice total: $14,800 + $1,400 tax = $16,200 Each line item specifies: Service description (what was delivered) Period covered (retainers) or completion date (projects) or date range (hourly) Rate or total amount Tax code (standard, exempt, reverse-charge if B2B across borders) GL/revenue code (for accounting reconciliation) This structure ensures the accountant can post each line to the correct GL account, and the client sees a clear breakdown of what they owe and why. Proration rules for mid-month changes Retainers rarely run clean calendar months. A client signs on June 10. The retainer is $5,000/month. You owe them a prorated amount for June 10–30 (21 days out of 30), which is $3,500. On the next invoice (July), you charge the full $5,000. The rule: Always show the proration math on the invoice. Not as a separate line, but in the description: Monthly retainer: $5,000 × (21 days / 30 days) = $3,500 This is especially important if your client disputes the charge. They can see the calculation immediately. For hourly work, proration is simpler: log the exact hours worked, multiply by the rate, and invoice. But if you're mid-project and need to stop early, show the billable hours and the reason: Project design work: 18 hours @ $120/hr = $2,160 (scope reduced, 6 hours removed per client request June 8) Projects themselves rarely need proration unless scope changes mid-way. If they do, document the change order separately before invoicing. Tax handling per line item This is where manual invoicing falls apart and where software makes all the difference. Assume your client is in Malaysia, and you're in Singapore. The retainer and project fee are B2B, so they reverse-charge: 0% tax on your invoice. The hourly support is also B2B, but in some jurisdictions it's treated as a service and may have a different tax code. Each line item must carry its own tax rate: Retainer: 0% (B2B cross-border, reverse-charge) Project: 0% (B2B cross-border, reverse-charge) Hourly: 0% (if also B2B and reverse-charge applies) But if the client is a consumer or a local entity, the rates change: Retainer: 8% (standard GST in Singapore) Project: 8% (standard GST) Hourly: 8% (standard GST) Or, if hourly support is exempt (as it might be in some jurisdictions for certain service categories): Retainer: 8% Project: 8% Hourly: 0% (exempt) The math then becomes: Retainer: $5,000 + (8% × $5,000) = $5,400 Project: $8,000 + (8% × $8,000) = $8,640 Hourly: $1,800 + 0% = $1,800 Total: $15,840 Key rul