TCP Logo

Every request for quote drafted into Epicor Quote Entry

Requests for quote arrive as PDFs, scans, photographs, spreadsheets, Word files or plain email text, from a customer, a rep or your own inbox. Fluent reads them, resolves the customer, the parts, the units and the part revisions against live Epicor data, and drafts the quote in Kinetic for a person to review and process.

How it works

Build the quote from live Epicor data

The customer, the parts, the units and the revisions resolved against Epicor, and configurable parts priced by Epicor itself.

Resolved against Epicor

The buyer and every line confirmed against live data, including parts the customer orders under their own numbering.

  • Customers, by name and ID
  • Parts, including the customer's own numbers
  • Units and part revisions

Priced by Epicor, not by us

Where a line carries a configuration, Fluent works the Epicor product configurator and reads the configured price back onto the line.

  • Configurations answered from the request
  • The configured price comes from Epicor
  • Revisions resolved before configuring

Ready to review

A part or a unit that resolves to nothing is held on the draft with the reason, because no match beats a speculative match.

  • Unresolved lines named with the reason
  • Missing header values listed
  • Nothing posts until a person processes it

The difference

No templates, no field mapping, no model training

Legacy document capture is configured per layout: a template for each vendor, a coordinate for each field, a model retrained when the paperwork changes. Fluent is configured in written instructions, and rewriting them changes what it does.

Templates

A template for every vendor, layout and document type

Reads each document the way a person does, whatever the layout

Field mapping

Fields found by position, so a moved column breaks extraction

No coordinates. It consults live Epicor data before it writes

Model training

Models retrained on samples whenever a design changes

Corrections become instructions, so it improves without retraining

Exceptions

Exceptions fall out to a queue for manual keying

Reasons through variations and exceptions instead of failing

Changing behavior

Behavior changes through a configuration project

Behavior is set in written instructions you control

Governance

Autonomy you can hand to an auditor

Every agent operates inside boundaries you define. Every action it takes is recorded, explainable, and reversible before it posts.

Approval thresholds

An order over an amount or outside a price tolerance goes to the approvers who own it.

Audit logs

Every field the agent read, every decision it made, on the record.

Data retention

Your documents and data stay under retention policies you control.

Epicor validation

Transactions are validated by Epicor’s own business logic before they post.

Human review

Exceptions escalate to your team with the agent’s reasoning attached.

Permissions

Agents only touch the business objects and companies you allow.

Customers

What customers are saying

“People should not feel like it’s too good to be true, because it works.”
JillIT Manager, Metalworks
“My dreams have been answered. … Check out Fluent. 10/10 customer service & ease of use!”
Bonnie KlassenPresident, Klassen Custom Metal Fabrication
“We started our implementation call at 4:30 yesterday. First sales orders processing by 4:50. Minimal mistakes out the box.”
Richard GardnerGroup IT Director, Luceco
“The Fluent team got connected very quickly and orders are flowing well. Some mistakes, but easy to resolve with some agent tweaks. Really impressive platform.”
Will BoltonSenior IT Technician, ILIV Interior Textiles
Read more on EpiUsers.help

Workflows

Automate other workflows

Erp.UI.SalesOrderEntry

Order Entry

Customer purchase orders posted as sales orders, checked for duplicates before drafting.

Erp.UI.CustShipEntry

Customer Shipment

Shipping instructions become packs, every line resolved to its order release.

Erp.UI.ARInvoiceEntry

AR Invoice Entry

Customer invoices and credit memos posted so billing stops waiting on a person.

Erp.UI.CashRecEntry

Cash Receipts Entry

Payments applied to the open invoices they settle.

Erp.UI.POEntry

PO Entry

Vendor quotes and requisitions become purchase orders, priced in the vendor's own currency.

Erp.UI.ReceiptEntry

Receipt Entry

Packing slips received against the purchase order line by line, in the unit the supplier shipped.

Erp.UI.APInvoiceEntry

AP Invoice Entry

Supplier invoices matched two-way or three-way against the order and the receipt.

Erp.UI.TimeEntry

Time Entry

Timesheets and shop paperwork posted against the right job and operation.

Erp.UI.IssueMaterialEntry

Issue Material

Material issued to the job without looking up the sequence by hand.

See all agents

Frequently Asked Questions

Fluent records that it could not resolve the value, with the reasoning behind it, and leaves the quote in review. No match beats a speculative match: a quote is never created without a customer, and a line whose part or unit resolves to nothing is held on the draft with the reason written on it rather than sent to Epicor as a guess.

In Quote Entry. The header, the lines and the miscellaneous charges are committed together, so Epicor assigns the quote number and a line it rejects takes the whole quote back rather than leaving a header with no lines. The source files are attached to the quote, and the expiration date is left to Epicor's own quote-date controls.

Nothing posts unattended. Every run ends in a draft carrying whatever the agent could not settle: a customer it could not match, a line without a part, a unit that fell back to the part's sales unit. A person edits the draft and presses Process, and only then does anything reach Epicor. Approvers may approve or reject, never process.

That is the case the part step is built for. Alongside your part master, Fluent reads the Epicor cross-reference for the matched customer, which maps that customer's part number to yours, plus that customer's own past orders and quotes. When none of the three is convincing, the line comes back unmatched with the reasoning attached rather than matched to something that only looks close.

A configuration is only meaningful against a specific part revision, so turning on part configuration turns on revision selection with it. If a part is configurable but has no approved, effective revision, the line is left unconfigured with an explicit error instead of being configured against whatever revision the server would have picked. With price lists in use, prices are not sent at all: Epicor assigns them, and every line where the quoted price differs from the assigned one is flagged on the draft as a price variance.

See it draft a quote from one of your own RFQs

Send a real request for quote and read the Quote Entry draft it produces, with every unresolved field named.