> ## Documentation Index
> Fetch the complete documentation index at: https://docs.seminode.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quoting by Email

> How to read the files we send you, fill them in, and reply so your quote lands on the right line automatically

You do not need an account to trade with us. Everything can be done from your normal mailbox, using the spreadsheet we attach.

This page covers exactly what arrives, which cells are yours to fill, what the **Action** column does, how to send order forms and other paperwork back, and why a line occasionally needs a second look.

## The round trip

```mermaid theme={null}
flowchart LR
    A["We email you an .xlsx.<br/>Every line carries its own<br/>Seminode Thread ID"] --> B["You fill in the blank<br/>columns and reply with<br/>the file attached"]
    B --> C["Each line lands on the<br/>right request on our<br/>side, automatically"]
```

The **Seminode Thread ID** is the one thing that has to survive the round trip. It is a short reference like `SN-4f2a9c1b` or `SN-K7T2MQ3XB4ZPA` that identifies one specific request between the two of us. Keep it next to its line and everything else is flexible: you can reply from a different address at your company, break the reply into several emails, or rebuild the sheet in your own format.

<Note>
  One Seminode Thread ID identifies one request. If we ask you about the same part again for a different program or a different quantity, that request gets its own ID.
</Note>

## What you receive

It is always an `.xlsx` file attached to an email. What changes is the stage of the conversation: we are either asking you to price something, or answering a quote you already sent.

<Tabs>
  <Tab title="A request for pricing">
    **A spreadsheet of our supply or demand, attached as `.xlsx`.**

    Subject looks like `Acme Components - Excess Supply Listings`.

    The body is short: *"Please find the attached component listings for your review. Fill out qty, pricing, and comments, then email the completed file back."*

    The attachment is named after the batch, for example `q3-excess-supply.xlsx`.

    A large batch is split by file size, so a very long list arrives as several files named `... (part 1 of 3).xlsx` rather than one attachment your mailbox would reject. Each part is complete and self-contained, with its own rows and its own Thread IDs. Quote the parts you can and send them back separately or together, in any order.

    <Note>
      This file does **not** carry an Action column. It is a request for pricing, so filling in your price and quantity is the whole response.
    </Note>
  </Tab>

  <Tab title="A response to your quote">
    **Our answer to a quote you already sent, attached as `.xlsx`.**

    Subject looks like `Acme Components Globex Excess Quotes 2026-08-25`, built from the file name `acme_components_globex_excess_quotes_2026-08-25.xlsx`.

    The body opens with a line like *"Acme Components has reviewed your quote and prepared a response for the 6 line items below"*, then repeats the same table that is in the attachment, plus a **Status** column telling you what we did with each line: `Counter quote`, `Accepted`, `Rejected` (with our reason, for example `Rejected — Price too high`), or `Note added`.

    If any line carries a document from us, a **Files** column appears with a download link per line. Those links work for 7 days.

    **This is the file with the Action column.** It is where you accept, decline, or counter.
  </Tab>
</Tabs>

## What the file looks like

### Example 1: a request for pricing

This is what arrives. Our detail is filled in, your columns are empty:

<div className="sn-file">
  <table>
    <thead><tr><th className="k">Seminode Thread ID</th><th className="o">Material No</th><th className="o">Mfr</th><th className="o">Qty</th><th className="o">Unit Price</th><th className="y">Quote Unit Price</th><th className="y">Quote Qty</th><th className="y">Quote Lead Time</th><th className="y">Quote Message</th></tr></thead>

    <tbody>
      <tr><td className="k">SN-K7T2MQ3XB4ZPA</td><td className="o">LM358DR</td><td className="o">TI</td><td className="o">5,000</td><td className="o">0.182</td><td className="y" /><td className="y" /><td className="y" /><td className="y" /></tr>
      <tr><td className="k">SN-B2X7PQ4MK6RTC</td><td className="o">GRM188R71C104KA</td><td className="o">Murata</td><td className="o">25,000</td><td className="o">0.0074</td><td className="y" /><td className="y" /><td className="y" /><td className="y" /></tr>
      <tr><td className="k">SN-P4W2NT6ZQ3XKB</td><td className="o">CRCW060310K0FKEA</td><td className="o">Vishay</td><td className="o">100,000</td><td className="o">0.0031</td><td className="y" /><td className="y" /><td className="y" /><td className="y" /></tr>
    </tbody>
  </table>
</div>

And this is what you send back. You are not quoting the Vishay line, so you delete that row. Only the amber columns changed:

