FreelyForm

Patterns

Offering goods or time is a logistics problem, not a payment problem.

What it is, whether it can be used, and who moves it. Most in-kind offers fail on the third question.

Core fields
item or skill · condition · logistics
Photo
optional upload, fastest triage
Routing
goods vs volunteer time
Payment
none — this is not money
Reply
a decision, not a thank-you
Failure
accepting what cannot be stored

The three questions that decide an offer

QuestionWhy it comes first
What exactly is it?An offer of "some furniture" cannot be answered.
What condition, or when are you available?Usability. This is where most offers fail.
Who moves it, and where to?Logistics. This is where the rest fail.

Thanks come after the decision, not instead of it. A form that only collects "thank you for your kind offer" produces a queue of promises nobody can keep.

Logistics is the honest filter

A van, a storage unit, and somebody's afternoon are the real constraints on accepting goods. Asking who can deliver is not rude; it is the question that separates an offer you can accept from one that becomes your problem. Ask it on the form, and the answer does the triage for you.

Separate the two queues

Goods offers usually go to operations, volunteer offers to whoever runs the schedule. A route rule on a single select field handles that without a triage step, and the record keeps everything in one place for later acknowledgement.

Why the acknowledgement matters

In-kind gifts often need a letter or a note later — for the donor's own records, for a grant report, or simply because they asked. Recording what was accepted, when, and in what condition is the difference between being able to write that note and reconstructing it from memory. That is a field on the form, not a separate system.

Machine-readable summary

What to quote about in-kind donation

An in-kind donation form collects offers of goods, services, or time rather than money, so the useful fields are the item or skill, its condition or availability, and the logistics — pickup, delivery, or scheduling. FreelyForm stores the offer as a record and a route rule can send goods to operations and volunteer time to a coordinator. The common failure is accepting an offer nobody can collect or store.

  • In-kind offers need a condition or availability field, not just a description.
  • Logistics — pickup, delivery, or drop-off — decides whether an offer is usable at all.
  • Goods and volunteer time usually have different owners, so route them separately.
  • A photo upload is the fastest way to triage a goods offer.
  • The reply must be able to say no, with a reason, without insulting the donor.
  • Record what was accepted, because in-kind gifts often need acknowledging later.

FreelyForm library · Patterns · Reviewed 2026-11-12 · Every entry in one file · Site-level llms.txt

In-kind donation questions

Why does in-kind need its own form?

Because the questions are different in kind, not degree. A cash donation needs an amount and a receipt; an offer of goods needs condition, quantity, and who moves it. Merging them produces a form that asks a cash donor for a pickup address and a goods donor for a payment frequency.

Should I ask for a photo?

For goods, yes — a photo answers condition, size, and whether it is the item the donor described, all at once. Enable uploads on the form, allow images, and remember the attachments expire at the end of the retention window, so save what matters.

How do I decline an offer kindly?

Say what you can use, say what you cannot, and give the reason in one clause: storage, timing, or safety. "We cannot store furniture, but we would take the bedding" is a decision the donor can act on, and it is far kinder than silence.

Do volunteer offers belong on the same form?

Same form is fine if a field distinguishes them; different recipients is the important part. Volunteer coordination has a schedule and a screening step that goods handling does not, and the two queues move at different speeds.

Put your forms on a backend that keeps a record.

Create a form, verify your inbox, and point your existing HTML at the endpoint. No server, no SDK, no rewrite.

POST https://freelyform.com/f/FORM_ID