E-commerce

How do you manage customer requests on proforma invoices?

How do you manage customer requests on proforma invoices?

July 4, 2026

"Send a proforma for accounting validation before wire transfer." "Your proforma does not mention our intra-EU VAT number." "We paid based on the proforma, where is the final invoice?" The proforma invoice is neither an informal quote nor a standard invoice: it is an intermediate document that blocks B2B orders, exports, and transfers if poorly handled.

Payflo points out that in France, the proforma has no accounting or legal value, does not create a payment obligation, and that a transfer received based on a proforma requires the immediate issuance of a final invoice (Payflo, proforma 2026). Yousign specifies that it is mainly used to structure the commercial agreement before commitment, especially for export and down payments (Yousign, proforma vs definitive 2026).

This guide #321 covers proforma invoice customer support: requests, validation before payment, conversion. Distinct from VAT questions (#160) and Net terms (#234): here we cover the proforma case before cash collection.

Summary

Why do proforma invoices generate so many support tickets?

The proforma falls between a quote and a final invoice. The professional client needs it to validate a budget, obtain an internal PO, open a customs file, or initiate a bank transfer. Your support becomes the bottleneck if no one knows who issues it, how long it takes, and what details to include.

Three recurring pain points

  • Purchase urgency: accounting blocks the transfer without a document

  • Document confusion: proforma mistaken for an invoice to be paid

  • Discrepancies in details: VAT, Incoterm, PO, incorrect company name

Typical volume

On a DTC store with 15 to 40% B2B or export revenue, 5 to 12% of finance tickets relate to proformas, formal quotes, or "invoice before payment". Ramp notes that proformas are used primarily for B2B transactions, exporters, and project service providers (Ramp, proforma 2026).

Principle #321

PROFORMA-LOOP pipeline: request → qualification → PROFORMA-DOC issuance → client validation → payment receipt (deposit or balance) → conversion to final invoice.

How does it differ from VAT #160, Net terms #234, and the B2B quote?

Five neighboring pieces of content, five distinct documents.