<div className="sn-file">
  <table>
    <thead><tr><th className="k">Seminode Thread ID</th><th className="o">Material No</th><th className="o">Mfr</th><th className="o">Qty</th><th className="o">Unit Price</th><th className="y">Quote Unit Price</th><th className="y">Quote Qty</th><th className="y">Quote Lead Time</th><th className="y">Quote Message</th></tr></thead>

    <tbody>
      <tr><td className="k">SN-K7T2MQ3XB4ZPA</td><td className="o">LM358DR</td><td className="o">TI</td><td className="o">5,000</td><td className="o">0.182</td><td className="f">0.1750</td><td className="f">5,000</td><td className="f">12 weeks</td><td className="y" /></tr>
      <tr><td className="k">SN-B2X7PQ4MK6RTC</td><td className="o">GRM188R71C104KA</td><td className="o">Murata</td><td className="o">25,000</td><td className="o">0.0074</td><td className="f">0.0069</td><td className="f">10,000</td><td className="f">stock</td><td className="f">Partial qty only</td></tr>
    </tbody>
  </table>
</div>

Deleting rows is safe. Every line is matched by its own Seminode Thread ID, so removing one has no effect on the others and does not stop us quoting that part again later.

<Tip>
  If it is quicker to leave the rows in and just not fill them, that works too. A row with no price, no quantity, and no Action is discarded without comment. Either way, we hear nothing back on that line, so tell us in your reply if you want us to know *why* you passed.
</Tip>

### Example 2: a response to your quote

Here we have countered on three lines. Note that your columns are blank again, including the prices you sent us last round. The **Unit Price** and **Qty** columns hold the terms as they now stand:

<div className="sn-file">
  <table>
    <thead><tr><th className="k">Seminode Thread ID</th><th className="o">Material No</th><th className="o">Mfr</th><th className="o">Qty</th><th className="o">Unit Price</th><th className="y">Action</th><th className="y">Quote Unit Price</th><th className="y">Quote Qty</th><th className="y">Quote Lead Time</th><th className="y">Quote Message</th></tr></thead>

    <tbody>
      <tr><td className="k">SN-4f2a9c1b</td><td className="o">LM358DR</td><td className="o">TI</td><td className="o">5,000</td><td className="o">0.1780</td><td className="y" /><td className="y" /><td className="y" /><td className="y" /><td className="y" /></tr>
      <tr><td className="k">SN-7d1e3b8a</td><td className="o">GRM188R71C104KA</td><td className="o">Murata</td><td className="o">25,000</td><td className="o">0.0071</td><td className="y" /><td className="y" /><td className="y" /><td className="y" /><td className="y" /></tr>
      <tr><td className="k">SN-9c5a2f04</td><td className="o">CRCW060310K0FKEA</td><td className="o">Vishay</td><td className="o">100,000</td><td className="o">0.0029</td><td className="y" /><td className="y" /><td className="y" /><td className="y" /><td className="y" /></tr>
    </tbody>
  </table>
</div>

You reply with one decision per line:

<div className="sn-file">
  <table>
    <thead><tr><th className="k">Seminode Thread ID</th><th className="o">Material No</th><th className="o">Mfr</th><th className="o">Qty</th><th className="o">Unit Price</th><th className="y">Action</th><th className="y">Quote Unit Price</th><th className="y">Quote Qty</th><th className="y">Quote Lead Time</th><th className="y">Quote Message</th></tr></thead>

    <tbody>
      <tr><td className="k">SN-4f2a9c1b</td><td className="o">LM358DR</td><td className="o">TI</td><td className="o">5,000</td><td className="o">0.1780</td><td className="f">Accept</td><td className="y" /><td className="y" /><td className="y" /><td className="y" /></tr>
      <tr><td className="k">SN-7d1e3b8a</td><td className="o">GRM188R71C104KA</td><td className="o">Murata</td><td className="o">25,000</td><td className="o">0.0071</td><td className="f">Counter</td><td className="f">0.0074</td><td className="f">25,000</td><td className="f">14 weeks</td><td className="f">Best we can do at this quantity</td></tr>
      <tr><td className="k">SN-9c5a2f04</td><td className="o">CRCW060310K0FKEA</td><td className="o">Vishay</td><td className="o">100,000</td><td className="o">0.0029</td><td className="f">Reject</td><td className="y" /><td className="y" /><td className="y" /><td className="f">Allocated until Q1</td></tr>
    </tbody>
  </table>
</div>

Three different outcomes, and each needs a different amount of typing:

