# A quote from a photo, PDF or spreadsheet on WhatsApp

> Send Dri the photo of the notebook, the PDF or the customer's spreadsheet and get the quote built with products from the catalog.

Source: https://vendria.com/en/ajuda/cotacao-por-foto-pdf-e-planilha

## Where to find it

In the conversation with Dri. The customer sends you the order their way (a photo of
the notebook, the PDF their system generates, a spreadsheet) and you forward the
file to Dri on WhatsApp, in the Dri chat or on Telegram. It reads the items,
matches them to the catalog and returns the quote already built.

The quote created stays in **Quotes**. The reading is recorded in **AI
actions**, with the original file, which you open from the conversation.

If you prefer to do this on the computer, the same kind of file goes in through the
screen. See [Import a quote on screen: photo, PDF or spreadsheet](/en/ajuda/importar-cotacao-pela-tela).

What makes Dri get it right the first time (full code, quantity, negotiated
price and the customer's CNPJ in the same file), with examples of each format,
is in [Pedir pela Dri no WhatsApp](/ajuda/pedir-pela-dri-no-whatsapp).

## The files Dri reads

- **Photo** (JPEG, PNG or WEBP): including handwritten orders.
- **PDF**: the order generated by the customer's system. A PDF that is just the photo of
  a scanned paper is read as an image, and then the reading has the same chance of
  open questions as a photo.
- **Spreadsheet**: .xlsx, .xls or .csv. The file the customer's system calls
  Excel and that is a web page inside is also read: Dri
  recognizes the format by the content, not by the name.
- **Audio**: it transcribes it and treats it as text.

It does not read video: the reply is **🎬 I can't watch videos yet.** A
file of another type gets a reply that names the format, for example
**🤔 I don't read *.docx* files yet.**, followed by the list of what it reads (photo,
PDF, spreadsheet, audio or text). When the file type cannot be identified,
the reply is **🤔 I can't get an order out of this type of file.**

On WhatsApp, a file above 50 MB is not opened; the reply asks you to
split the order into parts.

**A link is not a file.** Dri does not download anything from a link (CamScanner,
Google Drive, WeTransfer): it only reads the file that arrives in the conversation. Download the
PDF or the photo and send the file.

**A file Vendria itself generated.** The product list Dri exports
is not an order: when it comes back with the name Vendria gave it, the lines go in
with an assumed quantity, without using the list's stock, box or price as an
order, and the reply warns **📋 This file is
a catalog list generated by Vendria, not an order** and asks how much of
each to send. A PDF or spreadsheet of an exported quote, on the other hand, is read as an order and becomes
a new quote. To change the quote that already exists, do not resend the file:
see [Adjust the list without redoing the whole request](/en/ajuda/ajustar-a-lista-sem-refazer) and [Build a quote by text on WhatsApp](/en/ajuda/montar-cotacao-por-texto-no-whatsapp).

## How to send the photo so it reads better

Photo quality is what weighs most when reading a handwritten order.

- **Send the photo in high quality.** On WhatsApp, turn on HD media sending
  in the app settings, or send the photo as a **Document**: it
  arrives uncompressed. On Telegram, attach it as a **File** instead of a **Photo**.
  When the photo arrives small, Dri itself sends this tip.
- **Frame the whole sheet**, with even light and the phone parallel to the paper.
- **Several pages**: send them all together. A batch goes up to 20 photos; the ones
  beyond that are not read.

⚠️ When several photos arrive at the same instant, WhatsApp does not tell the order
in which they were sent. Dri warns in the reply for you to check the sequence
of the pages. If it got mixed up, resend the photos one at a time, in the right
order.

## The text that goes with the photo

Dri reads the text you write with the photo (the caption) for four things:
what to do with the photo, the quantity, the customer and two order terms — the
payment terms and the discount.

**Text sent right before the photo also counts.** If you write
*"Make a quote / CNPJ 60.677.339/0001-59 / Terms 30 45 60"* and send the photo right
after, the two messages are read as one. This applies when the text is an
order header (it names an order, quote or estimate, brings a CNPJ,
quantity, payment terms or discount); a *"hi"* or a question still count as a
message on their own.

This applies to photos, including one sent as a **Document**. Text that goes
with a PDF or a spreadsheet is recorded in the conversation, but it is not read
to build the quote: the customer and the quantities come from the file itself.

