Consignment form for shops that sell on behalf of others

Updated 2026-10-30

Someone arrives with a bag of items and a story. Without a record, you forget who owns what, and the owner forgets what they agreed. I would rather take the details in a form first, then confirm at the counter.

Use this when

You run a resale shop, a gallery or a sale where people place things with you and you sell them for a share.

Skip it when

You buy items outright. A contact form is enough for a quick question.

What it asks and why

  • Owner details: so you can reach the consignor about a sale.
  • Category, description, count, condition and photo link: so you can decide before they arrive. The form takes no photo files, so it asks for an album link.
  • Unsold choice: settles the argument before it starts.
  • Ownership and terms ticks, plus a typed name: a record of what they confirmed.

What the consignor's AI would ask

"How many items do you want to bring?" Then "What condition are they in?" Then "What should we do with unsold items?" It shows every answer and sends only after a yes. See agent-fillable forms.

This is a form, not legal advice. Have a professional check your consignment terms and any wording that has legal weight. Buyers who miss out can join a waitlist, and a trusted regular supplier can move to a vendor onboarding form. More ideas are in forms for Ecommerce and Shopify stores.

Questions

How do I log which items came from which person?

Download the CSV. Each response holds the consignor's contact details and item list, so you can paste the rows into your own inventory sheet.

Can the form record an agreement?

It records a checkbox and a typed full name. That is not a formal e-signature, so keep signed paper terms if you need them.

What if someone brings more than they listed?

Treat the form as a first pass. Check the items at drop-off and use the item count and description as the list you compare against.

Try the form

Live demo ยท nothing is saved

Consign your items with us

Tell us what you would like to place with us. We will check everything again when you bring it in.

What are you consigning? (required)

Brand, size, colour and age. One item per line works well.

Overall condition (required)
If an item does not sell, what should we do?
I own these items and have the right to sell them (required)
I have read the consignment terms and agree to them (required)

Or paste the JSON

Give this to your AI. It needs the AI Form API MCP server or an API key. It makes the form and sends you the link.

text
Create this form with the AI Form API create_form tool (or POST https://aiformapi.com/v1/forms with my API key). Then reply with the public_url.

{
  "title": "Consign your items with us",
  "description": "Tell us what you would like to place with us. We will check everything again when you bring it in.",
  "fields": [
    {
      "id": "consignor_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "consignor_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "consignor_phone",
      "label": "Your phone",
      "type": "phone"
    },
    {
      "id": "item_category",
      "label": "What are you consigning?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Clothing and accessories",
        "Furniture and home",
        "Jewellery",
        "Art",
        "Books and media",
        "Sports and outdoor gear",
        "Something else"
      ]
    },
    {
      "id": "item_list",
      "label": "Describe the items",
      "type": "long_text",
      "required": true,
      "help": "Brand, size, colour and age. One item per line works well.",
      "max_length": 2000
    },
    {
      "id": "item_count",
      "label": "How many items will you bring?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 100
    },
    {
      "id": "item_condition",
      "label": "Overall condition",
      "type": "single_choice",
      "required": true,
      "options": [
        "New with tags",
        "Like new",
        "Good",
        "Worn but usable"
      ]
    },
    {
      "id": "photo_album_link",
      "label": "A link to photos of the items",
      "type": "url",
      "help": "Put the photos in a shared album and paste the link."
    },
    {
      "id": "price_idea",
      "label": "Do you have a resale price in mind?",
      "type": "short_text",
      "max_length": 200
    },
    {
      "id": "drop_off_date",
      "label": "When can you drop the items off?",
      "type": "date"
    },
    {
      "id": "unsold_choice",
      "label": "If an item does not sell, what should we do?",
      "type": "single_choice",
      "options": [
        "Return it to me",
        "Donate it",
        "Lower the price",
        "Ask me first"
      ]
    },
    {
      "id": "ownership_confirm",
      "label": "I own these items and have the right to sell them",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "terms_agree",
      "label": "I have read the consignment terms and agree to them",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "typed_name",
      "label": "Type your full name to confirm",
      "type": "short_text",
      "required": true,
      "max_length": 150
    }
  ]
}

Or call the API