* **Accept** takes your price of `0.1780`. Nothing else to fill in, and anything you did put in the pricing cells is ignored.
* **Counter** replaces the terms, so it needs a price, a quantity, or both.
* **Reject** closes the line. The message column is optional but we read it.

<Note>
  These examples are trimmed to stay readable. A real file is usually wider: every column your company has enabled goes out blank, so a dozen or more empty columns is normal. Only the price and quantity columns have to be there for the file to be read at all. Fill in whichever others you have information for and leave the rest alone.
</Note>

## Reading the file: the header colours

Every file follows the same layout, whichever stage of the conversation it belongs to. The header row is colour-coded so you can see at a glance which cells belong to whom.

<div className="sn-file sn-wrap">
  <table>
    <thead><tr><th className="o">Header colour</th><th className="o">Meaning</th><th className="o">Can you edit it?</th></tr></thead>

    <tbody>
      <tr><td className="k"><b>Grey</b></td><td className="k">The Seminode Thread ID. It routes your reply back to the right line.</td><td className="k">No. The column is protected in the sheet.</td></tr>
      <tr><td className="o"><b>Blue</b></td><td className="o">Our fields: the part, the quantity, and the price as currently negotiated.</td><td className="o">No, these are for reference.</td></tr>
      <tr><td className="y"><b>Amber</b></td><td className="y">Your fields. Everything we are asking you to fill in.</td><td className="y">Yes, these are yours.</td></tr>
    </tbody>
  </table>
</div>

In the real file only row 1 is filled. The examples above tint the whole column so the bands stay visible at this size.

<Warning>
  Do not edit, retype, or fill-handle drag the Seminode Thread ID column. Dragging it down a column is the single most common way a reply ends up on the wrong line or on no line at all. The column is protected to prevent exactly this, but protection is advisory and some spreadsheet apps ignore it.
</Warning>

## The blank columns are deliberate

**Every** amber column arrives blank. On a file answering a quote you already sent, that includes the values you quoted last round, which surprises people the first time. It is on purpose. The file is a delta: fill in only what you are offering *now*. Whatever is currently on the table is in the blue columns, so the two can never disagree.

Which columns you get is configured by us, and they all arrive blank, so do not read a wall of empty columns as a wall of questions. Only the price and quantity columns matter for the file to be read. The rest are there for when you have something to put in them.

### Columns you fill in

The exact labels are set by us and vary a little between companies. These are the standard ones:

| Column                                                                             | What we want                                                                         | Required  |
| ---------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------ | --------- |
| **Quote Unit Price**                                                               | Your price per unit. Sub-cent pricing is fine, up to 6 decimal places.               | Yes       |
| **Quote Qty**                                                                      | The quantity you can supply at that price.                                           | Yes       |
| **Action**                                                                         | `Accept`, `Reject`, or `Counter`. Response files only.                               | See below |
| **Quote Lead Time**                                                                | Free text, for example `12 weeks` or `stock`.                                        | No        |
| **Quote Message**                                                                  | Any comment on the line.                                                             | No        |
| **Quote Date Code**                                                                | Date code of the material you are offering.                                          | No        |
| **Quote Packaging**                                                                | Reel, tray, tube, and so on.                                                         | No        |
| **Quote Condition**                                                                | Condition of the material.                                                           | No        |
| **Quote MOQ** / **Quote MPQ**                                                      | Minimum order and package quantities.                                                | No        |
| **Quote Stock Available**                                                          | Quantity on hand.                                                                    | No        |
| **Quote Description**, **Quote Region**, **Quote Commodity**, **Quote Full Label** | Attribute detail where we have asked for it.                                         | No        |
| **Quote Contact**                                                                  | The address we should reply to. Semicolons, commas, or pipes all work as separators. | No        |

Some companies add their own fields, which appear as extra amber columns with their own labels. Fill them in the same way.

<Tip>
  Offering an alternative part? If your file has a **Quote Material No.** or **Quote Mfr** column, put the substitute there and leave the blue columns alone. If it does not have those columns, describe the substitution in the message column and we will pick it up.
</Tip>

## The Action column

The Action column only appears on files responding to a quote you already sent. It has a dropdown with three values.

| You choose     | What happens                                                                                   | Do you also need to fill in price and qty?                                                                         |
| -------------- | ---------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **Accept**     | The line is recorded as agreed on the terms as quoted.                                         | No. Anything you leave in the pricing cells on that row is deliberately ignored, so Accept always means one thing. |
| **Reject**     | The line is recorded as declined.                                                              | No.                                                                                                                |
| **Counter**    | The line stays an open quote at the terms you enter.                                           | Yes, at least one of them. A row marked Counter with no quantity and no price comes back to you as unresolved.     |
| *(left blank)* | The row is treated as a straightforward quote, exactly as it worked before the column existed. | Yes, both.                                                                                                         |