VAT Questions (#160)

VAT and invoice (#160): tax-inclusive/tax-exclusive, reverse charge, VAT number on final invoice. The #321: non-accounting preliminary document for validation prior to transaction.

Net terms (#234)

Payment terms (#234): post-delivery due date, account credit. The #321: document prior to first payment, often wire transfer or deposit.

B2B Support (#50)

B2B Support (#50): accounts, RFQ quotes. The #321 focuses on the proforma workflow and accounting validation tickets.

Wire Transfer (#322)

Wire transfer support (#322): reminders, WIRE-PROOF evidence, Pending reconciliation. The #321 covers the proforma as an upstream document of the wire transfer flow.

Promise #321

PROFORMA-INTENT, PROFORMA-POLICY, PROFORMA-DOC, PROFORMA-WORKFLOW, macros, finance handoff, KPI, playbooks.

Which PROFORMA-INTENT taxonomy should be used to route requests?

The PROFORMA-INTENT taxonomy prevents treating every "invoice" request as a tax WISMO.

10 proforma intents

  • pf_request_new: proforma request before order or payment

  • pf_request_update: modify quantities, prices, address on existing proforma

  • pf_mentions_fix: VAT, SIRET, PO, Incoterm, company name

  • pf_validation_status: "accounting has validated, can we pay?"

  • pf_vs_devis: difference between quote / proforma / invoice

  • pf_export_customs: customs, goods value, HS code

  • pf_deposit: deposit based on proforma

  • pf_paid_no_definitive: wire transfer completed, final invoice missing

  • pf_expired: expired proforma, renewal of price/lead time

  • pf_convert_order: convert validated proforma into Shopify order

Helpdesk tags

proforma, sub-tags by intent. Escalate to finance if amount > threshold or export outside the EU. Stripe points out: proforma facilitates B2B PO before payment release (Stripe, proforma B2B 2026).

What must the internal PROFORMA-POLICY document contain?

The PROFORMA-POLICY document aligns support, finance and commercial on who issues what, in how much time.

12 policy blocks

  1. Eligibility: Validated B2B, export, high cart value, custom-made; no standard B2C card

  2. Amount threshold: auto proforma if > €X or on request

  3. Issuance SLA: 24 business hours standard, 4 hours urgent export

  4. Validity: 15, 30 or 90 days (Business Info: set by seller)

  5. Owner: support collects info, finance issues PDF

  6. Template: logo, visible "Proforma invoice" mention, not "Invoice" alone

  7. Mentions: seller, buyer, Registration/VAT number, description, qty, Unit Price excl. tax, VAT, total, export Incoterm

  8. Deposit: % authorized, deposit invoice mandatory if payment received (Keobiz CGI art. 289)

  9. Conversion: validated proforma → draft order or payment link

  10. Payment received on proforma: issue final or deposit invoice within 48 hours

  11. Numbering: PRO- prefix separate from final invoices

  12. Archiving: link proforma ↔ order ↔ final invoice

French legal reminder

Payflo: never book the proforma; payment received = immediate final invoice (Payflo 2026). Yousign: proforma does not trigger VAT; deposit invoice does if deposit is received (Yousign 2026).

How to run the PROFORMA-WORKFLOW in 7 steps?

The standard PROFORMA-WORKFLOW standardises each request from ticket intake to paid order.

7 operational steps

  1. Qualification: PROFORMA-INTENT, amount, country, existing B2B account?

  2. Field collection: company name, billing address, VAT number, PO, accounting contact, Incoterm if export

  3. Cart building: Shopify draft order or ERP quote with contract price

  4. PROFORMA-DOC issuance: PDF template, number PRO-YYYY-NNNN, validity date

  5. Sending + instructions: "Informational document, awaiting your internal validation. Payment on deposit or final invoice according to PROFORMA-POLICY."

  6. Validation follow-up: tag pf_pending_validation, reminder at D+7 if silent

  7. Conversion: PO received → payment link, bank transfer (see #322) or confirmed draft order → deposit/final invoice

QuickBooks pattern

Many tools start from an Estimate converted to a final invoice once the deal is confirmed (QuickBooks, proforma 2026). Same Shopify logic: draft order = proforma base, invoice app or ERP = final.

Workflow restrictions

Sending a proforma labeled "Invoice" without mentioning proforma. Promising delivery times not validated by ops. Accepting bank transfers without planning a deposit or final invoice.

Which PROFORMA macros for support and finance?

PROFORMA macros reduce back-and-forth communication with accounts receivable. Prefix PF-.

8 essential macros

  • PF-REQUEST: list of fields to provide (company name, VAT, PO, address, contact)

  • PF-SENT: "Proforma PRO-{num} attached, valid until {date}. Informational document prior to validation."

  • PF-UPDATE: "Revised proforma PRO-{num_v2}, replaces version {num_v1}."

  • PF-VS-DEVIS: "The quote is a commercial offer; the proforma formalizes amounts for your purchasing/customs department."

  • PF-ACOMPTE: "Deposit {pct} %: deposit invoice {num} issued after receipt of bank transfer."

  • PF-PAID-DEFINITIVE: "Payment received, final invoice {num} within 48 hours."

  • PF-EXPIRED: "Proforma expired on {date}. New version updated with current prices: please confirm?"

  • PF-EXPORT: Incoterm, customs value, EORI details if applicable

Required variables

{proforma_num}, {valid_until}, {amount_ht}, {amount_ttc}, {po_number}, {payment_instructions}. Link support templates (#34).

How to manage client validation, down payments, and order conversion?

The validation before payment phase concentrates the most repetitive tickets.

Scenario A: internal buyer validation

Client sends signed PO or "good for agreement" email. Support tags pf_validated, transfers to finance for payment link or bank transfer details. Uncap: Shopify Plus B2B accounts see invoices and payment history in the portal (Uncap, B2B payments 2026).

Scenario B: deposit required

Proforma mentions 30% upon ordering. Infos Entreprises: issue regulatory deposit invoice, not just proforma (Infos Entreprises 2026). Keobiz: VAT is due upon receipt of deposit, deposit invoice is mandatory for deduction (Keobiz, deposits 2026).

Scenario C: full payment before shipping

Export or custom-made. Client pays on proforma basis: finance issues final or deposit invoice within 48 hours, then order goes to fulfillment after bank reconciliation.

Scenario D: expired proforma

Prices or stock have changed. Macro PF-EXPIRED + new proforma. Do not honor old amount without sales validation if margin is impacted.

Shopify order statuses

Draft order "Proforma sent" → "Awaiting payment" → "Paid". Internal note: PRO- number and client PO.

How to handle export, customs, and documentary letters of credit?

Export proforma requests require specific mentions and SLAs distinct from metropolitan France B2B.

Mandatory export fields

  • Incoterm (EXW, FOB, DAP, DDP) and place of risk transfer

  • Net/gross weight, packages, origin of goods

  • HS Code per line if required by customs

  • Currency and rate if billing is outside EUR

  • Seller and buyer EORI if applicable

Bank and L/C

Factureproforma.fr: documentary credits often require a proforma to open the letter of credit (Proforma Invoice, 2026 guide). Escalation to finance + export manager, no support-only resolution.

Export VAT

EU B2B export proforma: reverse charge VAT if valid intra-community number (cross-reference #160). Outside EU: exempt export, legal mention on PROFORMA-DOC. Support collects VAT number, finance validates in VIES.

SLA Deadline

Export: 4 business hours if urgent customs file. PF-EXPORT template with list of attachments (customer Kbis if first purchase).

Which vertical playbooks for pro equipment, cosmetics, and mixed DTC?

The priority proforma intents vary depending on the B2B/B2C mix.

Professional equipment / B2B light

Peak pf_request_new and pf_convert_order. Net terms sometimes after first proforma + deposit. Link payment terms (#234).

Cosmetics / pharma light

Batches, expiration dates, minimum quantities on proforma. Regulatory statement of the destination country. Quality validation before issuance if exporting.

Custom-made / personalization

Proforma is almost systematic before production. 50% deposit pattern. Link personalized products.

DTC with a few pro accounts

Risk: B2C support treats proforma as a WISMO invoice. Route the proforma tag to the finance queue as soon as a SIRET or "purchasing department" is detected.

Marketplace seller

Proforma out of scope for standard marketplace: redirect to direct B2B channel if policy allows.

Which KPIs should be measured on the pro forma flow?

Measure delay and proforma conversion, not gross finance ticket volume.

Monthly KPIs

  • pf_sla_issue: % of proformas issued within SLA policy

  • pf_conversion_rate: validated proformas / issued proformas

  • pf_time_to_payment: days between proforma sending and payment receipt

  • pf_revision_rate: revised proformas / total (collection quality)

  • pf_paid_no_invoice: payments without final invoice within 48 hours (target 0)

  • pf_expired_lost: lost deals due to expired proforma

  • pf_ticket_touch: average messages per proforma file

Monthly finance × support review

Top reasons for pf_mentions_fix → enrich template. pf_paid_no_invoice > 0 → accounting process alert. Miva recommends end-to-end testing PO → proforma → invoice (Miva, B2B invoice 2026).

How does Qstomy qualify and accelerate proforma requests?

Qstomy does not replace the finance PDF issuance, but automates the collection, qualification, and tracking of PROFORMA-INTENT.

Capabilities

  • Intent pf_request_new: conversational form with PROFORMA-POLICY fields

  • Auto-distinction between proforma vs. final invoice vs. quote

  • File status: pending / sent / validated / paid

  • Customer reminder if validation is pending at D+5

  • Finance escalation with structured payload (SIRET, PO, amount)

  • Pre-filled PF-* macros from Shopify draft orders

DTC Encrypted Scenario

Pro equipment brand, 22% B2B revenue. Before #321: 47 proforma tickets/month, 3.2 days average issuance delay, 28% revisions of mentions, pf_conversion_rate 41%. After PROFORMA-WORKFLOW + Qstomy collection: delay 1.1 days, revisions 11%, pf_conversion_rate 58%, pf_paid_no_invoice 0 over 6 months.

See AI support, sales agent, Shopify, demo. Linking: bank transfer (#322), payment bot (#323).

Which playbooks to industrialize PROFORMA-LOOP in four weeks?

Playbook 1: 90-day finance ticket audit (4 h)

Export "proforma", "invoice before payment", "PO". Retroactively tag PROFORMA-INTENT. Measure delay and revisions.

Playbook 2: draft PROFORMA-POLICY (1 day)

12 blocks in section 4. PDF template validated by accountant. Numbering prefix PRO-.

Playbook 3: macros + workflow (4 h)

8 PF-* macros. Document 7 steps of PROFORMA-WORKFLOW. Train support + finance handoff.

Playbook 4: pilot with 10 B2B accounts (2 weeks)

Measure pf_sla_issue and pf_conversion_rate. Adjust field collection.

Playbook 5: monthly review (60 min)

KPI section 10. Correct pf_paid_no_invoice. Enrich template export mentions.

Useful links

This week: list your last 10 proformas and check if each received payment has a final invoice or a deposit invoice issued within 48 hours. If this is not the case, PROFORMA-POLICY block 10 is not being applied.

Enzo

July 4, 2026

Convert over 2,000 customers on average per month with Qstomy.

The world’s 1st Shopify AI dedicated to customer conversion

Empowering 200+ e-commerce merchants

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.

Subscribe to the newsletter and get a personalized e-book!

No-code solution, no technical knowledge required. AI trained on your e-shop and non-intrusive.

*Unsubscribe at any time. We do not send spam.