- **Quantity.** *"send 2 boxes"*, *"1 box of each item"*, *"3 of this"*:
  applies to each item where the photo had no quantity. The quantity written
  on the paper is never replaced by the caption's. If the sheet already says 40 boxes, the
  sheet's number stays. On a photo of the product itself, recognized by the
  image, only the number is taken: see [Product photo without a code: how Dri recognizes it, and when she prefers to read](/en/ajuda/foto-de-produto-sem-codigo).
- **Customer.** The CNPJ (with or without punctuation), the customer code or the name as
  it is in the record, for example *"these are for MERCADO EXEMPLO"*. The CNPJ is
  the safest way. It applies when whoever sends the photo is from the company (seller or
  administrator), not the customer. A seller only links customers from their own
  portfolio; an administrator reaches any customer in the organization.
- **The paper beats the caption.** If the sheet has a CNPJ (even one that is not
  in the records), or a name the records recognize, the caption does not change the
  customer.
- **A name that fits two customers is not chosen.** The quote comes out without a
  customer and you choose on screen.

- **Order payment terms and discount.** *"terms 30/45/60"*, *"cash payment"*,
  *"with a 50% discount"*. The payment terms go into the quote; the discount is applied
  after it is created, and respects the store's ceiling — when it goes over the ceiling,
  Dri says so. The numbers of the payment terms and the discount are by **no** means confused with
  quantity.
- **What it does not read in the caption:** payment method, carrier, freight,
  note and purchase order. Those go in a message after the quote is
  created — see [Change the order's terms on WhatsApp](/en/ajuda/mudar-as-condicoes-do-pedido-pelo-whatsapp).

**The caption decides what Dri does with the photo.** In some accounts:

- **An order caption** — *"Build quote FWB"*, *"here is the order"*, *"2
  boxes of each"* — or **a photo with no caption at all**: the photo becomes a quote,
  directly, with no extra step.
- **A question about what is in the photo** — *"what size is it?"*, *"is it in
  stock?"*: Dri reads the codes in the photo and answers the question about them:
  **no** quote is created, and it warns **📸 I only used the codes in the photo to
  answer**.
- **Another subject** — *"build a catalog with these refs."*, *"I want the
  boletos for this sale"*: the same applies. Dri uses what the photo shows (the
  codes, the sale number) as a reference and does what you asked.
- **It could not tell** what you want, and the reading did not recognize
  an order in the image either: Dri asks, with three buttons, **📷 I got your image,
  but I didn't recognize an order in it. What do you want me to do?**. You can
  reply by tapping the button or by writing (*it's an order*, *lookup*,
  *something else*).

To only look something up without sending any photo, write the code as text. See
[Consultar preço e estoque pela Dri](/ajuda/consultar-preco-e-estoque-pela-dri). When the caption asks about a product
mentioned by code or name (*"how much is AB10371?"*), the reply comes
with the product card and the photos are set aside; Dri warns **📸 I read your
question and have NOT read the photos yet.**

> 🚧 **Being rolled out: Dri looks at the file before deciding.** We are gradually rolling
> out a new way for Dri to handle photos, PDFs and spreadsheets, the same for all three:
>
> - **Barcode photo**: it reads the code and shows the product. A code that
>   is not in the catalog, it says it did not find, and it never swaps it for another product.
> - **Product photo without certainty of which one it is**: it asks **📷 I'm not sure
>   which product this photo is. Is it one of these?**, with the candidates and the
>   **None** option, before building the quote.
> - **A list of codes without quantity and without a sentence saying what to do**: it
>   asks, with the buttons **Build quote**, **List for registration** and **Price and
>   stock**. Buyers do not get the registration option.
> - **Photo of a boleto or invoice with a legible number**: it moves on to the duplicate copy
>   or the status. If a digit may have come out wrong from the photo, it shows the number
>   it read and asks you to write the request with it.
>
> Until your account gets the new feature, what is described above applies.

## What it replies as soon as the file arrives

The first reply confirms receipt, before the reading: **📄 Got the
PDF, reading it…**, **📊 Got the spreadsheet, reading it…** or, for photos,
**📷 Got the image, reading it…**. The notice does not say «quote» because Dri
does not yet know what the file is: it may become a quote, a list or a question.

Photos sent in sequence become a single batch. Dri waits a few seconds without
a new photo and replies once, with the count (for example **📷 Got the 6
images, reading them…**). You don't need to say you have finished sending.

## What happens after it reads