The dropdown is a convenience, not a constraint. It survives typing but gets stripped by paste, is ignored by some spreadsheet apps, and is absent entirely if you reply in the email body. So plain text is accepted too:

* **Accept**: `accept`, `accepted`, `yes`, `y`, `ok`, `confirm`, `confirmed`
* **Reject**: `reject`, `rejected`, `decline`, `declined`, `no`, `n`, `pass`
* **Counter**: `counter`, `counter offer`, `counter-offer`, `counteroffer`

Capitalisation and surrounding spaces do not matter. Anything we do not recognise is treated as if the cell were blank.

<Warning>
  One outcome per line. If a single reply marks the same line `Accept` on one row and `Reject` on another, **neither** is applied and the line comes back for you to resend. Counter never conflicts with anything.
</Warning>

## Sending your reply

<Steps>
  <Step title="Fill in the file">
    Complete the amber columns on the lines you want to answer, and delete the rows you are not quoting. Leaving them in works too, since an untouched row is discarded without comment, but most partners find it quicker to cut them.
  </Step>

  <Step title="Reply to the email">
    Reply from an address at the same company domain we sent to. The domain has to be one we have registered as a partner, otherwise the reply is not picked up.
  </Step>

  <Step title="Attach the completed file">
    `.xlsx`, `.xls`, and `.csv` are all read as quote files. Order forms and other paperwork go in the same email, as PDFs.
  </Step>

  <Step title="Send">
    That is it. Each line is matched by its Seminode Thread ID and posted against the right request.
  </Step>
</Steps>

A few rules worth knowing:

* **There is no limit on lines.** One reply can carry as many as you like.
* **The attachment wins.** If you send both a filled-in file and a table in the body, the file is authoritative.
* **You do not have to keep our formatting.** Rebuild the sheet in your own layout if that is easier. Keep the Seminode Thread ID column and keep a price column and a quantity column, and it will parse. Common spellings are all understood, including `Offered Price`, `Quote Price`, `Offer Qty`, `Offered Qty`, `Lead Time`, `LT`, `MPN`, `Part Number`, and `Comments`.
* **A file without a price column or without a quantity column is rejected whole**, not line by line. If you rebuild the sheet, keep both.
* **You do not have to stay in the same email thread.** A fresh email works as long as the Thread IDs are in it.
* **Replying in the body is fine.** Put the Seminode Thread ID next to each line and the values alongside it.

<Note>
  If the Seminode Thread ID is missing from a line, we still try to match it: first against the email you replied to, when that email covered a single line, and then by exact part number against what we recently sent you. Both are best-effort. Including the ID is what makes the match certain.
</Note>

## Order forms and other attachments

Once a line is agreed, the paperwork moves over the same thread. You may receive an order document from us as an attachment, usually with a subject like `Attachment: PO-40182`, sent into the existing conversation for that line. You send back your order confirmation, acknowledgement, or countersigned copy the same way: reply and attach it.

Anything you attach is filed against the relevant line, so our team sees your paperwork next to the price it belongs to. Datasheets, certificates of conformance, and test reports work the same way.

<Warning>
  **Send order forms as PDFs, never as spreadsheets.** Every `.xlsx`, `.xls`, and `.csv` on a reply is read as a quote file, whatever it actually contains. A PO or order confirmation in Excel is parsed looking for prices, found to have none, and set aside instead of being filed against your line. Nothing tells you this happened.

  This catches people out because order forms are so often Excel. Export to PDF before attaching, or send the spreadsheet in a separate email that carries no quote.
</Warning>

<Note>
  Wording matters on an order reply. A message carrying an SO number, or saying *"confirming your order"*, *"PO issued"*, or *"order confirmed"*, is read as accepting the quoted terms, even when the rest of the email just restates part, quantity and price as a summary. If you are confirming receipt but *not* the terms, say so plainly and do not include an SO number yet.
</Note>

**How we decide which line a document belongs to**, strongest evidence first:

1. If your reply resolves to a single line, every document in the email goes to that line.
2. If it does not, but the email you replied to was about a single line, every document goes to that line.
3. Otherwise, per file: if the file name contains a part number from one of your quoted lines, it goes to that line.

