Skip to content
Integration · WooCommerce store

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.

Rapitek CRM channels and integrations screen (Turkish interface): cards for email accounts, Meta pages, payment providers, the Claude connector and İYS providers
Channels screen — connection and payment cards

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.

A concrete scenario

Thursday 10:20 — a “price for a bulk order” request came in from the site. Once the connection is in place:

  1. 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. 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. 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. 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. 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. 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.

Choosing a method

Which method, and when?

The method is chosen during discovery, according to how open your server is to the outside and who manages the store.
MethodWhat it is forWhen 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 screenWhen there is no external access to the server, or when periodic freshness is enough
REST APIAn 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 sharedWhen a continuous flow is wanted; the layer that does the writing is written within the project scope
Outgoing webhookEvents in the CRM are notified to your server; the target address is validated and a notification that does not arrive is retriedWhen something that happens in the CRM needs to trigger the store side
Your agency or your own developerThey can write the connection themselves using the same REST API; we provide the field structure, the access permissions and the field mapping tableWhen there is already a team managing the site and you want to keep working with that team
What we can say

What we have verified

EU
Data location: database Helsinki, files Frankfurt, backups Falkenstein
Read and write
ERP integrators can read and write records through this API
Plain text
The shipment tracking number is held as a field; no shipping API is called
Implementation

How is the WooCommerce connection put live?

  1. 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. 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. 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. 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.

FAQ

Frequently asked questions about the WooCommerce integration

Is a WooCommerce and CRM integration possible?
Yes — not with an out-of-the-box module, but as an integration project with a defined scope. The connection is built with the REST API, webhooks and import/export. Which of the customer, order and form data flows in which direction and how often is worked out during discovery and shared as a written scope.
Do you have a ready-made plugin in the WordPress plugin directory?
No. We have no plugin published in the WordPress plugin directory and we will not write as if we did. What we have is a documented interface: every record in the CRM can be read and written through the REST API, and you can read the field structure from outside. Alongside it there are permission-based access, webhooks and a four-step import/export wizard. The connection is written on top of these, specific to your installation.
Our site is on our own server and closed to the outside. Is integration still possible?
Yes, only the method changes. On an installation closed to the outside, the flow runs through import/export: customer and order exports taken from the store are imported into the CRM periodically with a template. Because it does not require external access to your server, this is the route we recommend at the start; if access conditions change later, the same scope is moved to an API-based flow.
Can we migrate our customer and order export with CSV?
Yes. A four-step wizard runs: upload, map fields, preview, run. Column headers in the export file are matched to fields automatically in the wizard; we map the rest together during setup. The hyphenated “E-posta” header in Turkish exports does not match either. That is why you confirm the mapping one by one on the preview screen. 100,000 rows per job, 25 MB per file; the accepted formats are .csv, .xls and .xlsx.
Will the quote form on our site land in the CRM?
Yes. Your form 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 and is assigned to an owner. We write this not as an out-of-the-box module but as a flow we configure during setup. Which form fields go to which CRM fields is set out in a table during discovery.
Our webhook address is on an internal network. What happens in terms of security?
Your system can verify that each notification came from us and reject fake ones. The target address is also validated; addresses inside your internal network are not accepted. A notification that does not arrive is retried. Which event goes to which address is defined during setup.
Our agency manages the site. Can they write the connection themselves?
Yes, this is a route we support. Your agency or your own developer can write the connection themselves using Rapitek CRM's REST API; we provide the API documentation, the access permissions, the object definitions and the field mapping table. ERP integrators can also read and write records through this same API.
Our retail and wholesale customer is the same company. Do the two lines of business merge on one card?
They do merge. Records are linked to the same company card with a matching key — tax number, email or phone; duplicate cards are cleaned up during setup and the rule stays in the written scope. The wholesale side is read as opportunities and quotes and the retail side as order history, under the same card.
Will our stock work in sync with WooCommerce?
Real-time stock synchronisation is not part of the scope. Authority over the stock record stays in your store and in your warehouse system; a stock mirror fed from the CRM produces two numbers that do not agree in two places. We wrote the reason, and what can be done instead, line by line in the limits section of the integrations page.
Does an order turn into an invoice in the CRM, can we issue e-invoices?
No. The order → invoice → collection chain is built into the product, but we do not think it is right for it to be sold as an automated accounting flow. Rapitek CRM does not issue e-Fatura or e-Arşiv documents and is not a GİB private integrator; fields such as ETTN or GİB status do not exist in the product. Your invoices continue to be issued at your current integrator; the invoice number, date and amount can be carried into the CRM as fields.
What happens to our customer data when the agency changes?
Your CRM data is held in a separate database that belongs to you and is independent of the store; you can export it as Excel/CSV and take it with you whenever you want. Field-level change history is recorded, so it can be seen who changed a field and when. Even if the site technology changes, the customer memory stays with the company.
What does the WooCommerce integration cost?
We do not write a figure on this page, because the fee depends on the scope: the number of records to be migrated, the direction of the flow, its frequency and whether your server can be accessed. After the discovery call we share the scope and the fee in writing. A project-specific integration is a separate line of work outside the plan price; the plan details are on the pricing page.
How long does it take for the WooCommerce connection to go live?
We do not commit to a duration before discovery; after the discovery call we give you a date, not a range. The setup consists of these steps: discovery, configuration, data migration, training and go-live. An import-based store flow is built within this plan; the scope of API-based flows is also clarified in the same discovery.
Where is the customer data migrated from the store held?
Wherever your WooCommerce server is, the CRM side stays in the European Union: the database in Helsinki (Finland), the files you upload in Frankfurt, the database backups in Falkenstein (Germany). We have no component in Türkiye and we do not offer region selection. Under KVKK art. 9 this is a transfer abroad; we establish the legal basis for it together during the contract process. Your CRM data is held in a separate database that belongs to you. The legal assessment here is information, not legal advice.

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.

Made with RapitekGO

We'd like to use optional measurement cookies; if you decline, the site works the same. Cookie policy