Quick Answer
Define the release and acceptance tests, estimate all delivery work and costs, add a justified risk allowance and calculate the fee from your target margin. Agree advances or milestone invoice events, client dependencies, changes and handoff. Use paid discovery or capped time-and-materials when uncertainty prevents a defensible fixed fee.
Key Takeaways
- Define the MVP’s core user action, release boundaries, exclusions and measurable acceptance tests.
- Estimate discovery, build, QA, communication, deployment and handoff; use margin rather than confusing it with markup.
- Agree actual advance, calendar or milestone billing events, with due dates and authorized reviewers.
- Distinguish in-scope defect correction from additional work and approve price/schedule changes before implementation.
- Record IP/licensing, data roles and real provider/tax dependencies without assigning every legal duty to the developer.
- Track collected invoices and accessible bank funds separately; use lawful notice/cure terms for any suspension.
Build a SaaS MVP Quote From Scope, Cost and Payment Terms#
If you want to protect margin, treat your quote as a risk decision, not a market-average guess. The headline number matters less than the assumptions and scope boundary underneath it.
Clients use “MVP” for different deliverables: a clickable prototype, a working no-code product or a custom-coded release. Define the user action being tested, what must work at launch and the delivery constraints. A broad online development-cost range cannot tell you whether your quote includes data migration, roles, integrations, security checks or support.
| Source type | Usual assumption | Hidden scope risk | Decision usefulness |
|---|---|---|---|
| Broad cost summaries | "MVP" is one category | Mixes prototypes, no-code builds, and custom products into one bucket | Good for context, weak for quoting |
| Design-first examples | Validation happens through screens and user feedback | Can omit functional build work needed for launch | Useful if the client only needs learning, not launch |
| No-code examples | Speed matters more than custom logic or scale | Limits around scalability and complex logic may be ignored in early talks | Useful when the goal is fast validation |
| Custom build case studies | The product needs tailored logic and future growth room | Can hide the depth of engineering effort required over time | Useful when the client needs real product foundations |
Define the Delivery and Price#
Name the product type and validation goal before you talk about price. A concrete SaaS MVP can be as narrow as user registration, a basic dashboard, and one core function. That single sentence does real work because it tells the client what they are buying, what is not included, and what "done" means.
| Product type | What it means here | Useful when |
|---|---|---|
| Prototype/Wireframe | Looks real but is mostly a design exercise | The client only needs learning, not launch |
| No-code MVP | Working validation flow within the chosen platform’s capabilities and limits | The goal fits those capabilities and operating costs |
| Custom-coded MVP | Implemented code and documented deployment constraints; ownership/licensing agreed separately | Required logic or integration needs justify a custom build |
Start the proposal this way: put the deliverable label in the first scope block. State whether you are pricing a Prototype/Wireframe, a No-Code MVP, or a Custom-Coded MVP, then tie that label to a short list of included outcomes. Before you add any price, confirm one checkpoint with the client. Ask: "Are we validating a core business hypothesis with real users, or just testing concept and UX?" Similar budgets can produce very different outcomes when that answer is fuzzy.
Define Billing and Change Approval#
Once the product type is clear, decide how scope changes affect price and timeline. A generic quote says "dashboard, auth, billing, admin panel" and leaves the rest to interpretation. A terms-based quote can define milestone completion and what triggers a priced scope change.
Here is the failure mode to avoid. You reach a milestone and the client asks for "one more workflow" before approval. With a generic quote, teams often absorb the extra work to keep momentum, then renegotiate later. With clear scope boundaries and a change trigger, you can either close the current milestone as defined or price the added workflow separately before continuing. That does not make the conversation cold. It makes it clear.
Start with a rate floor that covers your capacity and operating costs, then estimate the project against that floor. Use How to Calculate a Freelance Rate to establish the inputs; the calculation below turns them into a scoped quote.
What does pricing a SaaS MVP project actually include?#
Your quote should price the delivery system, not just coding time: the outcome, scope boundaries, review checkpoints, and the documents that control sensitive work.
- Fixed fee: one agreed price for a bounded release, with a defined change procedure.
- Hourly or capped time-and-materials: paid discovery or delivery within an agreed review/cap process when requirements remain uncertain.
- SOW: core features, exclusions, dependencies, testing, acceptance and responsibilities.
- Confidentiality: an NDA or appropriate contract terms where sensitive information will be shared.
- Personal data: identify controller/processor roles and required contract terms; a DPA is not universally needed merely because any personal data exists.
| Quote component | Required artifact | Owner responsibility | Failure it prevents |
|---|---|---|---|
| Core MVP scope | SOW listing essential features only (for example, basic login/signup and one core workflow) | You draft; client confirms it matches the validation goal | "MVP" expanding into full-product scope |
| Assumptions and exclusions | Written dependency list, non-core integration exclusions, deferred items | You document boundaries; client confirms inputs they provide | Mid-project surprise work and retesting |
| Pricing model | Quote terms stating fixed fee or hourly billing | You select model based on uncertainty; client approves | Fixed-fee commitments on moving-target discovery |
| Acceptance checkpoints | Milestone review criteria tied to agreed outcomes | Client reviews against agreed scope; you track completion status | Approval/payment delays from vague "done" definitions |
| Sensitive-data handling | NDA and, when needed, DPA | Both sides review before sensitive access starts | Unplanned compliance/process work absorbed into base fee |
When requests expand scope, use a simple change path: confirm whether the current milestone meets agreed acceptance, log the new request as a change order, then reprice before extra work starts.
Fixed pricing fits a bounded outcome with known dependencies and acceptance tests. Hourly or capped time-and-materials can suit paid discovery and uncertain integrations. A cap needs an explicit stop/review point rather than an implied promise to finish unlimited work for that amount.
Why do SaaS MVP quotes vary so much even for similar ideas?#
If you only compare headline totals, you are comparing different assumptions. In practice, quote variance usually comes from three drivers: delivery scope, execution burden, and commercial risk.
Compare proposals by included obligations rather than a broad development-cost range. A prototype estimate is not interchangeable with a production-ready release that includes integrations, access controls, testing and support. Use the same scope and acceptance matrix for each quote.
| Quote source | Usually included | Usually excluded or deferred | Risk you carry |
|---|---|---|---|
| Lean freelancer or no-code style quote | Web-only MVP, basic login/signup, one core validation flow | Mobile app, complex integrations, deeper scale work | Product depth and scalability tradeoffs |
| Scoped fixed-price quote | Defined scope and deliverables in the SOW, clearer budget predictability | Work not explicitly written into scope, added workflows, added integrations | Change pressure when assumptions shift outside scope |
| Hourly discovery-led quote | Time-based delivery, flexibility as requirements change | Total budget certainty | Budget unpredictability as scope evolves |
Use the same audit method on every quote:
- Delivery scope: confirm exactly what the MVP includes (for example, basic auth, web-only vs mobile deferred, and the core action being validated).
- Execution burden: check what build-and-test load is assumed, especially integrations (payments, analytics, CRM syncing) and QA depth.
- Commercial risk: confirm who absorbs uncertainty. Fixed-price is more budget-predictable when scope is stable; hourly is budget-unpredictable but fits moving requirements.
A quick "same idea, different assumptions" test: two quotes both say "customer portal MVP." One assumes web-only, login/signup, one core flow, and basic QA at launch. The other assumes CRM integration, broader testing, and post-launch issue support. Same label, different obligations, different price behavior.
Review included user actions, exclusions, testing, security/access boundaries, handoff and post-launch support line by line. Ask each bidder to identify assumptions and client dependencies so the totals can be compared against the same release.
How should freelancers build a risk-first price architecture?#
Build your quote as a three-tier risk model with explicit entry criteria, SOW boundaries, and escalation triggers. Keep prototype, functional MVP, and integration-heavy/custom-coded work separate, because they are priced and scoped differently. A practical checkpoint is simple: if users are expected to sign up, interact, and pay, you are no longer pricing only a wireframe or prototype exercise.
| Tier | Enter here when | Scope boundary in SOW | Main risk owner | Change-order likelihood |
|---|---|---|---|---|
| Validation build | One core user path, limited unknowns, no critical external dependencies | Functional MVP for one essential user action; prototype work listed separately | You own estimation inside written scope; client owns late inputs and added asks | Low if scope stays narrow |
| Expanded MVP | More depth is needed across roles, screens, or QA, while core dependencies are known | Broader testing and secondary paths; mobile, major integrations, and compliance tasks excluded unless named | Risk is shared across estimation and client-side approvals/access | Medium |
| Integration or custom build | Third-party APIs, compliance-sensitive flows, or custom logic are required for launch | Custom-coded or dependency-heavy release with explicit checkpoints and assumptions | Dependencies allocated in writing; discovery clarifies what each party can control | High |
A no-code product can still have complex logic and operational requirements; a custom-coded release is not automatically scalable. Reprice only when the agreed requirements or assumptions change, using a written scope change, rather than applying a tier surcharge because of the technology label.
Keep cost lines in three buckets: direct costs, indirect costs, and an uncertainty buffer. Explain the basis for each estimate using the relevant deliverable, dependency or review activity:
- a named SOW deliverable
- a dependency (for example API access, data, or client content)
- an approval gate (for example wireframe signoff or milestone acceptance)
Include discovery, QA, communication, release preparation and handoff in the estimate. Overhead and risk allowance may be distributed across the price rather than separately billed, but keep your internal calculation clear so a discount has a visible margin effect.
Agree the commercial terms and have jurisdiction-specific clauses reviewed where needed. “Standard clause” is not a universal rule for liability, IP or payment rights:
- Liability and indemnity: identify covered losses and third-party claims, caps and applicable exceptions with appropriate local review.
- IP and handoff: distinguish existing libraries, client material, third-party/open-source licenses and the rights granted in new deliverables; custom code does not automatically transfer copyright.
- Delay and suspension: specify actual notice/cure conditions, client dependencies, schedule changes and any force-majeure clause.
- Acceptance: define test cases, permitted defect correction, authorized reviewer and the process for disputed or late responses.
Worked Estimate: Cost, Margin and Milestone Invoices#
Illustrative quote for a web-only release: 35 hours discovery/design, 120 core build, 40 QA/security checks, 20 deployment/handoff and 25 project communication total 240 hours. Assume your fully allocated internal delivery cost is $60 per hour: $14,400. Add $1,000 of agreed project-specific expenses and a $2,100 risk allowance for identified uncertainty, giving a $17,500 cost budget. For a 30% delivery margin, price is $17,500 ÷ (1 − 0.30) = $25,000, before applicable tax. Adding 30% to cost would instead produce $22,750 and about 23.1% margin. These are illustrative assumptions, not market rates or guaranteed profit.
| Billing event | Share of $25,000 fee | Invoice condition |
|---|---|---|
| Agreed advance before work | 50% = $12,500 | Signed scope and specified advance date; no delivery acceptance yet |
| Core-flow milestone | 30% = $7,500 | Agreed test cases pass and authorized review records acceptance |
| Release/handoff milestone | 20% = $5,000 | Agreed release and handoff acceptance; support billed separately if excluded |
If actual delivery reaches 290 hours at the same $60 cost and expenses remain $1,000, actual cost is $18,400 and delivery margin on the $25,000 fee is 26.4%. Do not add the original risk allowance again as if it were an extra cash expense. Track the cost forecast during delivery. A genuinely new workflow estimated at 24 hours adds $1,440 internal cost; at the same 30% margin it suggests about $2,057.14 before other expenses or tax. Agree its actual price and schedule before implementation. Fixing a failure to meet the original acceptance tests follows the original defect terms rather than becoming a chargeable scope change.
For the milestone example, include test cases such as: an invited user can join the correct workspace; a user cannot read another customer’s records; the agreed core action completes and reports a clear failure when a required dependency is unavailable. Name the test environment, supported browsers/roles and representative data. If billing is in scope, simulate successful, failed and duplicate/out-of-order payment events in the provider-approved sandbox, keeping test data and keys separate from live systems.
When scope moves, use the same operating sequence every time:
- Compare the request with the signed scope and acceptance tests; correct an in-scope defect under the agreed terms rather than charging for it as new scope.
- Write the additional scope, price, dependencies and schedule impact.
- Obtain the authorized approval required by the agreement before extra work.
- Update the affected acceptance tests and billing schedule while preserving the agreed baseline.
The SOW generator can help organize the defined release. For another delivery estimate, see How to Price Webflow Development Services. Use the invoice generator for the actual agreed billing event.
How do you protect cashflow before writing a single line of code?#
Keep profit, invoiced revenue, collections and accessible cash distinct. A hypothetical month with $12,000 invoiced, $6,000 collected into an accessible account and $4,500 paid out has $1,500 net cash movement, before other flows. The $6,000 still unpaid is not spendable; recognition of the invoiced revenue depends on your accounting method. A provider-held collection can leave accessible bank cash lower still.
| Control | What must be written before kickoff | Failure mode prevented |
|---|---|---|
| Billing trigger | Agreed advance, calendar charge or objectively defined milestone; due date and currency | No ambiguity about when an invoice can be issued |
| Acceptance | Named reviewer, objective tests, response period and defect/change procedure | Review cannot silently expand the release |
| Suspension | Actual contractual notice/cure and dependency-delay rights | A slow response is not automatically permission to stop |
| Restart | Resolution evidence and agreed revised schedule | No restart on an unexplained payment or approval status |
Use the SOW as an operational readiness gate, not a scope summary. Before you start, confirm in writing that scope is estimable, milestone acceptance has a named owner, invoice timing is tied to a defined trigger, and the client has identified who can approve milestones. If that approver is unclear, stop before kickoff. Keep a checklist or spreadsheet of anticipated one-time expenses required before significant revenue so setup costs do not quietly erode margin.
Choose governing law and a workable dispute path; arbitration is an option to assess, not a clause every MVP must use. For missed payment, verify the invoice and collection status, give the agreed notice and observe any cure period before exercising a contractual suspension right. Record the rescheduled restart in writing. A client-paid collection held by the provider is a different issue from client non-payment.
What changes when the client is cross-border or compliance-heavy?#
When work is cross-border or compliance-heavy, your fixed fee is an operating-risk plan, not just a build estimate. Before you quote, confirm who owns each dependency that can block launch or payout, because code can be done while approvals are still stuck.
A payments or regulated-onboarding feature may depend on the client’s provider account and required compliance review. Determine which product features you are implementing and which regulated decisions remain with the client or provider. Do not promise a universal KYC review time or take on legal approval simply because you are building an interface.
| Scope area | What you must define now | What breaks if undefined |
|---|---|---|
| Provider onboarding | Actual regulated party, document collector, account owner and supported integration scope | Approval timing and eligibility are not developer guarantees |
| Tax documents | Applicable law/provider requirement, responsible party and restricted channel | Client requests and mandatory duties are not automatically billable extras |
| VAT | Actual supplier/customer status, establishments and service classification | Invoice tax code cannot be copied solely from payer country |
| Personal data | Controller/processor roles, contract terms, access and subprocessor permissions | Data access requires the appropriate safeguards before real records are used |
Use a pre-price sequence#
| Step | What to do | Focus |
|---|---|---|
| Confirm actual intake | Client entity, user/data locations, intended service and any provider or regulated workflow | Identify applicable requirements without assuming all MVPs need KYC or suitability checks |
| Assign document ownership | Name the owner for KYC/KYB/AML steps, tax docs, VAT assumptions, and DPA flow | Document ownership |
| Record jurisdiction assumptions | Record assumptions that require local verification before pricing is final | Jurisdiction assumptions |
| Add contract carve-outs | Tie client-side reviews, forms, and approvals to pause rights, timeline extensions, and change-order terms | Contract carve-outs |
Run that sequence in order.
Trace the path from signature to the first usable release. Document entity, account-access, data-protection and provider-onboarding dependencies that actually apply. If a dependency cannot be resolved yet, quote a bounded discovery phase or make the build’s price and dates conditional on specified facts, instead of silently guaranteeing the launch.
Price implementation, migration and supported compliance-workflow features that you actually undertake. The client or provider owns its legal review and account approval unless a valid agreement assigns a defined role. Put unresolved dependencies into assumptions, decision dates and change terms.
Turn your quote into an operational payment workflow clients can trust#
After quote approval, convert every commercial term into an operational control with a named owner and a failure action. If you cannot name the trigger, owner, and fallback, your fixed fee is still a guess.
Before work starts, align the signed scope, release schedule, acceptance tests and actual billing schedule. Identify the product approver and the client’s Accounts Payable or billing contact. An agreed advance or calendar-based retainer can be billed before delivery; milestone acceptance controls only the invoices whose agreed trigger depends on it.
| Quote term | Operational step | Owner | Failure action |
|---|---|---|---|
| Advance or milestone | Issue at the agreed billing event; acceptance only when that is the trigger | Developer and authorized client billing/approval contacts | Resolve material ambiguity without inventing a universal acceptance gate |
| Invoice lifecycle | Track issued, due, partially collected, fully collected or corrected status | Developer or finance owner | Suppress duplicate collection requests; follow up actual outstanding balance |
| Collection | Capture amount, currency, fees and payment/provider reference | Client payer and finance owner | Investigate unmatched or unknown status before retrying |
| Bank availability | Reconcile settlement and any reserve/hold separately from invoice collection | Finance reviewer | Do not treat held funds as spendable or chase an already paid client |
| Exception | Log duplicate/late events, failed notifications and missing references | Integration owner | Confirm current source state and supported retry behavior before another effect |
Choose modules by risk signal#
If the MVP must attribute receipts across entities or prepare approved multi-party payouts, include that workflow explicitly in the estimate. Evaluate the selected provider’s virtual-account or payout-batch capabilities against actual eligibility, permissions, available-funds rules and reporting. A product label alone does not establish those capabilities or remove regulatory duties.
Build the controls into implementation#
Treat these as build requirements in your integration spec:
| Control | Requirement |
|---|---|
| Authorization and policy | Use the actual agreement, payment authority and provider eligibility; distinguish advance from delivery acceptance |
| Status visibility | Keep invoice collection, provider payment/payout state and bank availability separate, with owner and next action |
| Audit trail | Link scope version, invoice, payment references, corrections and handoff; restrict personal and tax data |
| Retry controls | Use stable operation references, atomic duplicate handling and provider-supported keys; confirm unknown outcomes before another payment |
| Webhook/testing | Verify signatures, tolerate duplicate/out-of-order events and test simulated cases in approved sandboxes |
A request for early disbursement needs its own authorization, available-funds and legal review under the chosen payment setup. Reconcile the underlying collection before treating it as available, but pay your own contractors when their contracts require; a client collection delay does not automatically postpone what you owe. Use a reserve, appropriate financing or a separately agreed revised date if needed.
Review Scope and Billing Before Finalizing the Proposal#
A preliminary estimate can state unresolved assumptions. Before making a binding fixed-fee commitment, confirm the release boundaries, acceptance and billing terms or price a bounded discovery phase first.
| Layer | Objective | Required artifacts | Failure if missing |
|---|---|---|---|
| Delivery and price | Quote a defined release with clear cost and risk assumptions | Problem summary, proportionate requirements and SOW, acceptance tests, exclusions and change rule | Unpriced scope, testing and handoff |
| Billing and approval | Make invoice events and actual collection status explicit | Advance/milestone/calendar schedule, due dates, currency, customer/payer, approvers and lawful suspension terms | Invoice, approval and settlement can be mistaken for the same event |
For AI-assisted features, define representative evaluation cases, failure handling, model/provider dependencies and usage-cost assumptions. A successful demo is not an acceptance test for all outputs. Keep confidential data out of unapproved tools and price evaluation, access controls and review effort.
| Gate | Owner | Action | Output |
|---|---|---|---|
| Scope | Developer and client sponsor | Confirm outcomes, exclusions, test cases, dependencies and handoff | Agreed scope version |
| Billing | Developer and client finance | Agree advance/milestone/calendar events, due dates and currency | Billing schedule |
| Legal/IP | Parties and appropriate adviser | Agree entity, rights/licences, confidentiality and dispute/suspension terms | Contract documents |
| Data/provider requirements | Actual responsible owner | Identify required tax forms, provider onboarding and data roles; separate developer implementation from legal decisions | Restricted documentation and scoped dependencies |
| Approval | Client sponsor | Name milestone/change reviewers and escalation contact | Approval chain |
Attach the relevant scope and commercial documents or link to their agreed versions. Keep sensitive identity, tax forms and credentials in restricted storage, not in the general proposal pack. Separate the product approver, Accounts Payable contact and authorized payer.
Default stop/go rule: if no one with authority to accept milestones is named in writing, do not start.
Record the quote’s validity date and the assumptions that would require repricing. A client can then approve the specific release and payment schedule rather than a moving “MVP” label.
Frequently Asked Questions
How much should a freelance developer charge for a SaaS MVP project?
Calculate delivery hours and internal cost, include direct expenses and a justified risk allowance, then choose a target delivery margin. In the illustrative example above, $17,500 cost at a 30% margin produces a $25,000 fee before any applicable tax. This is a calculation, not a market benchmark; change the estimate and margin to fit the actual project.
Why do SaaS MVP project quotes differ so much between freelancers and agencies?
Teams may include different testing depth, support coverage, procurement handling and specialist roles. Compare those obligations with the same scope matrix. A solo quote is not automatically cheaper or faster, and an agency quote is not automatically safer. Use this comparison:
What must be included in a project-based SaaS MVP price beyond coding?
Include discovery, QA, project communication, release/deployment work, documentation, agreed handoff and any promised support, alongside the core build. Specify client dependencies, acceptance tests, changes, billing events and rights in background and new IP. Hosting, platform subscriptions and legal advice need clear owners and cost assumptions.
Should I use hourly billing or project pricing for MVP work?
Choose the billing model from the state of scope, not from a blanket rule. Use hourly while scope and dependencies are still being defined, and use project pricing only when the SOW ties milestones to clear acceptance events and invoice triggers. If you switch models midstream, write that switch rule into the SOW.
How do I reduce payment risk and scope creep in SaaS MVP contracts?
Set objective acceptance tests, a review owner and response period, the defect-versus-change distinction and the actual invoice trigger. Require authorized written approval of price and schedule changes before extra work. Agree notice and cure terms for suspension rather than treating every delayed review as an immediate right to stop.
What clauses are essential in a SaaS MVP agreement for cross-border clients?
Identify the contracting customer, any authorized third-party payer, currency, payment charges, invoice recipient and applicable dispute path. Include IP, confidentiality, data roles, acceptance and change terms. Assign actual tax/provider documentation duties separately; an AP-requested entity change does not authorize an invoice to a false customer.
How do I handle compliance and tax-document requests without underpricing the project?
Separate your own required tax or provider onboarding from extra client-requested services. Supplying a legitimately required form is not automatically a new paid project scope item. W-9 generally certifies a US person; W-8BEN is for a foreign individual beneficial owner, while entities or particular service situations may need other forms. The responsible payer handles applicable information reporting; do not price or perform the client’s tax filing without an agreed, appropriate role.
FBAR is a separate US reporting branch, not a default MVP deliverable. A US person with a financial interest in or signature/other authority over reportable foreign financial accounts generally files when their aggregate value exceeds $10,000 at any time in the calendar year. Determine each account’s maximum from records that fairly reflect it, convert foreign-currency maxima using the Treasury year-end rate or a documented verifiable rate if none exists, and round reported dollar amounts up: $15,265.25 becomes $15,266. A qualified owner should determine applicability and any exception. If a client separately commissions filing-software work, scope authorization, current form/XML validation and data protection as its own requirement; do not treat developer access as permission to file.
Try a related tool
Researched and edited by the Gruv editorial team. Gruv builds cross-border billing, payouts, and finance-operations software for global businesses.
Sources
Includes 3 external sources outside the trusted-domain allowlist.
- docs.stripe.com/api/idempotent_requeststrusted
- docs.stripe.com/webhookstrusted
- fincen.gov/reporting-maximum-account-valuetrusted
- irs.gov/forms-pubs/about-form-w-9trusted
- irs.gov/instructions/iw8bentrusted
- gov.uk/guidance/ownership-of-copyright-worksexternal
- gov.uk/using-somebody-elses-intellectual-property/c...external
- ico.org.uk/for-organisations/uk-gdpr-guidance-and-resou...external
Educational content only. Not legal, tax, or financial advice.
Related Posts

How to Calculate a Freelance Rate You Can Actually Get Paid On
A workable rate is not the neat number a calculator produces. It is the number that still works after you account for real billable capacity, non-client time, scope drift, and the gap between sending an invoice and receiving cleared cash. Start with hourly math even if you do not plan to bill hourly, then turn that number into a quote with clear `payment terms`.

How to Price Webflow Development Services
Price a Webflow project from the work you will deliver: design readiness, templates, CMS relationships, integrations, content entry, testing, reviews and handoff. Estimate the cost of that work, add the margin you need, and write the assumptions into the quote.

The Freelance Payment Penalty: A Modeled Audit of Platform Fees, FX Spreads, and Payout Delays
The money rarely disappears through a single, easy-to-spot fee. The real loss is stacked. A marketplace takes its commission, a processor adds a charge for international cards, a bank or payment company converts the currency at a spread, a platform holds the funds before release, and a wire sheds a little to intermediaries on the way in. Each layer looks defensible on its own, but the worker feels the combined result as a smaller deposit and a later payday.