<Tip>
  Covering several lines in one email? Put the part number in each file name, for example `PO-40182_LM358DR.pdf`. That is the signal rule 3 matches on. A document in a multi-line reply that names no part may not be filed anywhere. Part numbers shorter than four characters are too ambiguous to route on.

  One order form covering several lines is better sent as its own email replying to a single line, so rule 1 or 2 can place it without guesswork.
</Tip>

**Limits and exclusions:**

|                   |                                                                                                                              |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------- |
| Maximum per file  | 25 MB by default                                                                                                             |
| Maximum per email | 50 MB total by default                                                                                                       |
| Blocked           | Executables and scripts, checked by both file extension and file content, so renaming one does not get it through            |
| Dropped           | Small auto-generated signature images, the `image001.png` and `logo.png` files mail clients add to every footer, under 10 KB |
| Deduplicated      | The same file sent twice against the same line is stored once                                                                |

An oversize file is reported back to us rather than silently ignored, so we can ask you to resend it another way.

## FAQs

<AccordionGroup>
  <Accordion title="Do I need a Seminode account?">
    No. The email path is complete on its own. Accounts are invitation-only right now. If you want one, ask us and we will send an invite that lands you already connected to us.
  </Accordion>

  <Accordion title="Can I quote only some of the lines?">
    Yes. Quote the ones you want and delete the rest. Each line is matched on its own Seminode Thread ID, so a partial file is a perfectly normal reply and does not close anything you left out.
  </Accordion>

  <Accordion title="Will I get a confirmation that my reply was processed?">
    No. There is no automatic acknowledgement, so silence means your reply was handled *or* that a line needed attention. You will not be able to tell the two apart from your side.

    If a line matters and you have heard nothing, chase us. We would rather answer twice than leave a price sitting unread.
  </Accordion>

  <Accordion title="My reply never appeared at all. Why?">
    Almost always the sending domain. Replies are matched to us by the sender's email domain, so a reply from a personal address, or from a domain we have not registered as your company, is not picked up at all. Reply from your work address, and tell us if your company uses more than one domain.
  </Accordion>

  <Accordion title="One of my lines did not go through. What happened?">
    The most common cause is a line carrying a quantity but no price, or a price but no quantity. If you are not using the Action column, a line needs both. A line marked Accept or Reject needs neither.

    The line lands in our review queue rather than bouncing back to you, so ask us and we will tell you what it said.
  </Accordion>

  <Accordion title="I marked a line Counter but nothing happened.">
    Counter with no quantity and no price has nothing to counter with, so the line is held instead of applied. Add the terms you are proposing and resend that line.
  </Accordion>

  <Accordion title="I marked a line Accept but it did not take effect.">
    Either that line had already been decided or closed on our side before your reply arrived, or the same reply marked the same line two different ways. Accept and Reject on one line cancel each other out and neither is applied. Resend with one action per line, or ask us to reopen it.
  </Accordion>

  <Accordion title="Why was my whole file rejected?">
    Either the price column or the quantity column was missing from the sheet. Both must be present, whatever they are called. This one is all-or-nothing rather than line by line, so a single missing header stops the file.
  </Accordion>

  <Accordion title="I accidentally deleted the Seminode Thread ID column.">
    Reply to our original email and attach the file anyway. If that email covered a single line, it will still match. If it covered several, tell us and we will resend it.
  </Accordion>

  <Accordion title="Can I rename the columns?">
    The common alternatives are recognised automatically, including `Offered Price`, `Quote Price`, `Offer Qty`, `Offered Qty`, `Lead Time`, `LT`, `MPN`, and `Part Number`. Keep a price column, a quantity column, and the Seminode Thread ID column and you have room to move on the rest.
  </Accordion>

  <Accordion title="Can I send more than one file in a reply?">
    Yes. Every spreadsheet is parsed and every document is filed against the line it belongs to.
  </Accordion>

  <Accordion title="How long do the download links in your emails last?">
    7 days. Anyone the email is forwarded to can use them during that window, so treat them as you would any shared link. Ask us to resend if one expires.
  </Accordion>

  <Accordion title="Do the parts of a split send have to come back together?">
    No. Each part is a complete file. Return them whenever you are ready, in any order.
  </Accordion>
</AccordionGroup>

## Still stuck?

Reply to the email you received and tell us what happened. If you would rather talk to the platform team directly:

<CardGroup cols={2}>
  <Card title="Documentation" icon="book" href="https://docs.seminode.com">
    Complete guides and tutorials
  </Card>

  <Card title="Contact Support" icon="message-circle-question-mark" href="https://seminode.com/contact-us">
    Contact the Seminode team
  </Card>
</CardGroup>
