A customer messages you on WhatsApp or Telegram: "Do you have 40 units of this SKU at the Jebel Ali warehouse, and when can you deliver?" A sales rep opens 1C, finds the item, checks the balance, remembers that some of it is already reserved for another order, double-checks with the warehouse and replies twenty minutes later. During the day there are dozens of these questions; in the evening nobody is there to answer. Meanwhile someone exports stock levels to a spreadsheet once a day for the sales team, and by lunchtime that spreadsheet is already wrong.
An AI agent can answer these questions itself, draft the order and tell the customer when it has been picked or shipped — provided it is connected to 1C properly. This guide explains how: which connection options exist, which stock figure to show customers, why orders should start as drafts, and what the agent must never be allowed to do inside 1C.
A quick note on context. 1C:Enterprise is the dominant accounting and ERP platform across Russia, Uzbekistan, Kazakhstan and much of the former Soviet Union. If you run a distribution or wholesale business in Dubai, London or elsewhere that grew out of the region, or you work with a trading partner there, there is a good chance your stock and orders live in 1C — and the integration questions below apply directly.
What the agent takes over, and what stays with your team
The agent does not replace 1C and does not do the bookkeeping. It becomes a window into the accounting system for customers and staff who cannot or do not want to log in. A typical split looks like this:
| Process | What the agent does | What stays with a person |
|---|---|---|
| Availability questions | Finds the item by name, SKU or a photo from the chat and shows free stock at the right warehouse | Non-standard items, technical substitutes |
| Pricing | Reads the price from the price type assigned to that customer in 1C | Individual discounts, approving exceptions |
| Order entry | Collects line items, matches the customer record, creates a customer order with "pending approval" status | Reviewing and posting the order, confirming the reservation |
| Order status | Answers "where is my order" and messages the customer when the status changes | Delays, complaints, renegotiating dates |
| Internal queries | Answers reps and field sales in chat: stock, customer balance, recent shipments | Decisions on payment terms and credit limits |
Three ways to get data out of 1C
1C has no single universal API. The right option depends on your configuration, where the database is hosted and how fresh the data needs to be.
The built-in OData interface
The 1C:Enterprise 8.3 platform can expose catalogs, documents and registers over OData, a REST interface on top of the database. It has to be published on a web server, and you choose explicitly which objects are exposed. The upside: no changes to the configuration itself. The downside: the agent sees raw tables and has to know how free stock is calculated in your particular configuration.
A custom HTTP service inside the configuration
A 1C developer writes a handful of methods — "stock for item", "create order", "order status" — and the agent can call only those. This is the most robust option: the stock logic and document rules live inside 1C, and the agent physically cannot do anything beyond the published methods. It does require a developer who will keep the code working through configuration updates.
An intermediate database
On a schedule — say every 5 to 15 minutes — 1C exports stock, prices and statuses to a separate database, and the agent reads from there. This suits an on-premise server with no external access, or a production database you cannot load with extra queries. The trade-off is latency: the agent sees the state as of the last export and should say so.
| Option | Data freshness | 1C work required | Best when |
|---|---|---|---|
| OData | Real time | Publishing and selecting objects | Standard configuration, database reachable over the network |
| HTTP service | Real time | A 1C developer | The agent creates documents and control matters |
| Intermediate database | Delayed by the export interval | An export routine | Closed server, heavy database, high query volume |
In practice these are often combined: stock and prices come from the intermediate database, while orders are created through the HTTP service.
Stock: which number the customer should see
The most common mistake is giving the agent the total balance from the stock register. The customer hears "we have 50", places an order, and 30 of those turn out to be reserved for someone else. Agree on three things before launch:
- Free stock. Balance minus reservations minus goods already being picked. How exactly this is calculated depends on your configuration (Trade Management, a custom build, an industry solution) — that is a question for your 1C developer.
- Warehouses. Which locations customers can see and which only staff can see. Transit and damaged-goods warehouses are usually hidden.
- Precision. You do not always need an exact number. Many companies show "in stock / low / on order" so that competitors cannot read your inventory through the bot.
Here is an example conversation where the agent works from an intermediate database:
Customer: Do you have the 3×2.5 mm power cable? I need 300 metres, collecting from the Al Quoz branch.
Agent: Al Quoz currently has 240 metres free; this data was updated 10 minutes ago. There are another 500 metres at the main warehouse — we can transfer them to Al Quoz or ship the whole order from there. Which works better for you?
Customer: Ship everything from the main warehouse.
Agent: Done. I'm creating an order for 300 metres from the main warehouse. A sales manager will review it and confirm the reservation — during working hours that usually takes up to an hour.
Note two details: the agent states how old the data is, and it does not promise a reservation on its own authority.
Orders: a draft, not a posted document
The agent can create a Customer Order document in 1C, but posting it — which reserves stock and triggers picking — is better left to a person, at least for the first few months. The reasons are mundane: the agent might misread the unit of measure (metres versus drums), pick the wrong product variant, or choose a customer record with a similar name.
Rules worth writing into the agent's instructions:
- Before creating an order, find the customer by tax ID or phone number. If several records match, ask — never guess.
- Take prices only from 1C, using the price type assigned to that customer. The agent does not invent discounts.
- Read the order back to the customer with units of measure and get an explicit "yes".
- Create the order with "pending approval" status and put a link to the conversation in the comment field.
- Notify the account manager in the team chat with an "open in 1C" button.
Once the share of orders that managers accept without edits is consistently high, you can let the agent post simple orders for regular customers. That decision is yours, based on your own data.
Status updates: the agent messages first
"Where is my order?" is one of the most frequent questions in wholesale. The agent handles it in two ways: it answers on request, and it proactively reports status changes. For the second, 1C has to signal the event — either with an HTTP call from a document write handler or through the same scheduled export of changes.
Events usually passed on to the customer:
- order confirmed and stock reserved;
- order picked and ready for collection;
- shipped — handed to the driver or courier;
- partial shipment — which items follow later and why.
The last one matters. If the agent stays silent about a shortfall, the customer discovers it on delivery and calls with a complaint instead of a question. Delay messages are best approved by a manager: the agent drafts the text, a person presses "send".
What the agent must never do in 1C
- Edit or delete posted documents.
- Create new customer records without checks — otherwise the catalog fills up with duplicates fast.
- See cost prices, margins or accounting data unless the task genuinely needs them.
- Work under an employee's login. The agent gets its own user with restricted rights, so the audit log shows exactly what it did.
The principle is the same as with any CRM: write access is granted narrowly, method by method. We cover a similar setup in our guide to connecting AI agents to Bitrix24. If you also sell to consumers through a website, compare this with our breakdown of a chatbot versus an AI agent for an online store.
A step-by-step rollout plan
- Collect real questions. Gather one to two weeks of actual customer messages and sort them: availability, price, order, status, other. This shows where to start.
- Audit your 1C. Configuration, version, where the database runs, whether it is reachable from outside, who your developer is. This determines the connection option.
- Read-only first. The agent answers availability and status questions without writing anything. Managers spot-check the answers.
- Draft orders. Switch on order creation with "pending approval" status and track how many are accepted without edits.
- Notifications. Add proactive status messages.
If 1C is not your only system and the same data is duplicated in a CRM and spreadsheets, decide first which one is the source of truth. You can see how we approached that for ourselves in the case study on one ERP across four businesses. More integration guides are in the integrations section of the blog.
FAQ
Will this work with a file-based 1C database?
A file-based database can also be published on a web server, but it handles many concurrent requests more slowly than the client-server version. In that case an intermediate database with scheduled exports is usually the better fit for the agent.
Do we need our own 1C developer?
For OData, you need someone who can publish the database and select the exposed objects. For an HTTP service, yes — you need a developer, and it is important that the custom code survives configuration updates.
Can the agent reply in English and Arabic when item names in 1C are in Russian?
The agent replies in the customer's language. The catch is the product catalog: if item names in 1C exist only in Russian, the agent needs a synonym dictionary to match English or Arabic requests to the right SKU. Building that list is part of the setup.
How much does the integration cost?
It depends on your configuration, the connection option and the number of processes involved. The first conversation is where we look at your 1C and work out the scope. Get in touch or see how we build AI agents.