Write down what “gross sales” means for your market, pick one intake lane per vendor type (connected POS vs structured self-report), publish a single deadline policy, and store provenance so disputes die in minutes—not days.
Farmers markets are not one POS and one register. They are dozens of independent businesses on Square readers, Venmo, Cash App, cash bags, and occasional “I wrote it on a napkin” energy. Coordinators do not fail because vendors are dishonest—they fail because the workflow is fragmented and nobody agrees on what a “final number” is.
This guide is written for recurring-market operators who already require sales reporting for stall fees, revenue share, or sponsor reporting. If you are trying to rank markets on vibes alone, skip this. If you are trying to close Saturday by Tuesday with fewer texts, read through once, pick two changes, ship them next market day, then iterate.
MoneyLayer shows up at the end as one honest option—not a magic wand—because the hard part is operational discipline. Software amplifies a policy; it does not replace one.
Why this is hard today
Markets inherit the payment chaos of small business America. A baker might batch every sale through one Square location while a produce farmer runs cash plus Zelle. That is normal. What hurts is when your intake system pretends everyone is the same.
The second failure mode is semantic drift: one vendor reports net-of-fees, another reports gross including tax, a third reports “what hit my bank.” Those numbers sit next to each other in a spreadsheet and look comparable. They are not. Once that drift exists, coordinators become part-time accountants and full-time mediators.
The third failure mode is missing provenance. When a vendor revises a number, you need to know what changed and why. Screenshots in a group chat are not an audit trail—they are archaeology. Markets that win here treat reporting like compliance: timestamped submissions, explicit definitions, and a single published policy.
This is the reconciliation gap. Nobody owns the number together — and that is exactly what MoneyLayer is built to fix.
Options operators use today
- Manual chase: text threads, email, and re-keying into a master spreadsheet—fast to start, expensive every week.
- Self-report-only tools: good at collection, weak at mixed POS reality unless you still enforce definitions and evidence.
- “Make everyone use Square” mandates: politically brittle; churn and shadow reporting follow.
- MoneyLayer-style sidecar: connect where APIs exist, structure self-report everywhere else, attach evidence for disputes.
Step-by-step
- Publish a one-page gross definition. Include tax/tips, card fees, refunds timing, and whether market-day cash counts before deposit. Put it on your vendor portal and repeat it in onboarding. If you skip this step, every later step is theater.
- Map vendors into three lanes. Lane A: connected POS where vendors can consent and you can pull structured totals. Lane B: structured self-report link (same fields every time). Lane C: evidence-backed exceptions for the long tail. Every vendor gets exactly one primary lane so your team does not double-count.
- Set a hard deadline with a published consequence. Deadlines without consequences become suggestions. Make the consequence operational: stall fee invoice delays, booth assignment priority, or simply “we do not settle until coverage hits X.” Pick something you will actually enforce twice, then vendors believe you.
- Run a Monday review, not a Monday rewrite. Your job is exception handling: missing vendors, mismatched definitions, obvious outliers. If you are retyping totals from photos, move that work upstream into structured fields so Monday is triage—not transcription.
- Close the loop with sponsors and finance in the same vocabulary. If sponsors hear “approximate market sales” while finance hears “settlement-grade gross,” you will replay the same fight monthly. Pick the sponsor-facing metric deliberately and document what is excluded.
How MoneyLayer handles this
MoneyLayer is built for mixed POS reality: connect Square/Stripe where vendors opt in, run structured self-report for everyone else, and attach screenshot evidence when needed. It will not fix a missing gross definition—publish that first—but once definitions exist, MoneyLayer reduces re-keying and makes coverage visible per vendor so your Monday is review, not archaeology.
FAQ
Do vendors have to switch POS?
No. The point of a sidecar workflow is to meet vendors where they already settle. Connected lanes are optional consent-based paths; structured self-report covers the rest.
What is the minimum viable policy to start?
A gross definition, a deadline, and a single intake form per vendor type. If you add only one thing this week, publish the gross definition.
How do I handle vendors who refuse to report?
Treat it like any other compliance requirement: clear written policy, consistent enforcement, and an escalation path. Software makes the reminder loop easier; culture makes it stick.
Is screenshot evidence “good enough”?
It is not as strong as API-backed totals, but it is far stronger than a text message number with no image. The goal is provenance: who submitted what, when, and with what attachment.