Dri reads the file, matches each item to the catalog, applies the price and **creates the
quote right away**: you do not choose anything beforehand. While building, it may warn with
**⏳ Building the quote in the system**, followed by how many items it is matching.

The reply starts with **✅ Quote created!**, says how many items were
processed (with the source icon: 📷 photo, 📄 PDF, 📊 spreadsheet) and brings the store,
the customer, the count of issues and the link to open the quote. At the end come
two buttons:

1. **Export**: generates the quote file; if you did not say the format, it
   asks Excel or PDF. See [Export the quote as Excel or PDF on WhatsApp](/en/ajuda/exportar-cotacao-pelo-whatsapp).
2. **Add items**: Dri replies **👍 Send the items: photo, document
   or text. I'll add them straight to the current quote.** and the next photo, spreadsheet
   or message goes into the same quote.

## Quantity without a unit: box or piece

When the photo, PDF or spreadsheet brings only the number, without saying whether it is a box or a
piece, your company's default applies. The order is this:

1. **The unit written on the line beats everything.** "10 bx" is boxes and "10 pc" is pieces.
   In a spreadsheet, a unit column is read line by line.
2. **The other lines of the same order** decide next: if most of the
   lines with a unit are in boxes, the line without a unit goes along.
3. **The company default**, which the administrator chooses in **Default unit
   when the quantity comes without a unit** (see [Configurações: as lojas da organização e as chaves de cada uma](/ajuda/configuracoes-lojas-da-organizacao)). With no default set, Dri decides
   from the order itself: the line stays in pieces and, when the number does not close the
   packaging, it gets an issue for you to confirm box or piece.

The preference you told Dri in the conversation (*"I always order in boxes"*)
only applies to what you type or say. Photos, PDFs and spreadsheets follow the
company default, because the paper is almost always the customer's order.

A product without registered packaging never becomes boxes. When Dri applies the default,
the reply has a line that starts with **📦 No unit in the message**, with the
unit used and the reason, followed by the first converted lines (code,
boxes and pieces).

### Sent in pieces and it became boxes: how to undo it

If the customer ordered in pieces and the quote came out in boxes, undo it on screen:

1. Open the quote through the link in the reply.
2. In the **Order review and adjustments** panel, under **Packaging and units**,
   look for the **Quantities in boxes** line.
3. Click **Convert to pieces**. The quantities go back to the number that came in the
   order and the total is recalculated.

The button shows while the quote can still be edited. Through the conversation, today,
you can only fix it item by item, for example *"make it 240 units of
AB10371"*.

## Send more files with a quote open

