
A marketplace health score is a weekly operating check for platform payment quality. Track payment success, payout completion, reconciliation accuracy, dispute or return pressure, and recovery speed, but only when each metric can be traced to provider events, payout records, and ledger evidence. Keep one canonical ledger source, one owner per threshold, and exclude any metric whose lineage breaks.
Build a Marketplace Health Score as a weekly operating check for payment quality, not another dashboard number. Its job is to surface payout risk, matching noise, and timing drift early enough for you to act before close gets messy.
This guide is for platform operations leaders and the finance, ops, and product owners responsible for Ledger integrity, Reconciliation completeness, Settlement timing, and payout execution risk. If you are dealing with unexplained variances, delayed payouts, or a growing exception queue, this score gives you a weekly measure you can trace back to evidence.
Use payment-system guidance as operating context, not as a generic health-score metaphor. The Federal Reserve's payment systems material and its Payment System Risk framework are better reminders that money-movement quality depends on clear controls, defined responsibilities, and review cadence.
The lesson is simple. Scores can reduce information gaps, but only with careful design. Research on score design also warns that more information is not always better, and that score structure can change behavior. In platform operations, a weak score can reward the wrong outcomes, such as pushing exceptions downstream or favoring apparent speed over journal correctness.
Keep one rule in view from day one: if a metric cannot be tied to auditable proof in your Ledger and payment records, it does not belong in the score yet.
Need the full breakdown? Read How to Calculate LTV in a Two-Sided Marketplace for Buyer, Seller, and Platform Decisions.
The Marketplace Health Score in this section is an internal payment-operations lens, not a validated external formula. A practical scope is Ledger accuracy, Reconciliation completeness, Settlement timeliness, and Payout Batch reliability.
| Area | What it covers |
|---|---|
| Payment success | authorization, capture, and settlement behavior for the intended payment |
| Reconciliation integrity | provider records, journals, and close outputs line up without unexplained breaks |
| Payout completion | payouts move through expected states without silent drops, duplicate sends, or manual patching |
| Disputes and returns | post-settlement loss signals stay visible and assigned to an owner |
| Recovery speed | exceptions are classified, worked, and closed before they compound |
If score movement cannot be traced to journal IDs, matching outputs, status timestamps, and payout batch records, treat the result as provisional. One failure mode to avoid is treating submission speed as success while later mismatches or reversals remain unresolved.
Use external rail and provider rules as calibration inputs, not as a universal marketplace formula. Keep scope, versioning, and review cadence explicit so operators know whether they are looking at payment success, payout completion, reconciliation health, or dispute pressure.
One practical discipline check is version control. Record which payout statuses, webhook event types, reconciliation exports, and dispute states the score uses so you do not compare two weeks with different definitions as if nothing changed.
Also keep evidence access controlled. PCI DSS is a useful baseline reminder that payment data should be segmented, protected, and exposed to operators only as needed for triage.
This pairs well with our guide on Measure AP Automation ROI for Payment Platform Finance Teams.
Before you score anything, make traceability real. If you cannot follow one transaction from provider reference to journal to settlement and payout outcome, you are measuring report neatness, not payment quality.
| Step | Focus | Key detail |
|---|---|---|
| Step 1 | Assemble the minimum evidence pack | Start with raw event logs, provider references, webhook delivery history, and idempotency records tied to each lifecycle stage |
| Step 2 | Declare one Ledger source of truth | Use one canonical Ledger source for journals and status transitions and reconcile by population and cutoff |
| Step 3 | Document constraints and assign owners before metrics | Write constraints first, then metrics, and give every metric a named owner and defined response when it turns red |
| Step 4 | Map return, dispute, and payout-failure channels | Track which failure classes come from ACH returns, disputes, provider review, or payout failure before they distort the score |
Start with the smallest record set that can reconstruct a payment lifecycle without guesswork: raw event logs, provider references, webhook delivery history, and idempotent request records tied to each lifecycle stage.
Sample a handful of recent payments and confirm each one has:
Treat any missing artifact as a coverage gap now, not during an incident. Without webhook history, a single "paid" status can hide delayed callbacks or timeout-path assumptions. Without idempotency records, duplicate sends can look like ordinary retry volume.
Use one canonical Ledger source for journals and status transitions, and map every downstream report back to it. Finance close files, ops dashboards, summaries of funds movement, and payout reports can differ in format, but not in underlying journal and status logic.
Run one hard check: reconcile by population and cutoff. If ops says 1,000 settled and finance says 996, determine whether the gap is timing, scope, or broken mapping. Keep a simple report map with field names, definitions, cutoff time, and version date so score changes reflect operations, not reporting drift.
Write constraints first, then metrics. Capture policy gates, compliance reviews, and each flow's SLA commitments. Assign owners by domain before you publish any score: finance for close integrity, ops for exception handling, and product or engineering for event quality and automation debt.
Every metric should have both a named owner and a defined response when it turns red. Without that, the score becomes an orphaned dashboard. Keep policy holds separate from operational defects so exception queues do not hide the real bottleneck.
Where external rails or networks can reverse, return, or dispute a payment, map that dependency up front. Nacha's ACH Network Risk and Enforcement Topics are a practical reminder that return activity belongs in your payment-quality view, not in a separate afterthought. Do the same for card disputes and platform-initiated reversals in your own operating model.
Do the same for card and platform disputes. Track which outcomes count as dispute intake, evidence submission, win, loss, payout failure, provider review, or manual reversal. If teams use different labels for the same event, the score will drift before the operation does.
Capture the exact evidence you will need later: provider reference, payout or transfer ID, dispute or return code when applicable, and the owner who works that failure class. The goal is not to weight every rail equally. It is to make returns, disputes, and payout failures visible before they distort the weekly read. Related: State of Platform Payments: Benchmark Report for B2B Marketplace Operators.
If a step cannot produce auditable evidence from your Ledger, do not score it as healthy. Build a short checkpoint chain and tie each checkpoint to a clear input, state transition, and proof artifact.
Use this as an internal operating map, not a vendor scorecard. Start by making lifecycle checkpoints explicit across payment acceptance, settlement, payout execution, and post-settlement loss events before you assign weights.
| Checkpoint | Input event | Expected state transition | Minimum proof artifact |
|---|---|---|---|
| Authorization decision | Initial payment attempt | Pending to authorized or declined | Provider response plus internal payment ID |
| Capture and settlement posting | Capture request or settlement confirmation | Authorized to captured or settled | Capture reference plus linked journal entry |
| Payout execution | Payout batch or transfer creation | Payable to in transit, paid, failed, or canceled | Payout ID, provider status, and failure code when present |
| Returns and disputes | ACH return, dispute intake, or reversal event | Settled to returned, disputed, or reserve-adjusted | Return or dispute code plus linked transaction reference |
For each checkpoint, write three fields in plain language:
Then mark uncertainty paths explicitly where they exist in your flow: missing provider references, unclassified retries, unmapped payout statuses, late return files, and dispute events that arrive after finance has already closed the period.
Finish by tagging your Exception Queue by checkpoint and failure class so issues are diagnosable instead of blended together:
authorization | high_soft_decline_ratepayouts | failed_or_canceled_payoutreconciliation | unmatched_journal_or_settlementreturns_disputes | ach_return_or_card_dispute_without_ownerUse this checkpoint before you publish anything. If a queue item cannot be tied to a checkpoint and auditable evidence, fix instrumentation first.
For a step-by-step walkthrough, see CBUAE Instant Payment Platform: Launch Validation Checklist for UAE Marketplace Operators.
The formula only works if it reflects your real priorities. The available evidence supports a measurement method, not fixed payment-domain priorities, so treat tradeoffs as local decisions you validate with your own data.
Define domains before weight math. Start with domains, not weights. Payment teams usually need a mix of workflow reliability, payout completion, reconciliation integrity, dispute or return pressure, and recovery speed. The formula should mirror how your operators intervene, not how a slide looks.
| Domain | What to score | Leading signal (pressure) | Lagging signal (damage) |
|---|---|---|---|
| Payment acceptance | Authorization, capture, and settlement reliability | Decline drift, retry spikes, or processing delays | Lost volume, failed collection, or manual rework |
| Payout execution | Payout states and completion quality | Aging in pending or in-transit states | Failed, canceled, or reversed payouts |
| Reconciliation integrity | Provider-to-ledger and close alignment | Growth in unmatched records or stale files | Close delays, adjustments, or unexplained breaks |
| Disputes and returns | Post-settlement loss and seller-impact pressure | Rising dispute intake or ACH return activity | Chargeback losses, reserve pressure, or reversals |
| Recovery effectiveness | Exception routing, ownership, and RCA follow-through | Backlog growth and aging | Repeat incidents and SLA misses |
Keep leading and lagging signals separate. Do not collapse them into one line. Pressure and damage tell you different things.
Use a regular trace check. For a low-scoring case, confirm that you can pull auditable lifecycle artifacts. If you cannot, treat that metric as provisional and revisit its influence.
Weight by maturity, then rebalance on patterns. Rebalance after repeated patterns, not one noisy week, and use mixed evidence each time: incident history, lifecycle artifacts, and operator review.
In practice:
launch: keep the model simple and prioritize metrics you can audit end to end.scale: expand coverage only where evidence quality stays strong.enterprise: rebalance so strength in one area does not mask weakness in another.Add anti-gaming checks before go-live. Treat these as local governance controls, not source-established rules.
Common checks:
work_reclassification: visible score improvement while untracked manual work rises.cutoff_shift: timing appears better while post-cutoff aging increases.measurement_pause: quality appears better because events are deferred or excluded.Document these disqualifiers in the scoring note. If domains still conflict after those checks, record the tradeoff and rationale, then re-evaluate after another evidence cycle. For a separate implementation walkthrough, see How to Build a Payment Health Dashboard for Your Platform.
Instrumentation only helps when it supports traceable decisions. If you cannot follow a metric from source event to Ledger entry to downstream status, consider marking it untrusted and keeping it out of score-based decisions until lineage is repaired.
Fix joins before you tune alerts. During RCA, you should have a deterministic way to connect the business event, provider response, journal entry, Webhook history, and final Settlement state.
The source material does not mandate a single canonical ID standard, so treat this as a consistency pattern:
The labels matter less than consistency. If keys change across stages or retries break the original link, joins become probabilistic and incident review turns into manual guesswork.
Run a quick readiness check: pick three recent incidents and verify that you can reconstruct the full chain through one query path, or one documented lookup path. If reconstruction depends on manual stitching across exports, treat instrumentation as incomplete.
Fragmented governance, quality, and observability tooling increases manual troubleshooting and can make it harder to connect causes, impacts, and policy violations across the flow. Even if you use multiple tools, keep one shared ID map and one operator-visible relationship view.
The source material does not establish a required daily marketplace-payments checklist, so use a small team-defined verification set before reporting close so teams can act while issues are still recoverable.
| Checkpoint | What to match | Failure signal | Primary owner |
|---|---|---|---|
| Journal-to-provider match | Posted journals vs provider-confirmed activity using transaction ID and provider ID | Journal with no provider confirmation, or provider activity with no booked journal | Finance ops |
| Webhook replay dedupe | Incoming Webhook events vs prior deliveries using Idempotency Key and event fingerprint | Same business event creates multiple outcomes or duplicate side effects | Engineering |
| Settlement status reconciliation | Internal status vs provider status before close | Conflicting terminal states across systems | Ops with finance review |
Boundary checks can be higher signal than vanity rates. Require linked evidence for each exception, even when it resolves as delay or duplicate, so postmortems and repeat-issue detection remain possible.
An alert should start an action, not just report movement. The recipient should know whether to open reconciliation incident work, pause replay, hold reporting, or escalate lineage defects.
Include triage fields in every alert payload:
Set first-responder ownership explicitly:
For audits and postmortems, retain evidence that reconstructs decisions, not just final outcomes. Keep provider payload, normalized internal event, join keys, journal reference, settlement updates, replay attempts, processing result, operator notes, and change history.
Keep restricted raw records and provide masked views for routine triage. That reduces unnecessary exposure of payment data while still letting operators reconstruct what happened across webhook payloads, payout events, and reconciliation reports.
When storing external references, keep the exact provider event type, report name, account scope, and document version used in the score. That way an operator can reopen the same evidence path even after provider schemas or dispute states change.
Make this a hard scoring rule: if lineage is broken for a metric, set it to untrusted, remove it from weighted rollups, and open a repair task with a named owner. Do not silently backfill or substitute proxies without documenting the change.
Short-term score volatility is acceptable. A smooth score built on broken lineage is not. That keeps thresholding tied to data you can defend.
Once your inputs are trusted, hesitation and unclear incentive direction become failure modes. Thresholds should trigger a specific action by a named owner within a defined response window. Use "monitor only" only when that choice is explicit and approved.
Use three action bands: monitor, intervene, escalate. The point of a band is to tell operators what to do, not just how bad a chart looks. If SLA risk rises while the Exception Queue grows, each band should map to a different operational response.
One useful guardrail is simple: do not mark something red unless red changes behavior. Red should trigger predefined internal actions, such as pausing an affected Payout Batch, rerouting to another provider if that path already exists, or forcing manual review for a known failure class. If red only creates more discussion, the threshold is too soft.
| Band | Condition trend | Default action | Required evidence |
|---|---|---|---|
| Monitor | Drift that still appears recoverable | Replay, watch, verify next checkpoint | Transaction ID, provider ID, last known-good timestamp |
| Intervene | Risk to close timing, settlement timing, or queue stability | Apply targeted correction in flow | Impacted batch or queue segment, current ledger status, owner assignment |
| Escalate | Partner impact, reporting risk, or unresolved control break | Contain impact, widen notification, open RCA | Affected scope, decision log, supporting artifacts for finance and leadership |
Test these bands against recent incidents. If different operators choose different actions from the same band, tighten the language.
Each threshold entry should name a primary owner, backup owner, response expectation, and escalation destination. Red status should trigger a first move, not shared ambiguity.
Keep the threshold register versioned and explicit about role actions, such as containment, defect validation, or reporting-close decision. Even when several teams are informed, keep one primary owner per trigger. Competing priorities and incentive confusion are known failure risks.
Route incidents by the failure classes you defined in Step 1. A temporary Webhook delay and a Reconciliation break should not follow the same path.
For delayed webhook delivery, a common first response is replay and watch, while confirming journal status, fund movement, and duplicate risk from retries. For matching breaks, start with containment: hold the affected reporting path or payout subset, preserve artifacts, and open RCA immediately.
If escalation triggers depend on contractual or regulatory interpretation, anchor them to versioned references rather than team memory. Store the document identifier, date checkpoint, and path to official text.
Keep the network or provider reference that governs the escalation rule, such as the ACH return guidance you use, the dispute-state definition you follow, or the payout-status mapping that triggers manual review. Store the rule name, effective date, and internal owner beside the threshold so you can explain why the band fired.
If your escalation rules include batch pauses and rerouting, align them with your payout status workflow in Gruv Payouts.
A score only helps if it changes decisions. Use a fixed operating rhythm so the Marketplace Health Score drives action instead of status theater. A practical pattern is frequent flow-health checks, a weekly review for trend and ownership, and a periodic review for structural fixes and policy updates.
Review more than outcomes. A weekly score change tells you what happened, but not why. Track outcome, process, and input metrics together so decisions stay tied to results, execution, and capacity.
Different meetings should answer different questions. Use frequent check-ins to catch drift early and flag data-quality issues. If a metric is untrusted, do not use it for action until the underlying data issue is corrected.
Use the weekly review to assign ownership and resolve repeated failures. Use a periodic strategic review for changes that do not fit queue-clearing work, such as policy updates, recurring manual-step removal, and larger design fixes.
Keep the agenda stable each week so trend reading stays consistent:
Treat vanity metrics as a warning sign. If a metric looks positive but does not change decisions, remove it from the core review set.
Every weekly decision should become a task tied to a score domain, with an owner, due date, and measurable outcome. Avoid generic actions like "improve ops."
At minimum, each task should include:
Close tasks only after a later review cycle confirms the result in the agreed evidence.
Keep one leadership view and one operator view, both sourced from the same data. Leadership needs score movement, business impact, unresolved escalations, and structural blockers. Operators need incident detail, queue state, current owner, and next action.
Tie both views back to the same score domains and evidence so priorities stay aligned over time. You might also find this useful: How the Payments Experience Improves Your Partner Network: A Platform Operator's Playbook.
Turn the weekly review into a staged plan, not a grab bag of fixes. Establish trust first, then reduce repeat failures, then improve speed. If Ledger and Reconciliation close quality are still unstable, treat throughput gains as provisional until traceability is reliable.
Use the first 30 days to make core records dependable across Ledger, Webhook, and Reconciliation. The goal is traceability. You should be able to follow a state change from the originating transaction to journal posting, provider callback, and close output.
Use a practical checkpoint. Sample recent Exception Queue cases and verify that each one can be reconstructed from canonical IDs, timestamps, provider references, and webhook delivery history, without side spreadsheets or memory. If close still depends on manual patch files because source journal mapping is incomplete, pause new score views and fix mapping first.
Treat "healthy" reporting on untrusted joins as a red flag. If lineage is broken, keep that metric out of decisions until the data path is repaired.
Once the basics are stable, use days 31 to 60 to reduce repeat failures in your own operating data. Focus on retry behavior, clearer Idempotency Key handling, and exception classes that separate failure modes cleanly.
Verify more than retry completion. Confirm that you can distinguish a legitimate retry from a duplicate event, and that this is visible without manual investigation each time. If duplicate callbacks, missing transitions, and manual overrides all collapse into one bucket, classification is not ready to guide decisions.
Watch for partial-success patterns: a payment appears complete, but duplicate journals, duplicate queue entries, or unclear replay history remain. If that appears, tighten replay controls before further optimization.
Only after the earlier checkpoints hold should you push Settlement timing and clean Payout Batch completion. Check whether the flow gets faster without adding new reconciliation or exception cleanup.
Compare scheduled versus actual handoff timestamps, then review batch outcomes alongside exception creation and manual intervention volume. Flag cases where faster batches coincide with work deferred into hidden queues or relaxed close discipline.
| Phase | Main focus | Exit criteria to define up front | Red flag |
|---|---|---|---|
| Days 1 to 30 | Ledger, Webhook, Reconciliation | Predefined score checks plus proof that close traces to source records | Untrusted metrics still driving weekly actions |
| Days 31 to 60 | Retries, Idempotency Key hygiene, exception classes | Predefined score checks plus clear replay evidence by failure mode | Retries look successful but duplicates still post or queue |
| Days 61 to 90 | Settlement and Payout Batch throughput | Predefined score checks plus cleaner completion evidence and manual-handling checks | On-time metrics improve only because work is deferred or hidden |
Set exit criteria before each phase begins, and require both score movement and operational proof. Use predeclared checks such as evidence quality, escalation volume, incident recovery time, and manual touch in close and exception handling, then validate against those checks at phase end.
If resources are limited, prioritize work that removes recurring RCA categories before adding reporting layers. When a plan depends on provider docs or rail rules, log the exact version or retrieval date used so later score changes are not just documentation drift.
Related reading: Platform Economy Payment Index for Contractor Payment Quality Across 20 Industries.
Payment quality decisions can break down when source quality or source fit is weak. Treat operational changes as provisional until provenance and relevance are clear.
| Mistake | Recovery |
|---|---|
| Blending pending and settled states | Split payment states by lifecycle checkpoint before rolling them into the weekly score. |
| Counting retries as recovery | Verify the final business outcome, not just a replay or callback success. |
| Scoring with broken joins | Remove any metric that cannot tie provider records to journals and payouts until lineage is repaired. |
| Ignoring returns and disputes until month-end | Bring ACH returns, disputes, reversals, and failed payouts into the weekly score with named owners. |
Challenge source relevance. Use a source for direction only when it clearly matches the payment decision in front of you. If the topic domain is different, treat it as context, not operating evidence.
Control joins before rollout. When provider IDs, internal IDs, payout IDs, or dispute references do not align, your score is describing reporting friction, not payment quality. Repair the joins before you widen the dashboard.
Require endorsement clarity before adoption. Presence in a major database is not the same as endorsement, so avoid treating inclusion alone as a validation signal.
Separate strategic signals from execution rules. Broad priorities can guide focus, but they do not by themselves define concrete payment-control design.
If you want a deeper dive, read Vendor Risk Assessment for Platforms: How to Score and Monitor Third-Party Payment Risk.
Use the weekly review as an evidence check, not a status meeting. If a metric cannot be traced to source records in your system of record, event history, payout status logs (where used), and reconciliation output, mark it untrusted and keep it out of decisions.
| Step | Main action | Decision check |
|---|---|---|
| Step 1 | Confirm input completeness and trust | If any feed is late, partial, or unmatched, exclude dependent scores from the decision set |
| Step 2 | Review scores against your own thresholds and assign owners | Every red metric gets one named owner and one next action |
| Step 3 | Triage incidents by failure class and clear the highest-risk open items | Prioritize record correctness and close risk before speed issues |
| Step 4 | Verify last week's remediation with before and after evidence | Keep the result provisional if populations, time windows, or coverage changed |
| Step 5 | Decide the next action and publish one page | Classify each issue as maintain, intervene, or escalate |
Validate the population before you review score movement. Separate collection, validation, and publication so a late report feed or broken payout export cannot silently contaminate the score.
Before the meeting, run a quick join test across your core inputs for the same weekly period, record keys, and reconcilable timestamps. If any feed is late, partial, or unmatched, flag it immediately and exclude dependent scores from the decision set.
Once inputs are trusted, compare domain scores and breaches against your internal thresholds. There is no universal threshold here, so the real control is ownership: every red metric gets one named owner and one next action.
Use strict ownership language. Shared labels like "finance and ops" usually delay action. Cross-functional causes still need a single accountable owner.
Triage by failure class first, then clear the highest-risk open items. Prioritize record correctness and close risk before speed issues so downstream reporting stays reliable.
Log root-cause follow-up actions while evidence is still easy to retrieve. Capture the failure class, affected records, reviewed evidence, suspected cause, and what will count as recovery proof next week.
Accept proof, not anecdotal updates. A credible remediation check needs a before snapshot, an after snapshot, and at least one source artifact showing that the underlying records changed.
If populations, time windows, or coverage changed, say so plainly and keep the result provisional. Validate the dataset before claiming the intervention worked.
Close by classifying each issue as maintain, intervene, or escalate. Publish a one-page decision note for finance, ops, and product with the decision, owner, evidence used, blocked dependencies, and exact re-review checkpoint.
Keep the page source-based. If an escalation depends on provider or network rules, verify it against the exact docs your team actually operates against, such as Adyen webhook types, then map each control to event and ledger traces in the Gruv Docs.
Use a small set of record verifiable domains: payment acceptance or authorization quality, payout completion, reconciliation integrity, disputes or returns, and recovery speed. If a metric cannot be traced to provider records, ledger entries, or payout events, leave it out.
Leading indicators show pressure before money is visibly damaged: aging retries, queue growth, unclassified webhook events, or rising unmatched records. Lagging indicators show damage after the fact: failed payouts, late settlements, ACH returns, disputes, reversals, or manual close adjustments. Keep both, but do not blend them into one line.
At launch, track only the metrics you can verify end to end: provider reference coverage, payout success, unmatched record rate, and basic return or dispute visibility. At scale, add segmentation by rail, provider, corridor, or seller cohort once the baseline fields stay trustworthy.
Use frequent checks for incident pressure, a weekly operating review for ownership and thresholds, and a monthly planning view for structural fixes. Increase review frequency when payout failures, reconciliation breaks, or dispute volume start climbing.
The usual root causes are broken identifiers, replay or dedupe gaps, mismatched status mappings, hidden manual workarounds, and delayed return or dispute visibility. Prioritize correctness first, then close risk, then throughput.
Use 30/60/90 as a sequencing frame: first restore traceability, then reduce repeat failures, then speed up clean throughput. Judge progress by fewer untrusted metrics, fewer recurring failure classes, and cleaner payout and reconciliation evidence.
Exclude a metric as soon as lineage breaks. If you cannot tie the number back to the provider event, payout record, reconciliation output, and review owner for the same period, mark it untrusted and keep it out of weighted rollups.
Avery writes for operators who care about clean books: reconciliation habits, payout workflows, and the systems that prevent month-end chaos when money crosses borders.
Includes 4 external sources outside the trusted-domain allowlist.
Educational content only. Not legal, tax, or financial advice.

**Start with the business decision, not the feature.** For a contractor platform, the real question is whether embedded insurance removes onboarding friction, proof-of-insurance chasing, and claims confusion, or simply adds more support, finance, and exception handling. Insurance is truly embedded only when quote, bind, document delivery, and servicing happen inside workflows your team already owns.
Treat Italy as a lane choice, not a generic freelancer signup market. If you cannot separate **Regime Forfettario** eligibility, VAT treatment, and payout controls, delay launch.

**Freelance contract templates are useful only when you treat them as a control, not a file you download and forget.** A template gives you reusable language. The real protection comes from how you use it: who approves it, what has to be defined before work starts, which clauses can change, and what record you keep when the Hiring Party and Freelance Worker sign.