bash
curl -X POST https://aiformapi.com/v1/forms \
  -H "Authorization: Bearer $AIFORMAPI_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Consign your items with us","description":"Tell us what you would like to place with us. We will check everything again when you bring it in.","fields":[{"id":"consignor_name","label":"Your full name","type":"short_text","required":true,"max_length":150},{"id":"consignor_email","label":"Your email","type":"email","required":true},{"id":"consignor_phone","label":"Your phone","type":"phone"},{"id":"item_category","label":"What are you consigning?","type":"single_choice","required":true,"options":["Clothing and accessories","Furniture and home","Jewellery","Art","Books and media","Sports and outdoor gear","Something else"]},{"id":"item_list","label":"Describe the items","type":"long_text","required":true,"help":"Brand, size, colour and age. One item per line works well.","max_length":2000},{"id":"item_count","label":"How many items will you bring?","type":"number","required":true,"min":1,"max":100},{"id":"item_condition","label":"Overall condition","type":"single_choice","required":true,"options":["New with tags","Like new","Good","Worn but usable"]},{"id":"photo_album_link","label":"A link to photos of the items","type":"url","help":"Put the photos in a shared album and paste the link."},{"id":"price_idea","label":"Do you have a resale price in mind?","type":"short_text","max_length":200},{"id":"drop_off_date","label":"When can you drop the items off?","type":"date"},{"id":"unsold_choice","label":"If an item does not sell, what should we do?","type":"single_choice","options":["Return it to me","Donate it","Lower the price","Ask me first"]},{"id":"ownership_confirm","label":"I own these items and have the right to sell them","type":"checkbox","required":true},{"id":"terms_agree","label":"I have read the consignment terms and agree to them","type":"checkbox","required":true},{"id":"typed_name","label":"Type your full name to confirm","type":"short_text","required":true,"max_length":150}]}'

JSON definition

json
{
  "title": "Consign your items with us",
  "description": "Tell us what you would like to place with us. We will check everything again when you bring it in.",
  "fields": [
    {
      "id": "consignor_name",
      "label": "Your full name",
      "type": "short_text",
      "required": true,
      "max_length": 150
    },
    {
      "id": "consignor_email",
      "label": "Your email",
      "type": "email",
      "required": true
    },
    {
      "id": "consignor_phone",
      "label": "Your phone",
      "type": "phone"
    },
    {
      "id": "item_category",
      "label": "What are you consigning?",
      "type": "single_choice",
      "required": true,
      "options": [
        "Clothing and accessories",
        "Furniture and home",
        "Jewellery",
        "Art",
        "Books and media",
        "Sports and outdoor gear",
        "Something else"
      ]
    },
    {
      "id": "item_list",
      "label": "Describe the items",
      "type": "long_text",
      "required": true,
      "help": "Brand, size, colour and age. One item per line works well.",
      "max_length": 2000
    },
    {
      "id": "item_count",
      "label": "How many items will you bring?",
      "type": "number",
      "required": true,
      "min": 1,
      "max": 100
    },
    {
      "id": "item_condition",
      "label": "Overall condition",
      "type": "single_choice",
      "required": true,
      "options": [
        "New with tags",
        "Like new",
        "Good",
        "Worn but usable"
      ]
    },
    {
      "id": "photo_album_link",
      "label": "A link to photos of the items",
      "type": "url",
      "help": "Put the photos in a shared album and paste the link."
    },
    {
      "id": "price_idea",
      "label": "Do you have a resale price in mind?",
      "type": "short_text",
      "max_length": 200
    },
    {
      "id": "drop_off_date",
      "label": "When can you drop the items off?",
      "type": "date"
    },
    {
      "id": "unsold_choice",
      "label": "If an item does not sell, what should we do?",
      "type": "single_choice",
      "options": [
        "Return it to me",
        "Donate it",
        "Lower the price",
        "Ask me first"
      ]
    },
    {
      "id": "ownership_confirm",
      "label": "I own these items and have the right to sell them",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "terms_agree",
      "label": "I have read the consignment terms and agree to them",
      "type": "checkbox",
      "required": true
    },
    {
      "id": "typed_name",
      "label": "Type your full name to confirm",
      "type": "short_text",
      "required": true,
      "max_length": 150
    }
  ]
}