With a quote open in the conversation, Dri does not merge the new file on its own. It
replies, with the source icon, how many items it found and how many the active
quote already has (for example *"📄 12 items found. You have an active
quote with 8 items."*), with two buttons: **Add to quote** and **New
quote**.

- **You can reply by writing.** *"add"*, *"merge"*, *"same one"*,
  *"new"*, *"another"* or *"separate"* count as tapping the button. A number
  on its own does not: Dri reads the digit as a quantity.
- **Reply before sending the next file.** The question keeps only the last
  reading: two PDFs sent one after the other, with the question still open,
  leave only the second one waiting for the answer.
- **Add items applies to the next input.** Once the button is tapped, the next
  photo, spreadsheet or message goes straight into the quote, with no question. After
  that, the question comes back.
- **Adding sums.** A code that is already on the quote is added to the existing
  line, and the reply shows *"line summed, now X"*. Sometimes the code stays
  on a separate line, and the reply says why: allocation by branch, quantity
  or price reading pending, box or unit to confirm, or a code
  repeated in the document.
- **"undo" removes the last batch.** The message *"undo"* removes the items the
  last batch added and undoes the sums it made. See [Start over, end and the conversation commands](/en/ajuda/recomecar-encerrar-e-comandos-da-conversa).

## When what you want is just the list, not the quote

Sometimes the customer's file is not an order: it is a product list to
register in their system, or to find out the price. This is not yet released
to everyone. Where it is released, you ask for the list and Dri returns the price
list with the products from the file, in the usual formats (Excel or PDF),
without building a quote.

- **Write it with the file, or right before it.** Sentences like *"convert it to the
  registration template"*, *"send this as an excel list"*, *"fill in the
  product information from this spreadsheet"* or *"just the prices, without making an
  estimate"* ask for the list. This applies to photos, PDFs and spreadsheets.
- **You can write before sending the file.** A list sentence that announces the
  file, such as *"can you fill in the product information from the spreadsheet I'm
  going to send below"*, gets an immediate reply asking for the file. The first
  file that arrives, within 15 minutes, uses up that sentence: if it comes without
  text, the sentence counts as its text; if it comes with its own text, its own text counts — and the
  sentence does not keep waiting for the next file.
- **Wrote only the format?** With *"send it in excel"* and nothing else, Dri reads the
  file and asks what you want, with the buttons **Build the quote** and **Just
  the list**.
- **The list comes out with the products it found in the catalog**, in the order of the
  file, with the price table and discount of the customer active in the conversation. Quantity and
  price that came in the file do not go in. The list message says how many items
  went in, which were matched by description (check those) and which were missing.
- **The reading is valid for 15 minutes.** After that, send the file again.
- **Already became a quote?** With the quote open in the conversation, ask *"now send it
  as a list"*. If that quote was just born from the file and nobody has touched
  it, the reply also brings the **Discard** button with its number.
- **A large file asks first.** More than 300 items with nothing written: Dri
  asks whether it really is a quote of that size or just the list. Above the item
  limit of a quote, the buttons are **Send the list** and **I'll split it**.
- **A file without any quantity.** Up to 300 lines, none with a quantity and
  nothing written: the quote is built as usual, and the reply brings the buttons
  **Send as list** (sends the list and discards the quote) and **It's a quote
  after all** (changes nothing). If you tap neither, the quote stays as it is.

Buyers always get the quote. More about the list in [Generate a product list on WhatsApp](/en/ajuda/gerar-lista-de-produtos-pelo-whatsapp).

## The customer comes from the document when possible

If the document has the customer's CNPJ, Dri looks it up in the records and, if found,
builds the quote for them right away, with the negotiated discount. The customer on the document
counts more than the customer that was chosen in the conversation, and more than the customer
written in the caption.

Without a legible CNPJ, or with a CNPJ that is not in the records, the quote comes out without a
customer (the reply shows **👤 Buyer not identified**) and you provide the
customer afterwards. When the sheet has no CNPJ at all, write the customer's CNPJ
in the caption of the photo itself. If the sheet has a CNPJ, that is the one that counts, even if it is not
in the records, and the caption does not change it. See [Choose the conversation's customer on WhatsApp](/en/ajuda/escolher-o-cliente-na-conversa).

## An order with items from two stores

When the file has codes from two stores you serve, Dri creates one
quote per store, as long as the organization's **Multi-store cart** switch
is on (it comes on). The reply opens with **✅ 2 quotes created!**,
lists each store with the quote number, its items and its total, and brings the
**See the full purchase** link.

With a quote open, prefer **New quote** for an order from another store:
that way Dri splits by store. What you add goes into the open quote,
even if it is from another store, and shows up there as an issue. See [When one order becomes several: the multi-store purchase from the company's side](/en/ajuda/compra-multi-loja-do-lado-do-vendedor).

## An order from a store that is not in your portfolio

If all the codes found belong to a store that is not in your portfolio,
Dri **does not create** the quote. It says which store the order seems to be from, how many
items matched there, and offers the **Create anyway** button. If you need
access to that store, talk to your manager.

When only some of the items not found seem to be from that store, the quote comes out
normally and the reply warns in a line that starts with **↪️**. On screen, those
lines show up flagged, and the **Order review and adjustments** panel offers
**Discard (N)**. See [A line from another store in a purchase: which store is this item from?](/en/ajuda/linha-de-outra-loja-na-compra).

## Photo refused before reading

Before the reading, each photo goes through a quality check. If it is
blurry, too dark or too small, Dri replies **📷 The photo came out
hard to read:** with what to fix, and asks for another one. A failed photo holds
the whole batch: retake the one that was refused and send them again. See [When the photo is refused before it is even read](/en/ajuda/quando-a-foto-e-recusada-antes-de-ler).

## A photo of the product, without a written order

If the customer sends a photo of the product itself (the box on the shelf, the item in
hand), Dri tries to recognize the product from the catalog photos instead of reading.
See [Product photo without a code: how Dri recognizes it, and when she prefers to read](/en/ajuda/foto-de-produto-sem-codigo).

## When it is unsure about an item

Photos and scanned PDFs generate reading open questions much more often than
spreadsheets: a smudged code, two similar products, a quantity that could be
boxes or pieces. Dri **does not ask this in the conversation**: it builds the quote, shows
**🔍 N issues to review calmly on the quote** and leaves each open question on the
line, for you to resolve on screen. See [When Dri asks, and how to answer](/en/ajuda/quando-a-dri-pergunta-e-como-responder).

A number read in place of the quantity that is, in fact, the code of a line
in the document (a product sheet forwarded as a photo, for example) does not
become thousands of units: the line goes in with an assumed quantity and an
issue saying that number is the code.

## I sent it and got no reply

After the receipt notice, Dri replies with the quote, with a question,
with a request for another photo or with an error message. The most common error
messages, and what to do:

- **I didn't find items in this PDF.**: the reading did not find an order. Send the
  items as text or another file. For PHOTOS, this situation became a question:
  **📷 I got your image, but I didn't recognize an order in it. What do you want
  me to do?**, with the buttons *It's an order*, *It's a lookup* and *Something
  else*.
- **❌ I couldn't process the PDF. Try sending it again.**: send the same
  PDF again. Spreadsheets have the equivalent message, and when the problem is in the
  file (a password-protected spreadsheet, a format that needs to be saved again) the
  reply says what to fix.
- **⚠️ An error occurred while processing the images. Try again.**: send the
  photos again.
- **😕 Something went wrong on our side and I couldn't read the photos you
  sent.**: the photos were not processed. Send them again.
- **⚠️ Our extraction service is temporarily unavailable.**: try
  again in a few seconds.
- **⚠️ AI service usage limit reached.**: trying again does not help.
  Let the administrator know, as the message itself asks.

If nothing arrives a few minutes after **Processing**, send the file
again once. If it happens again, let your manager know.

## Common questions

**I sent six photos and only got a request for another photo. Why?** One of them
failed the quality check, and that holds the batch. Retake the indicated photo and
send them all again.

**The quote came out without a customer, but the CNPJ was on the order. What happened?** The CNPJ
may not have been legible or may not be in the records. Provide the customer through the
conversation or on screen. Writing the CNPJ in the caption does not help in this case: when the
sheet has a CNPJ, the sheet's is the one that counts.

**I wrote 40 boxes in the caption and got 1 box. Why?** The quantity read on the
sheet beats the caption's. If the reading found a number on the paper, that is the one that stays,
and sometimes that number is the packaging printed in the photo: the 24 on a box with
24 pieces becomes 24 pieces, which is 1 box. Fix it on the quote line or tell Dri the
right quantity.

**I asked the price along with the photo and it became a quote. Why?** In some accounts
a question along with the photo is answered about the codes it shows, and the
quote is not created. In the others, the photo is always read as an order — there, to
only look something up, send the code as text, without a photo.

**I wrote the discount with the photo and it didn't go in. How do I apply it?** Discount and
payment terms written in the caption (or in the message right before the photo) are applied. If
the discount goes over the store's ceiling, Dri says so in the reply and it is not applied —
in that case talk to whoever manages the store. If it still doesn't go in, send it
in a message after the quote is created, for example
*"give a 5% discount"*.

**I sent the spreadsheet in pieces and the total came out huge. What happened?** The quantity
without a unit was read in boxes by the company default and multiplied by the
packaging. Use **Convert to pieces** on the quote, or send it again with a
unit column.

**I resent the corrected list and the quantities doubled. Why?** Adding to the
quote sums onto the line that already exists. Send *"undo"* to remove the last batch
and then say the right quantity, for example *"change AB11729 to 2 boxes"*,
or adjust it on screen.

**Can I ask for "undo" right after the quote was created?** Not to delete
the quote: *"undo"* only removes the last batch added to a quote that was already
open. To start another one, see [Start over, end and the conversation commands](/en/ajuda/recomecar-encerrar-e-comandos-da-conversa).

**I sent more photos later and it became another quote. How do I merge them?** With a quote
open, Dri asks **Add to quote** or **New quote**. To go
straight to the same one, tap **Add items** before sending.

**I sent photos with items from two stores. What happens?** On a new quote,
Dri creates one quote per store and replies **✅ 2 quotes created!**.

**The customer sent me a CamScanner link. Can I forward the link?** No:
Dri does not open links. Download the PDF and send the file. A scanned PDF is read as a
photo, so check the issues on the quote.

**What is the photo limit?** Up to 20 per batch. Above that, send them in more than one
go.
