Deedhold

Connect your accounting, warehouse or anything else.

The store has an open API it uses to exchange data with accounting, an ERP, a warehouse or a mobile app. Each connected system gets access only to what it needs. And because the code is open, anything that’s still missing can be built.

How systems connect

Accounting, the warehouse and apps all talk to the store through the same API. What differs is what each one may see and change.

The store and connected systems Diagram: in the middle, the store with a REST and GraphQL API. Accounting is connected with its own key A and may access only orders and invoices. The ERP and warehouse have key B for products, stock and prices. The mobile app uses GraphQL for the catalog, cart and orders. Access for AI tools is in preparation, read‑only. KEY A · REST Accounting may: orders, invoices KEY B · REST ERP and warehouse may: products, stock, prices GRAPHQL Mobile app catalog, cart, orders MCP · IN PREPARATION AI tools read‑only, data masked Your store REST and GraphQL API Key - separate access, sees only allowed data

Every system has its own key

For each connected system you create a separate integration in the admin and tick which data it may access. That way accounting reads orders and invoices, but never touches prices.

When a partnership ends, you revoke one key. Every other connection keeps running.

The REST API covers products, prices, stock, customers and orders. GraphQL serves mobile apps and custom‑built websites.

A large batch through the asynchronous API Diagram: the ERP sends 5,000 prices in one call. The API accepts the batch and replies right away. The queue processes it in parts in the background, and the catalog has the new prices without the website slowing down. The ERP keeps asking about the batch status, for example 3,000 of 5,000 processed. ONE BATCH, BACKGROUND PROCESSING ERP 5,000 prices one call API Accepted replies at once QUEUE Background in parts STORE New prices no slowdown BATCH STATUS 3,000 of 5,000 processed The ERP can ask at any time how much is done. Meanwhile customers shop without slowdowns.

Large batches without slowdowns

When the ERP sends thousands of prices or products at once, the store just accepts the batch and replies right away. Processing then runs in a queue in the background, so customers on the website notice nothing.

The connected system can ask at any time how much of the batch is done.

Useful both for regular price list syncs and for the first upload of the whole catalog.

Import, documentation and open code

Not every connection needs a developer. And when one does, they have everything at hand.

No coding

CSV import and export for products, prices, stock, customers, addresses and tax rates.

You prepare the file in a spreadsheet and upload it in the admin. Before importing, the store checks the file and shows any errors.

The same way you update prices or stock in bulk, for example after a supplier changes their price list.

For developers

Interactive API documentation (Swagger) right on the store: an overview of every call, ready to try out.

GraphQL returns only the data the app asks for. Nothing extra is transferred.

Open code: any feature can be built, the platform locks nothing away.

What else comes with it

Other parts of integration worth knowing about. All features → For developers →

AI

AI access to store data

In preparation: secure reading of store data for AI tools. Read‑only, personal data masked, every query logged.

Permissions

The same rules as for people

An integration uses the same permission tree as admin roles. You know exactly what it may access.

Security

Encrypted keys

API keys and credentials for other services are stored encrypted.

Automation

Scheduled jobs

Regular jobs, such as exchange rates or the sitemap, run by themselves on schedule.

Need to connect your store to accounting or a warehouse?

Get my assessment and demo