VenturusEQ connects to virtually any ERP
If your ERP has a SQL database or an API, VenturusEQ connects to it: customers, parts, rates and history come in, and the won quote goes back out as the order, job or project your system expects. Around the connection sit seven signed webhook events, an inbound HMAC receiver, CSV, XLSX and PDF exports, and quotes that go out from your own Microsoft 365 mailbox.
Popular systems with SQL databases that VenturusEQ connects to
These are the systems we meet most often on shop floors. Each one keeps its records in a database VenturusEQ can read from and write to, so the connection is built on your data model, not on a lowest-common-denominator file drop. If your system is not on the wall, ask; the connection is built the same way.
- EpicorKineticMicrosoft SQL Server
- InforCloudSuite IndustrialMicrosoft SQL Server
- Dynamics 365Business CentralMicrosoft SQL Server
- SAPBusiness OneMicrosoft SQL Server or SAP HANA
- Sage100 · X3Microsoft SQL Server
- AcumaticaMicrosoft SQL Server
- Global ShopSolutionsMicrosoft SQL Server
- JobBOSS²Microsoft SQL Server
- E2Shop SystemMicrosoft SQL Server
- MIE TrakProMicrosoft SQL Server
- abasERPSQL mirror of its database
- OdooPostgreSQL
Product names and logos belong to their owners. Cloud systems such as NetSuite and Plex connect through their APIs.
How a connection to your ERP is built
The same discover, design, deploy and sustain method our team has used on plant floors for years, applied to one connection.
Discover what the ERP holds
Customers, parts, routings, work-center rates, price lists and open orders, and what a won quote has to become in your system: a sales order, a job, or a project.
Map the fields once
Each VenturusEQ field is mapped to its ERP table or API object, with the direction of travel and the rule for a conflict written down and signed off before anything moves.
Connect read and write
Reads bring customers, parts, rates and history into VenturusEQ; writes send the won quote back as the order, job or project, through the SQL database or the API.
Verify on real quotes
The connection runs alongside your current process on live quotes until every number lands where finance expects it.
Sustain
Every hand-off is signed, retried and kept, so nothing is lost silently, and the connection is reviewed with you as your ERP changes.
The seven signed events and what each one carries
Each event is signed, carries an idempotency key, and is retried until your endpoint accepts it.
| Event | Fires when | Carries |
|---|---|---|
quote.won | Staff award a quote and its winning revision becomes the baseline. | Quote id and number, RFQ id, revision, awarded total, currency, previous status, who awarded it, when. |
quote.outcome.recorded | A quote is recorded as lost or no-bid. | Quote id and number, RFQ id, the outcome, probability, reason, competitor, whether the buyer left feedback, who, when. A win is its own event. |
quote.requote.requested | A buyer asks for an updated quote from an expired link. | The quote the buyer asked to have updated. Staff read the request in the product. |
rfq.lifecycle_stage.changed | An RFQ moves between New, Reviewing, Sourcing, Pricing, Quoted and an outcome. | RFQ id and number, the stage it left, the stage it entered, status, who, when. |
sourcing.request.fired | A sourcing request goes out from a quote line. | Request id and number, the RFQ, request kind, service category, status, owner queue, needed-by date, line count, when fired. |
sourcing.request.quote_captured | A vendor's price is captured against the request. | The vendor quote, its request and line, the vendor, unit price, currency, lead-time days, make-or-buy, status, when captured. |
sourcing.request.quote_selected | One vendor quote is chosen for the line. | The vendor quote, its request and line, the vendor, unit price, currency, status, when selected. |
How a delivery is signed, retried and kept
Signed with HMAC-SHA256
HMAC-SHA256 over the timestamp and the body, with the secret issued for your endpoint. Each delivery carries a timestamp header, a versioned signature header and an Idempotency-Key equal to the event id.
Retried eight times
Eight attempts with a growing backoff, from one minute to sixteen hours apart. After the last attempt the event is parked as a dead letter, kept and visible to an administrator, not dropped.
Safe to receive twice
The same event id rides every attempt. Treat a repeat as a no-op and a flaky network costs you nothing.
An inbound receiver with the same signature and a five-minute window
How the receiver works
Your system can post to a per-integration URL. The receiver checks an HMAC-SHA256 signature made with that integration's secret, rejects any timestamp more than five minutes from its own clock in either direction, and uses the idempotency key to discard a duplicate. What passes is recorded as an event against your integration.
The receiver verifies, deduplicates and records each message against your integration, so both sides hold the same history.
Exports and mail
The quote log as CSV or XLSX. PDFs: the staff copy with its draft watermark, the customer document, the accepted-document PDF, and watermarked controlled downloads. Lookup tables as CSV in and out. The controlled-access ledger as CSV. Quote email from your own Microsoft 365 mailbox, configured per deployment. Emails in, as .msg or .eml files on the package.
How the signed events connect everything else
Subscribe an endpoint to quote.won
Register a URL and a secret. Verify the signature on every delivery and store the idempotency key so a retry is harmless.
Create what your system needs from the payload
The event carries the quote id and number, the RFQ id, the revision, the awarded total and its currency. Your system creates its own order, job or project from it, or the ERP connection does that for you.
Subscribe to the other events
Stage changes keep a CRM in step, outcomes carry loss reasons and competitors, requote requests tell you a buyer is waiting, and sourcing events tell your vendor records what was asked and chosen.
Reconcile with the quote log
A scheduled export of the year's register, CSV or XLSX, settles any doubt about what was quoted, for how many hours, and what happened to it.
Acknowledge through the receiver
Post a signed acknowledgement back to the inbound receiver for a two-way record of what your system did with the event.
Common questions
Does VenturusEQ have an API?
Yes. An outbound stream of seven signed webhook events, an inbound HMAC receiver, CSV, XLSX and PDF exports, and a direct connection to your ERP through its SQL database or its API for everything else. The hand-off most shops need first, the won quote into the ERP, is covered on day one.
Will it push a won quote into our ERP or job system?
Yes. When staff award a quote it goes into your ERP as the order, job or project your system expects, through the connection we build with you. The signed quote.won event carries the same facts, the quote id and number, the RFQ id, the revision, the awarded total and its currency, the previous status, who awarded it and when, to any other endpoint you register.
Can I get my quotes out as a spreadsheet?
Yes. The quote log exports the year's register to CSV or XLSX with hours by bucket, values and outcomes. Lookup tables round-trip as CSV, and the controlled-access ledger exports as CSV for review.
See it on one of your own RFQs
Send us a drawing and a model you have already quoted and we will walk through it with you in the product, in your rates. If you would rather look first, the interactive demo is open, with no form in front of it.