Skip to main content
Glama
1c-odata-mcp

1c-odata-mcp

by foxnaim

Создать приходный кассовый ордер (ПКО)

write.money.create_cash_receipt

Creates an unposted cash receipt order in 1C for incoming cash, with required operation type and dry-run preview before confirmed write.

Instructions

Создаёт «Приходный кассовый ордер» (приём наличных в кассу). НЕПРОВЕДЁННЫЙ; провести — post_document. Вид операции ОБЯЗАТЕЛЕН (напр. «ОплатаПокупателя», «ПрочийПриход», «ПолучениеНаличныхВБанке», «ВозвратОтПодотчетногоЛица»). Для оплаты по договору заполняется расшифровка: счёт расчётов — по настройке договора, источник виден в предпросмотре, сумма взаиморасчётов — для рублёвого договора. dry-run/confirm.

Input Schema

NameRequiredDescriptionDefault
dateNoДата YYYY-MM-DD (по умолчанию сегодня)
basisNoОснование (текст)
amountYesСумма
cashRefNoRef_Key кассы организации (СчетКасса)
commentNoКомментарий
confirmNofalse (по умолчанию) — только предпросмотр (dry-run), запись НЕ выполняется. true — выполнить создание. Сначала всегда показывайте dry-run и получайте согласие пользователя; при подтверждении передавайте operationId из результата предпросмотра и те же аргументы. После таймаута повторяйте подтверждение с тем же id, не создавая новый предпросмотр.
databaseNoИмя базы 1С из list_databases. Без указания — база по умолчанию.
contractRefNoRef_Key договора
operationIdNoUUID из предпросмотра. Передайте его при confirm=true, чтобы повтор не создал дубликат.
organizationNoОрганизация (юрлицо) для фильтра: часть названия, ИНН или Ref_Key из list_organizations. Без указания — все организации базы.
operationKindYesВид операции (ОБЯЗАТЕЛЬНО, не угадывать)
cashflowItemRefNoRef_Key статьи ДДС
counterpartyRefNoRef_Key контрагента (для расчётов)

Output Schema

NameRequiredDescriptionDefault
refNo
codeNo
noteNo
notesNo
dryRunNo
createdNo
payloadNo
databaseNo
replayedNo
entitySetNo
willCreateNo
descriptionNo
operationIdNo
writableBaseNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.12.0

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=true, so safety is partly covered. The description adds genuine behavioral context: the document is created unposted, and a dry-run/confirm protocol with operationId re-use prevents duplicates on retry. It does not state required permissions or what happens to the cash balance, but that is largely derivable from creation semantics.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Four tightly packed sentences, front-loaded with what is created and its unposted state, then the mandatory operation kind, then the settlement nuance, then the dry-run/confirm contract. No filler or repetition.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With 13 parameters, an output schema present, and annotations supplied, the description covers the essential workflow risks: posting is separate, operationKind must not be guessed, and confirmation requires reusing operationId. Minor gaps like default cash account or database selection are already handled by the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3; the description still adds value by enumerating operationKind categories («ОплатаПокупателя», «ПрочийПриход», …) and by explaining that for contract payments the settlement account comes from the contract settings and the settlement amount applies to ruble contracts. That domain meaning is not present in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource in both Russian and English terms («Создаёт «Приходный кассовый ордер» (приём наличных в кассу)») and immediately separates it from the posting step via 'НЕПРОВЕДЁННЫЙ; провести — post_document'. An agent can distinguish this from write.money.create_cash_payment and post_document without reading schemas.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the key alternative explicitly (post_document for posting) and mandates that operationKind be chosen deliberately, with example values. It also describes when the contract settlement breakdown applies. It stops short of contrasting with the sibling cash/payment creators (create_cash_payment, create_payment), which is the main remaining routing ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Deploy Server

Other Tools