Every buyer who comes from your WooCommerce store finds a matching record in the CRM.
Orders, payments and delivery run in WooCommerce; the buyer, the quote request and the wholesale customer are recorded in the CRM. We build the connection ourselves, with the REST API, webhooks and import.
A store on your own server: flexible, but nobody owns it
If your WooCommerce installation was set up by an agency, grew over the years through plugins and no longer has a single owner inside the company, that flexibility looks like this on the sales side:
- Customer data sits in the store database, quote requests in a form plugin, correspondence in a mailbox. None of the three knows the others.
- A “price for a bulk order” request from the site lands in a shared mailbox; who will handle it is unclear, and the ones left unanswered are never seen.
- The same company both buys retail from the site and negotiates wholesale; that the two belong to the same customer comes together on no screen at all.
- Store reports describe the order, not the customer: who bought a second time, who returned an item, who complained — none of it sits together.
- When the agency changes, or when a plugin goes un-updated, historical data is put at risk; nobody holds a copy that has been taken outside.
This picture is not a store-software problem, it is an ownership problem. What the CRM does is not to replace the store; it is to move the customer side somewhere independent of the store, somewhere you own.
How is the connection built — and why is it not a WordPress plugin?
There is no out-of-the-box module for WooCommerce, and we will not say there is. The connection is built as an integration project whose scope is determined in the discovery call, using the REST API, webhooks and import/export. We have no plugin published in the WordPress plugin directory either; we cannot say “install it from the plugin store”.
Rapitek is not an e-commerce platform. Products, prices, stock, cart, payment and shipping stay on the WooCommerce side. What the CRM adds is the customer side: the buyer's record, the quote request, the communication history, repeat sales and the wholesale line.
The connection is built with three tools:
- REST API — every record in the CRM — from lead to quote, from invoice to task — can be read and written through it, and you can read the field structure from outside. Access is granted with permissions, no user password is shared; several operations per request and bulk writes are supported.
- Outgoing webhook — your system is notified securely of events in the CRM; a notification that does not arrive is retried and the target address is validated.
- Import — a four-step wizard: upload, map fields, preview, run. 100,000 rows per job, 25 MB per file, more than 75 objects. Export is done in the same module.
We will not overstate field mapping: format and required-field errors are common in imports, so we test the import with sample data before going live. The hyphenated “E-posta” header in Turkish exports does not map automatically either. We do not make a statement such as “zero data loss guaranteed”. That is why we run the first migration ourselves during setup and confirm the mapping together on the preview screen.
This surface is usable from outside: ERP integrators can read and write records through this same REST API.
We set out our general approach on the integrations page, and how the same framework looks on a hosted store on the Shopify integration page.
Thursday 10:20 — a “price for a bulk order” request came in from the site. Once the connection is in place:
-
1
The request lands in a record, not in a mailbox
The form on your site is connected to the CRM's REST API or to a webhook; the incoming record lands on the list as a lead with its source tagged. It does not get lost in a shared mailbox.
-
2
The owner is clear, and what went unanswered is visible
The record is assigned to a person and open requests stay on the list. The question “who answered this?” is answered on the screen, not around the team.
-
3
The same company's retail history is visible
If the requester has bought from the site before, the matching key links them to the existing card. You go into the wholesale negotiation knowing the history.
-
4
The quote process runs tied to the record
An opportunity is opened, a price list is chosen, the quote comes out as a PDF and the approval process runs. Quote → order conversion is a ready-made action in the product.
-
5
Outgoing mail leaves the individual's inbox
If your Gmail account is connected, outgoing mail is sent from inside the CRM and tied to the same record; the connection covers sending and calendar sync, and inbox reading is switched off. Outlook and Microsoft 365 connections are not live. Generic IMAP/SMTP is not supported either.
-
6
Historical data stays with you
Customer data sits in a separate database of your own, independent of the store, and is exported whenever you want. When the agency changes, the customer memory does not go with it.
Flows that can be built between WooCommerce and Rapitek CRM
Migrating the customer and order export
A CSV/Excel export taken from WooCommerce is imported into the CRM with the four-step wizard; you confirm the mapping on the preview screen. We run the first migration ourselves as part of the setup.
Connecting the site forms to the CRM
Quote, dealership and contact forms are connected via the REST API or a webhook; the incoming record lands as a lead with its source tagged. This is a flow we configure during setup.
Retail and wholesale merging on the same card
If the company buying from the site and the one negotiating wholesale are the same, the records are merged with a matching key; duplicate cards are cleaned up during setup.
Quote, approval and price list
A wholesale request runs as an opportunity: price list, quote PDF template (ready in Turkish and English) and approval process. The administrator edits the template themselves.
Verifiable outgoing notification
An event in the CRM goes to your server as a webhook; your system can verify it came from us and reject fake ones, the target address is validated and a notification that does not arrive is retried.
Data ownership and export
Your CRM data is held in a separate database that belongs to you and is exported as Excel/CSV whenever you want. Field-level change history is recorded.
Which method, and when?
| Method | What it is for | When it is preferred |
|---|---|---|
| Import (Data Hub) | The CSV/Excel export is imported in four steps; a suggestion is offered for header matching and you confirm the mapping on screen | When there is no external access to the server, or when periodic freshness is enough |
| REST API | An event on the store side is written into the CRM as a record; every CRM record can be read and written, access is granted with permissions and no user password is shared | When a continuous flow is wanted; the layer that does the writing is written within the project scope |
| Outgoing webhook | Events in the CRM are notified to your server; the target address is validated and a notification that does not arrive is retried | When something that happens in the CRM needs to trigger the store side |
| Your agency or your own developer | They can write the connection themselves using the same REST API; we provide the field structure, the access permissions and the field mapping table | When there is already a team managing the site and you want to keep working with that team |
What we have verified
How is the WooCommerce connection put live?
-
1
Discovery
Who manages your store, how open is the server to the outside, which form plugin is in use, and in what format can historical data be exported? We recommend that your agency is in this call.
-
2
Scope, field mapping and method
The matching key, the direction of the flow, its frequency and the duplicate-record rule are put in writing. The field mapping table, the scope and the fee, if there is one, are shared in writing before work starts.
-
3
Configuration and test migration
Fields, channel lists, the form connection and permissions are set up; a test migration is run with a sample export. Header matching is verified one by one at the preview step.
-
4
Team training and go-live
Team training and close follow-up in the first week. The date of this step is set during discovery; we do not commit to a duration before discovery.
Scope and setup terms
Six points are worth knowing in an e-commerce context:
- Stock stays in WooCommerce and in your warehouse system. Authority over the stock record stays there; stock sync with the store is not part of the scope.
- The order → invoice → collection chain is built into the product. It is not sold as an automated accounting flow.
- Manufacturing and MRP: the bill of materials and the production line definition exist in the product. Work order execution is new; if your process depends on it, let's try it together in the demo.
- Shipment tracking: the tracking number is kept as a plain text field in the product; no shipping service is called and shipment status is not read by the CRM.
- We build the connection ourselves. There is no Rapitek plugin in the WordPress plugin directory.
- The store stays in WooCommerce. The storefront, product management, payment and returns stay in WooCommerce; the CRM takes the customer side.
The reasons for the first three, and what can be done instead, are in one place, line by line: scope and setup terms.
Data migration: format and required-field errors are common in imports, so we test the import with sample data before going live, go through the preview step together and run the first migration ourselves as part of the setup.
Data location: your data is held in the European Union — the database in Helsinki (Finland), files in Frankfurt, backups in Falkenstein (Germany). We have no component in Türkiye and we have no region selection feature. Under KVKK art. 9 this is a transfer abroad; we establish your legal basis for the transfer together during the contract process. The details are on the security page and in the KVKK information notice.
Certification: we do not hold an ISO 27001 or SOC 2 certificate, and we will not claim one until we do. We fill in your corporate security assessment forms and describe the architecture in writing.
We write the figure on the pricing page, not on this one
The scope of the WooCommerce connection, and its fee if there is one, are worked out in the discovery call and shared in writing. Plan prices we keep in a single place — so that you do not read a different figure in two places.
Three plans, the scope table and separately priced items on a single page.
Frequently asked questions about the WooCommerce integration
Is a WooCommerce and CRM integration possible?
Do you have a ready-made plugin in the WordPress plugin directory?
Our site is on our own server and closed to the outside. Is integration still possible?
Can we migrate our customer and order export with CSV?
Will the quote form on our site land in the CRM?
Our webhook address is on an internal network. What happens in terms of security?
Our agency manages the site. Can they write the connection themselves?
Our retail and wholesale customer is the same company. Do the two lines of business merge on one card?
Will our stock work in sync with WooCommerce?
Does an order turn into an invoice in the CRM, can we issue e-invoices?
What happens to our customer data when the agency changes?
What does the WooCommerce integration cost?
How long does it take for the WooCommerce connection to go live?
Where is the customer data migrated from the store held?
Let's clarify your WooCommerce flow in 30 minutes
In the intro call, let's talk through how your customer export and your site forms will connect to the CRM, over your own installation; let's choose the method and the scope together. Then we open your 7-day trial account; no credit card required.
