MCP server
Підключіть AI інструменти до Flowtly через Model Context Protocol на mcp.flowtly.eu.
Підключити
claude mcp add --transport http flowtly https://mcp.flowtly.eu/mcp
На цій сторінці
Банківські рахунки
Інструменти
| bankAccounts.get | Отримати один банківський рахунок за id — назва, валюта, банк і формат, у якому імпортуються його виписки. |
| bankAccounts.list | Отримати список банківських рахунків організації. Фільтруйте за банком або встановіть hidden, щоб включити архівовані. Використовуйте це, щоб визначити id bankAccount, за яким фільтрує transactions.list. |
| bankAccounts.create | Створити банківський рахунок (обов'язкові type, name, currency, defaultImportFormat). Запис. |
| bankAccounts.update | Оновити банківський рахунок за id. Запис. |
Клієнти
Інструменти
| clients.get | Отримати одного клієнта за id — назва, країна, валюта, податковий номер і статус. |
| clients.list | Отримати список клієнтів (замовників організації). Фільтруйте за status або за externalPaymentCustomerId, щоб знайти клієнта за id платіжного провайдера. Використовуйте це, щоб визначити id client, за яким фільтрують invoices.list, deals.list, projects.list і contracts.list. |
| clients.create | Створити новий запис клієнта (обов'язкові name, country, currency, status, tinType). Запис. |
| clients.update | Оновити запис клієнта за id. Запис. |
Ключі конфігурації
Інструменти
| configKeys.catalog | Отримати список усіх ключів конфігурації організації, які розпізнає бекенд, разом з їх типом і допустимими значеннями. Це каталог того, що можна налаштувати — читайте його перед configs.get або configs.update, а не вгадуйте назву ключа. Дозволи перевіряються бекендом окремо для кожного ключа, тому наявність ключа тут не гарантує, що підключений користувач може його записати. |
Конфігурації
Інструменти
| configs.get | Прочитати одне значення конфігурації організації за id, де id — це ключ з configKeys.catalog (наприклад, organization-logo-url, organization-icon-url). |
| configs.update | Оновити значення конфігурації організації за id (обов'язкові type і name; дозволи перевіряються бекендом окремо для кожного ключа). Запис. |
Договори
Інструменти
| contracts.get | Отримати один договір за id — сторони, напрямок, суму, циклічні умови та дати. |
| contracts.list | Отримати список договорів. Фільтруйте за direction (incoming / outgoing), counterparty, project, cyclic, name або tags. Використовуйте це, щоб визначити id contract, який читає contracts.paymentScheduleLines і з яким deals.win може пов'язати виграну угоду. |
| contracts.paymentScheduleLines | Отримати графік платежів договору — платежі, якими він має бути виставлений або сплачений. Передайте contractId з contracts.list. Це план, а не фактичні дані: порівняйте його з transactions.list, щоб побачити, що справді сплачено. |
| contracts.create | Створити договір. Запис. |
| contracts.update | Оновити договір за id. Запис. |
| contracts.delete | Видалити договір за id. Запис. |
Групи витрат
Інструменти
| costGroups.list | Отримати список груп витрат / центрів витрат — категорій, під якими фіксуються витрати, постачальники та вхідні рахунки. Використовуйте це, щоб визначити id costGroup, який вимагає suppliers.create і який пропонують підказки для вхідних рахунків. |
| costGroups.create | Створити групу витрат / центр витрат (обов'язкові name і type). Запис. |
| costGroups.update | Оновити назву або тип групи витрат / центру витрат за id. Запис. |
Контрагенти
Інструменти
| counterparties.get | Отримати одного контрагента за id. |
| counterparties.list | Отримати список контрагентів — усіх сторін, з якими взаємодіє організація. Прапорці supplier і client показують, яку роль(і) відіграє контрагент, і один запис може мати обидві. Це сторона банківської транзакції, тому саме з нею зіставляються вхідні рахунки й транзакції. Фільтруйте за type, supplier, client, cyclic або budgetNeutral. |
Нотатки CRM
Інструменти
| crmNotes.get | Отримати одну нотатку CRM за id. |
| crmNotes.list | Отримати список нотаток, залишених на лідах і угодах. Фільтруйте за lead або deal, щоб прочитати коментарі до конкретного запису. |
| crmNotes.create | Додати нотатку до ліда або угоди (обов'язкові body і рівно одне з lead/deal). Автор — підключений користувач. Запис. |
| crmNotes.update | Оновити текст нотатки CRM за id. Запис. |
| crmNotes.delete | Видалити нотатку CRM за id. Запис. |
Причини втрати угод
Інструменти
| dealLostReasons.get | Отримати одну причину втрати угоди за id. |
| dealLostReasons.list | Отримати впорядкований список причин, за якими угоду можна позначити як втрачену. deals.lose вимагає lostReasonId звідси. |
Угоди
Інструменти
| deals.get | Отримати одну угоду за id — назва, клієнт, етап, сума, власник, контакт, очікувана й фактична дата закриття. |
| deals.list | Отримати список угод/можливостей — воронку продажів. Фільтруйте за status (open / won / lost), stage, owner, client, lead або за діапазонами expectedCloseDate / closedAt. Суми вказані в мінорних одиницях з явною валютою; не покладайтеся на валюту організації за замовчуванням. |
| deals.create | Створити угоду/можливість (обов'язкові title, client, stage; необов'язкові amountMinor, currency, expectedCloseDate, owner, contact). Запис. |
| deals.update | Оновити угоду за id (title, stage, amount, дата закриття, owner, contact). Зміна етапу логується автоматично. Запис. |
| deals.delete | Видалити угоду за id (м'яке видалення). Запис. |
| deals.win | Позначити угоду виграною — переводить її на етап won і фіксує закриття; необов'язковий contractId зв'язує з наявним договором. Запис. |
| deals.lose | Позначити угоду втраченою — вимагає lostReasonId (з dealLostReasons.list); необов'язковий lostReasonNote. Запис. |
| deals.reopen | Повернути виграну/втрачену угоду в статус open. Запис. |
Історії етапів угод
Інструменти
| dealStageHistories.get | Отримати один запис про зміну етапу угоди за id. |
| dealStageHistories.list | Отримати список переходів угоди між етапами, від найновіших. Фільтруйте за deal. Кожен deals.update, що змінює етап, автоматично логується тут, тож саме так можна відтворити, скільки часу угода провела на кожному етапі — сама угода зберігає лише поточний. |
Вхідні рахунки
Інструменти
| incomingInvoices.get | Отримати один вхідний (постачальницький) рахунок або супровідний документ за id, з полями, розпізнаними через OCR, і поточним станом зіставлення. |
| incomingInvoices.list | Отримати список вхідних (постачальницьких) рахунків і супровідних документів — вхідну скриньку бухгалтерії. Вхідний рахунок — це документ, прикріплений до банківської транзакції, тому exists.transaction=false — це спосіб знайти документи, ще не зіставлені з платежем. Також фільтруйте за status, relatedMonth, counterparty, project, tags або hasDetectedProblems. Кожен документ має відбиток externalId 'upload_sha256:<sha256 байтів>' — обчисліть хеш файлу і перевірте цей externalId тут ПЕРЕД incomingInvoices.create, інакше ви завантажите дублікат. |
| incomingInvoices.matchCandidates | Отримати список банківських транзакцій, які можуть бути оплатою цього вхідного рахунку, ранжований власним алгоритмом зіставлення бекенду. Використовуйте його, коли до документа не прикріплена транзакція і потрібно її обрати; надавайте перевагу цим кандидатам, а не вгадуванню за сумами самостійно. |
| incomingInvoices.suggestions | Прочитати власні пропозиції Flowtly для вхідного рахунку — відповідність постачальника, група витрат, відповідна банківська транзакція, попередження про дублікат. Це саме ті пропозиції, які людина бачить у застосунку. Спочатку прочитайте їх, потім застосуйте одну за id через incomingInvoices.applySuggestion або прийміть усі через acceptAllSuggestions. Передайте refresh, щоб перерахувати заново, а не отримати кешований набір. |
| incomingInvoices.suggestionsDebug | Пояснити, ЧОМУ пропозиції для вхідного рахунку вийшли саме такими — оцінку алгоритму зіставлення, для діагностики відсутньої або помилкової пропозиції. Лише для діагностики; для звичайної роботи використовуйте incomingInvoices.suggestions. |
| incomingInvoices.create | Внести вхідний (постачальницький) рахунок або супровідний документ у бухгалтерію — передайте байти як base64 разом із fileName і receivedAt. Flowtly розпізнає його через OCR і пропонує постачальника та відповідну банківську транзакцію. Файл отримує відбиток externalId 'upload_sha256:<sha256 байтів>': щоб уникнути дублікату, обчисліть хеш байтів і перевірте incomingInvoices.list на наявність цього externalId ПЕРЕД завантаженням. Запис. |
| incomingInvoices.applySuggestion | Прийняти одну з власних пропозицій Flowtly для вхідного рахунку — ті самі пропозиції, які людина бачить у застосунку (відповідність постачальника, група витрат, відповідна банківська транзакція, попередження про дублікат). Спочатку прочитайте їх через incomingInvoices.suggestions, потім застосуйте одну за її id. Надавайте перевагу цьому підходу, а не вгадуванню: саме алгоритм зіставлення Flowtly, а не агент, вирішує, що є правдоподібним. Запис. |
| incomingInvoices.acceptAllSuggestions | Прийняти всі очікувані пропозиції для вхідного рахунку одним викликом — те саме, що робить людина кнопкою "прийняти все" у застосунку. Сервер застосовує, перебудовує й застосовує знову, поки не перестануть з'являтися нові пропозиції: відповідність транзакції НЕ існує, доки не застосовано постачальника й суму, тож один прохід залишив би документ неприкріпленим. Повертає звіт (що застосовано, що відхилено і чому, та транзакцію, до якої зрештою прикріплено документ). Передайте dryRun для попереднього перегляду без запису. Ніколи не приймає автоматично supplier_create або попередження про дублікат. Запис. |
| incomingInvoices.checkEInvoices | Отримати нові електронні рахунки KSeF в організацію — те саме, що робить кнопка застосунку "Sprawdź e-faktury". Викликайте це перед тим, як робити висновок, що рахунок постачальника відсутній: без цього неможливо відрізнити "постачальник ніколи його не надсилав" від "наша синхронізація ще не запускалася". Повертає відповідь одразу після постановки завдання отримання в чергу; повторно прочитайте incomingInvoices.list згодом, щоб побачити, що надійшло. Запис. |
Рахунки
Інструменти
| invoices.get | Отримати один вихідний (продажний) рахунок за id — клієнт, позиції, підсумки, дата продажу й виставлення, статус. |
| invoices.list | Отримати список вихідних (продажних) рахунків. Фільтруйте за client, tags, search або діапазоном saleDate. Зверніть увагу: саме saleDate — а не дата виставлення й не дата створення — це поле, за яким фільтрує invoices.export, тож використовуйте те саме поле тут під час звірки з експортом. |
| invoices.export | Запустити ZIP-експорт ВИСТАВЛЕНИХ рахунків за період (from/to, обидва у форматі YYYY-MM-DD, включно), відфільтрований за ДАТОЮ ПРОДАЖУ — а не датою виставлення чи створення. Включаються лише ВИСТАВЛЕНІ рахунки; чернетки й невідправлені рахунки виключаються, але коригування ВКЛЮЧАЮТЬСЯ. Необов'язковий client обмежує вибірку одним клієнтом (id або IRI з clients.list). Максимум 200 рахунків на один експорт — якщо в періоді більше, звузьте його (наприклад, експортуйте по одному місяцю); період без жодного виставленого рахунку теж відхиляється. Цей виклик лише ставить завдання в чергу (рендеринг місяця може тривати кілька хвилин) — він НЕ повертає посилання для завантаження. Опитуйте invoices.exportStatus з отриманим exportId, поки статус не стане "ready". Запис. |
| invoices.exportStatus | Перевірити статус ZIP-експорту, запущеного через invoices.export, за exportId. Коли статус стає "ready", відповідь містить downloadUrl (короткоживуче підписане посилання — діє 1 годину, див. expiresAt), filename і byteSize; байти самого файлу через цей інструмент ніколи не повертаються. Якщо статус "failed", failureReason пояснює причину. |
Контакти лідів
Інструменти
| leadContacts.get | Отримати один контакт ліда за id. |
| leadContacts.list | Отримати список контактних осіб, прикріплених до лідів. Фільтруйте за lead, щоб прочитати контакти одного потенційного клієнта, або за email, щоб знайти, від якого ліда надійшло повідомлення. |
| leadContacts.create | Додати контактну особу до ліда (обов'язкові lead і name; необов'язкові email, phone, role, isPrimary). Запис. |
| leadContacts.update | Оновити контакт ліда за id. Запис. |
| leadContacts.delete | Видалити контакт ліда за id. Запис. |
Членства лідів у списках
Інструменти
| leadListMemberships.get | Отримати один запис членства ліда у списку за id. |
| leadListMemberships.list | Отримати список того, які ліди перебувають у яких списках для вихідного пошуку клієнтів, разом зі статусом контакту кожного (contacted / replied / bounced). Фільтруйте за list, lead або status — так ви дізнаєтесь стан кампанії. |
| leadListMemberships.create | Додати ліда до списку для вихідного пошуку (обов'язкові list і lead; необов'язковий status). Запис. |
| leadListMemberships.update | Оновити членство ліда у списку — наприклад, встановити статус контакту (contacted/replied/bounced). Запис. |
| leadListMemberships.delete | Прибрати ліда зі списку для вихідного пошуку. Запис. |
Списки лідів
Інструменти
| leadLists.get | Отримати один список для вихідного пошуку клієнтів за id. |
| leadLists.list | Отримати список списків для вихідного пошуку клієнтів. Використовуйте це, щоб визначити id list, який приймає leadListMemberships.create. |
| leadLists.create | Створити список для вихідного пошуку клієнтів (обов'язковий name). Запис. |
| leadLists.update | Оновити список для вихідного пошуку за id. Запис. |
| leadLists.delete | Видалити список для вихідного пошуку за id. Запис. |
Причини втрати лідів
Інструменти
| leadLostReasons.get | Отримати одну причину втрати ліда за id. |
| leadLostReasons.list | Отримати впорядкований список причин, за якими ліда можна позначити як втраченого. |
Ліди
Інструменти
| leads.dedupeCheck | Перевірити, чи потенційний клієнт вже є в CRM, використовуючи ті самі фільтри, що й leads.list (companyName, source, owner, …). Викликайте це ПЕРЕД leads.create: дублікат ліда розділяє історію контактів між двома записами, і надалі ніщо їх автоматично не об'єднає. |
| leads.get | Отримати одного ліда за id — компанія, сайт, джерело, статус, власник і клієнт, у якого він конвертувався, якщо є. |
| leads.list | Отримати список лідів — потенційних клієнтів до кваліфікації. Фільтруйте за status, source, owner, client, companyName або діапазонами createdAt/closedAt. Кваліфікований лід стає Client разом з відкритою Deal через leads.convert; до цього моменту він існує лише тут, а не в clients.list. |
| leads.create | Створити ліда (ціль вихідного/вхідного пошуку клієнтів; необов'язкові companyName, source, status, owner, пов'язаний client). Запис. |
| leads.update | Оновити ліда за id (company, website, source, status, owner, пов'язаний client). Запис. |
| leads.delete | Видалити ліда за id (м'яке видалення). Запис. |
| leads.convert | Конвертувати кваліфікованого ліда в Client + по одному контакту на кожен lead-contact + відкриту Deal. Вимагає наявного клієнта (client ліда або clientId у тілі запиту). Запис. |
Етапи лідів
Інструменти
| leadStages.get | Отримати один етап ліда за id. |
| leadStages.list | Отримати впорядкований список етапів, через які проходить лід. Ліди мають власний набір етапів — угоди використовують stages.list, і це інша сутність. |
Організації
Інструменти
| organizations.get | Отримати організацію за id. ПОПЕРЕДЖЕННЯ — цей endpoint НЕ повідомляє, з якою організацією ви фактично з'єднані. OAuth-з'єднання прив'язане рівно до однієї організації (прив'язка до токена), але цей endpoint повертає будь-яку організацію, у якій підключений КОРИСТУВАЧ є учасником, тож успішне читання тут може виглядати як підтвердження того, що ви працюєте саме з цією організацією, хоча це може бути не так. Щоб перевірити, з яким саме тенантом ви фактично працюєте, читайте дані, прив'язані до тенанта — people.list або clients.list — і ніколи не починайте масовий запис лише на підставі цього виклику. |
Люди
Інструменти
| people.get | Отримати один запис особи/співробітника за id — імена, електронні адреси, телефон, керівник і чи є він активним. |
| people.list | Отримати список осіб/співробітників. Фільтруйте за isActive, reportsTo (id керівника), projectMembers.project або search; використовуйте пагінацію через cursor. People та employees мають спільний id, тож саме так визначається employee id, якого очікують інструменти для обліку часу, відповідальностей, участі в проєктах і дозволів. |
| people.create | Створити запис особи/співробітника (обов'язкові firstname і lastname; необов'язкові companyEmail, contactEmail, contactPhone). Запис. |
| people.update | Оновити запис особи/співробітника за id (name, companyEmail, contactEmail, contactPhone тощо). Запис. |
| people.delete | Видалити запис співробітника/особи за id (наприклад, щоб прибрати тимчасового/тестового співробітника). Вимагає ROLE_EMPLOYEES_MANAGER; бекенд запускає процесор видалення, який також від'єднує пов'язані записи. Значний вплив, незворотно. Запис. |
| people.setPermissionGroups | Встановити (замінити) групи дозволів особи за числовими id груп (див. permissionGroups.list — наприклад, група "Business Owner" надає ROLE_ADMIN). Надає доступ; НЕ створює логін і не надсилає листа особі. Запис. |
Групи дозволів
Інструменти
| permissionGroups.get | Отримати одну групу дозволів за id, включно з рядками ROLE_*, які вона надає. |
| permissionGroups.list | Отримати список груп дозволів організації та ролей, які надає кожна з них — наприклад, група "Business Owner" надає ROLE_ADMIN. Читайте це перед people.setPermissionGroups: ролі у відповіді є остаточним джерелом того, що фактично дозволяє група, тож не доведеться вгадувати за її назвою. |
| permissionGroups.create | Створити групу дозволів (обов'язковий name; roles — список рядків ROLE_*, які вона надає). Запис. |
| permissionGroups.update | Оновити назву, опис або надані ролі групи дозволів за id. Запис. |
Воронки
Інструменти
| pipelines.get | Отримати одну воронку продажів за id. |
| pipelines.list | Отримати список воронок продажів. Воронка має впорядкований набір етапів — читайте їх через stages.list з фільтром за pipeline. |
Проєкти
Інструменти
| projects.get | Отримати один проєкт за id — назва, тип, клієнт, дати, опис і ціна. |
| projects.list | Отримати список проєктів. Фільтруйте за type (fixed-price | time-and-material | non-billable | internal), client.name, employee, name або діапазонами dateFrom/dateTo. Використовуйте це, щоб визначити id project, якого очікують завдання, облік часу, бюджети та договори. |
| projects.create | Створити проєкт (обов'язкові name і type; type = fixed-price|time-and-material|non-billable|internal; необов'язкові dateFrom/dateTo, client, publicDescription, notes, priceNet). Запис. |
| projects.update | Оновити проєкт за id (name, type, дати, опис тощо). Запис. |
Відповідальності
Інструменти
| responsibilities.get | Отримати одну відповідальність за id. |
| responsibilities.list | Отримати список відповідальностей у групі RACI. Фільтруйте за responsibilityGroup. Відповідальності можуть бути вкладеними через parent; людей призначають на них через responsibilityEmployees, а не напряму. |
| responsibilities.create | Створити відповідальність у межах групи (обов'язкові responsibilityGroup — id групи або IRI, і name; необов'язковий description; необов'язковий parent — IRI іншої відповідальності для вкладеності). Призначайте на неї людей через responsibilityEmployees.create. Запис. |
| responsibilities.update | Оновити відповідальність за id (name, description, parent, responsibilityGroup — id групи або IRI). Запис. |
Співробітники відповідальностей
Інструменти
| responsibilityEmployees.get | Отримати одне призначення відповідальності за id. |
| responsibilityEmployees.list | Отримати список того, хто на яку відповідальність призначений і з яким відсотком. Фільтруйте за employee, щоб побачити повне навантаження RACI однієї людини в усіх групах. |
| responsibilityEmployees.create | Призначити співробітника на відповідальність (обов'язкові responsibility — id відповідальності або IRI, employee — id співробітника або IRI, percentage 0-100; необов'язкові targets і description). Запис. |
| responsibilityEmployees.update | Оновити призначення відповідальності за id (percentage, targets, description). Запис. |
| responsibilityEmployees.delete | Прибрати призначення співробітника з відповідальності за id. Запис. |
Групи відповідальностей
Інструменти
| responsibilityGroups.get | Отримати одну групу відповідальності за id. |
| responsibilityGroups.list | Отримати список груп відповідальності / зон RACI — елементів верхнього рівня "Odpowiedzialności", кожен із яких має відповідальну особу. Окремі відповідальності підпорядковані їм. |
| responsibilityGroups.create | Створити групу відповідальності / зону RACI (обов'язковий name; необов'язкові description і responsibleEmployee — відповідальна особа, задана як звичайний id співробітника, наприклад 6 (з people.list), або IRI /people/6). Це елемент верхнього рівня "Odpowiedzialności". Додавайте окремі відповідальності під нього через responsibilities.create. Запис. |
| responsibilityGroups.update | Оновити групу відповідальності за id (name, description, responsibleEmployee — id співробітника або IRI). Запис. |
Етапи
Інструменти
| stages.get | Отримати один етап угоди за id. |
| stages.list | Отримати впорядкований список етапів угод. Фільтруйте за pipeline. deals.create вимагає id stage звідси, а переміщення угоди між етапами саме те, що фіксує dealStageHistories. |
Постачальники
Інструменти
| suppliers.list | Отримати список постачальників/підрядників — дані надходять з /contractors, тож "supplier" і "contractor" — це один і той самий запис. Фільтруйте за cyclic для регулярних постачальників. Використовуйте це, щоб визначити постачальника, за яким проведено витрату, договір або вхідний рахунок. |
| suppliers.create | Створити новий запис постачальника/підрядника (обов'язкові name, tinType, costGroup). Запис. |
| suppliers.update | Оновити дані постачальника/підрядника (name, податковий номер, умови оплати тощо) за id. Запис. |
Визначення тегів
Інструменти
| tagDefinitions.list | Отримати список визначень тегів — тегів, які можна прикріпити до записів, кожен у межах групи тегів. tags.create приймає id tagDefinition звідси разом із записом, до якого його прикріпити. |
| tagDefinitions.create | Створити визначення тега (обов'язкові name, level, tagGroup) у межах групи тегів. Запис. |
Групи тегів
Інструменти
| tagGroups.list | Отримати список груп тегів — контейнерів, що впорядковують визначення тегів. |
| tagGroups.create | Створити групу тегів (обов'язковий name) для впорядкування пов'язаних визначень тегів. Запис. |
Коментарі до завдань
Інструменти
| taskComments.list | Отримати список коментарів до завдань проєкту, від найстаріших. Фільтруйте за task, щоб прочитати обговорення одного завдання. |
| taskComments.create | Додати коментар до завдання проєкту (id завдання + content). Запис. |
Списки завдань
Інструменти
| taskLists.list | Отримати список списків завдань — колонок/секцій дошки, у які розподілені завдання. Фільтруйте за project. tasks.create приймає id list звідси. |
Завдання
Інструменти
| tasks.get | Отримати одне завдання проєкту за id — назва, проєкт, статус, список, виконавці, дати й повторення. |
| tasks.list | Отримати список завдань проєкту. Фільтруйте за project, list, status, assignees, isTemplate або діапазонами startAt/dueAt. Повторювані завдання мають recurrenceParent і recurrenceRule, тож згенеровану подію можна простежити до правила, яке її створило. Щоб визначити, чи завдання виконане, порівнюйте його статус з taskStatuses.list (isClosed), а не зіставляйте за назвою статусу. |
| tasks.create | Створити завдання проєкту (обов'язкові title і project; необов'язкові status, list, assignees, dueAt, priority). Запис. |
| tasks.update | Оновити завдання проєкту за id — змінити status (зокрема позначити виконаним), assignees, dueAt, title тощо. Запис. |
Статуси завдань
Інструменти
| taskStatuses.list | Отримати список статусів завдань проєкту в порядку дошки. isClosed позначає завершені стани, а isDefault — статус, який отримує нове завдання. Читайте це перед тим, як інтерпретувати статус завдання — назви налаштовуються організацією, тому рядок "Done" не є надійним критерієм для зіставлення. |
Податкові групи
Інструменти
| taxGroups.list | Отримати список податкових груп. Використовуйте це, щоб визначити id taxGroup, за яким фільтрує taxRules.list і який містять позиції рахунку. |
| taxGroups.create | Створити податкову групу (обов'язкові name і type). Запис. |
| taxGroups.update | Оновити назву або тип податкової групи за id. Запис. |
Податкові правила
Інструменти
| taxRules.list | Отримати список податкових правил — ставок і періодів, до яких вони застосовуються. Фільтруйте за taxGroup. |
| taxRules.create | Створити податкове правило. Запис. |
| taxRules.update | Оновити податкове правило за id. Запис. |
Транзакції
Інструменти
| transactions.list | Отримати список банківських транзакцій — банківської виписки, з якою зіставляються вхідні рахунки. Фільтруйте за bankAccount, counterpartyRole, cost, ignored, hasDetectedProblems, діапазоном orderDate/execDate або amount.between. Зверніть увагу: orderDate і execDate — це різні поля: платіж може бути замовлений в одному місяці, а виконаний у наступному. |
| transactions.suggestions | Прочитати пропозиції Flowtly для однієї банківської транзакції — якого контрагента, групу витрат чи документ їй слід зіставити. Дзеркальне відображення incomingInvoices.suggestions, але з боку грошей. |
Облік часу
Інструменти
| workTimes.get | Отримати один запис обліку часу за id — дата, хвилини, проєкт, нотатки та співробітник, якому він належить. |
| workTimes.list | Отримати список записів обліку часу (відпрацьованих годин). Фільтруйте за діапазоном дат (date.after / date.before, YYYY-MM-DD) і за бажанням за employee або project; використовуйте пагінацію через cursor. Кожен рядок містить employeeId/employeeName і projectId/projectName, тож саме так експортуються всі відпрацьовані години за період. ВАЖЛИВО: результати по всій організації вимагають ROLE_WORKING_HOURS_VIEWER. Без цієї ролі бекенд НЕ повертає помилку — він мовчки повертає лише записи підключеного користувача, тож експорт "годин усіх" може повернутися з даними лише однієї людини й виглядати цілком коректно. Якщо всі рядки належать одному співробітнику, а ви не фільтрували за employee, відповідь містить scopeWarning із поясненням цього — покажіть його користувачеві, а не подавайте результат як дані по всій організації. |
| workTimes.log | Записати облік часу для підключеного користувача Flowtly (date, durationMinutes, project, notes). Запис. |
Контакти клієнтів
Інструменти
| clientContacts.create | Створити контактну особу для клієнта (обов'язкові client, type, name, email). Запис. |
Банківські рахунки контрагентів
Інструменти
| counterpartyBankAccounts.create | Прикріпити банківський рахунок до контрагента (counterparty + accountNumber). Запис. |
Логотип організації
Інструменти
| organizationLogo.upload | Завантажити/замінити логотип організації (зображення base64 + contentType + filename). Поточний можна прочитати через configs.get organization-logo-url. Запис. |
Іконка організації
Інструменти
| organizationIcon.upload | Завантажити/замінити іконку/favicon організації (зображення base64 + contentType + filename). Поточну можна прочитати через configs.get organization-icon-url. Запис. |