MCP App Store
by KeenEthics
Finance
Klardaten DATEV-Connector icon

Klardaten DATEV-Connector

by Klardaten GmbH

Overview

Klardaten DATEV-Connector gives authorized users controlled access to DATEV accounting, payroll (Lohn und Gehalt and LODAS), document management, order management, and master data through ChatGPT. It supports guided discovery, scoped list and detail lookups, financial reporting, DMS metadata and content search, document retrieval, order inspection, payroll snapshots, and master-data access. Large read results can be retrieved through authenticated attachments. With a separately approved OAuth permission, it can create uncommitted accounting sequences; it cannot finalize them. LODAS requires the exchange service to be enabled for the selected client. DMS content search is available only for eligible accounts. Access is limited to the DATEV data and operations permitted for the authenticated user.

Tools

datev_accounting_create_sequence

ChatGPT
Create an uncommitted accounting sequence in DATEV Rechnungswesen. This non-idempotent write requires the OAuth scope datev:accounting-sequences:create. The selected fiscal year's account_length determines conversion of human account numbers to DATEV technical format before the single POST. Unlisted accounts can be included in the uncommitted sequence and may need to be created or mapped in DATEV before finalization. The tool always sends is_committed=false and cannot finalize a sequence. Failures are marked non-retryable. After a timeout or server error, DATEV must be checked for an already-created sequence before another attempt.

datev_accounting_get

ChatGPT
Get DATEV Accounting data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='accounting'. Accounting context: Listing datev://accounting/clients without IDs returns valid clientId GUIDs. For most other resources, listing datev://accounting/fiscal_years with clientId returns valid fiscalYearId values in YYYYMMDD format.

datev_accounting_list

ChatGPT
List DATEV Accounting data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='accounting'. Accounting context: Listing datev://accounting/clients without IDs returns valid clientId GUIDs. For most other resources, listing datev://accounting/fiscal_years with clientId returns valid fiscalYearId values in YYYYMMDD format. Reporting workflow: Monthly Umsatz, revenue, sales, and account-balance questions use datev://accounting/accounting_sums_and_balances after resolving clientId and fiscalYearId. Relevant fields are id, account_number, caption, and accounting_sums_and_balances_month_values. Reporting safety: Accurate totals require full pagination and S/H direction on monthly values. SuSa movements/captions are neither BWA mappings nor OPOS. Unconfirmed mappings require preliminary labels and disclosure of inference; condensed open-item resources represent OPOS.

datev_describe

ChatGPT
Discover the correct DATEV resource contract and arguments before calling a data tool, or describe this server's modules, workflows, filter dialects, and id formats. MCP version 1.0.309; callers that cache this value may pass it as the optional version argument. Makes no DATEV API call. topic accepts: 'overview' (server guide, module index, guide list, error codes) | a module name ('accounting', 'master-data', 'dms', 'order-management', 'payroll') for that module's workflow guide and resource catalog | a resource URI like 'datev://accounting/fiscal_years' for its required path arguments, filter fields, and notes | a guide name like 'datev-dms-filter-builder' for a task guide. This metadata provides valid filter fields and id formats before a data call and explains remediation hints returned by other tools.

datev_dms_create_document

ChatGPT
Create a DATEV DMS document from an uploaded document file ID and metadata. This non-idempotent write requires datev:dms-documents:create. The current DATEV user is resolved internally. For a requested client, correspondencePartnerGuid is the matched Client.id from datev://master-data/clients; legal_person_id, natural_person_id, and addressee IDs are invalid substitutes. Domain, folder, and register IDs are resolved with DATEV read tools before creation. State is optional with no default. Supplied state or templates trigger an installed-feature check: DMS includes supplied values; DokAb/DokAbRev omit state and reject templates. Optional property templates ('Ablage-Knigge') are resolved through datev://dms/property_templates and can overwrite explicit document metadata. A timeout or server error requires checking DATEV for the created document before another write.

datev_dms_get

ChatGPT
Get DATEV DMS data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='dms'. Identifier types: document id, user ids, and correspondence_partner_guid are GUIDs. structure_item id, document_file_id, and domain, folder, register, and state ids are integers. File download: Getting datev://dms/document_files with a documentFileId from datev://dms/structure_items returns a temporary single-use link rather than inline bytes.

datev_dms_list

ChatGPT
List DATEV DMS data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='dms'. Identifier types: document id, user ids, and correspondence_partner_guid are GUIDs. structure_item id, document_file_id, and domain, folder, register, and state ids are integers. Resource-specific filters: The selected resource accepts only its documented fields. For documents, gt/lt applies to numeric and date fields rather than GUID fields. datev://dms/structure_items accepts id plus optional top/skip, but no filter. Response shaping: DMS list resources do not support expand or select. Paging with top/skip is resource-specific. Document lookup: Names are resolved through datev://dms/domains and datev://dms/document_states before listing datev://dms/documents with their numeric ids. File download: Listing datev://dms/structure_items with the document GUID returns document_file_id values.

datev_dms_prepare_attachment

ChatGPT
Stages an attachmentHandle returned by datev_dms_get and exposes the file through the stable DATEV attachment resource. The prepared resource is read immediately because only one attachment can be pending per authorized connection. Repeated preparation of the same pending attachmentHandle succeeds without extending its expiry. An attachment_slot_busy response means the stable resource still exposes the previously prepared file, not the requested file; reading it would return that previous file. A later preparation is possible after the previous file is consumed or expires.

datev_dms_upload_document_file

ChatGPT
Upload an original ChatGPT attachment to DATEV DMS and return its temporary document file ID. This non-idempotent write requires datev:dms-documents:create. Pass the user's existing attachment through the file field. ChatGPT supplies its staged file reference after the model constructs the tool call; the model must not generate, optimize, resize, recompress, render, transcode, re-encode, or recreate the file. The server downloads at most 20971520 bytes (20 MiB) from the temporary URL and sends those exact bytes to DATEV. When ChatGPT omits file_name, the server derives a neutral attachment filename from the media type or original bytes. The returned fileName should be passed unchanged to datev_dms_create_document. The document file ID remains valid for 24 hours. After failure or timeout, DATEV must be checked for partial success before retrying.

datev_lodas_payroll_get

ChatGPT
Get DATEV LODAS Payroll data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='lodas-payroll'. Availability: The LODAS Lohnaustauschdatenservice option must be enabled for the selected client. Client identity: A clientId GUID from datev://master-data/clients is the first choice because its name lookup is case-insensitive. The server uses the most recent Accounting fiscal year to resolve bnr and mnr. Explicit bnr plus mnr is the fallback; combining both forms is invalid. Payroll month: referenceDate is optional and uses yyyy-mm format; omission selects the client's current payroll month.

datev_lodas_payroll_list

ChatGPT
List DATEV LODAS Payroll data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='lodas-payroll'. Availability: The LODAS Lohnaustauschdatenservice option must be enabled for the selected client. Client identity: A clientId GUID from datev://master-data/clients is the first choice because its name lookup is case-insensitive. The server uses the most recent Accounting fiscal year to resolve bnr and mnr. Explicit bnr plus mnr is the fallback; combining both forms is invalid. Payroll month: referenceDate is optional and uses yyyy-mm format; omission selects the client's current payroll month.

datev_master_data_create_addressee

ChatGPT
Creates a addressee in DATEV Master Data. This direct, non-idempotent write requires datev:master-data:create. Natural persons require current_surname; legal persons require current_company_name. Addresses and contact details are optional. The returned addresseeId can supply a client reference. When currently valid addresses exist, there is exactly one correspondence address, plus one management address for legal persons. Each present street or post-office-box type has one main address. DATEV may assign these flags on creation. Disabling the sole required flag requires another eligible address to take its role. Collection items are identified by their IDs. The PUT body preserves existing item order and appends new items; DATEV may reorder items in read-back responses. An undated {} history entry can represent an unset baseline. Verification reads follow the completed write response; a write and its read-back run sequentially. After a timeout or server error, read-only verification precedes another write.

datev_master_data_create_client

ChatGPT
Creates a client in DATEV Master Data. This direct, non-idempotent write requires datev:master-data:create. Client creation supports natural_person or legal_person; individual_enterprise creation is not supported because DATEV Programs 20.0 removed creation of this client type. Existing individual_enterprise clients remain readable and updatable. Client creation requires a matching addressee first. A verified existing addressee can be reused; otherwise datev_master_data_create_addressee creates the prerequisite. A minimal legal-person addressee needs type=legal_person and current_company_name; a minimal natural-person addressee needs type=natural_person and current_surname. Addresses and contact details are optional. The returned addresseeId supplies the matching client reference. Verification reads follow the completed write response; a write and its read-back run sequentially. After a timeout or server error, read-only verification precedes another write.

datev_master_data_get

ChatGPT
Get DATEV Master Data data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='master-data'. The clientId parameter requires a GUID rather than a number. Valid client GUIDs are returned by datev://master-data/clients.

datev_master_data_list

ChatGPT
List DATEV Master Data data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='master-data'. The clientId parameter requires a GUID rather than a number. Valid client GUIDs are returned by datev://master-data/clients. Master-data list behavior: select and filter are available only when exposed by the selected context. Client-scoped client_groups, client_categories, and responsibilities do not accept filter. High-volume clients/addressees resources support bounded pages through top and iteration through skip. Filter syntax: contains(field, 'text') supports partial matches, startswith(field, 'text') supports prefixes, and field eq value supports exact matches; conditions can be combined with 'and'. contains() generally gives broader partial text/name matches than eq. Examples: contains(name, 'Muster') | number eq 10010004 | contains(current_company_name, 'Acme').

datev_master_data_update_addressee

ChatGPT
Updates a addressee in DATEV Master Data. This direct, non-idempotent write requires datev:master-data:update. The full record is fetched before merging changes and clearFields. Omitted fields and items remain; historical edits include history and current value. Root immutable fields cannot change. When currently valid addresses exist, there is exactly one correspondence address, plus one management address for legal persons. Each present street or post-office-box type has one main address. DATEV may assign these flags on creation. Disabling the sole required flag requires another eligible address to take its role. Collection items are identified by their IDs. The PUT body preserves existing item order and appends new items; DATEV may reorder items in read-back responses. An undated {} history entry can represent an unset baseline. Verification reads follow the completed write response; a write and its read-back run sequentially. After a timeout or server error, read-only verification precedes another write.

datev_master_data_update_client

ChatGPT
Updates a client in DATEV Master Data. This direct, non-idempotent write requires datev:master-data:update. The full record is fetched before merging changes and clearFields. Omitted fields and items remain; historical edits include history and current value. Root immutable fields cannot change. Verification reads follow the completed write response; a write and its read-back run sequentially. After a timeout or server error, read-only verification precedes another write.

datev_order_management_get

ChatGPT
Get DATEV Order Management data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='order-management'. Order details: datev_order_management_get on datev://order-management/orders accepts orderId and expand=suborders. The expand and select parameters are mutually exclusive.

datev_order_management_list

ChatGPT
List DATEV Order Management data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='order-management'. Actual hours: datev://order-management/expense_postings. Names: exact employee_id=id join to unfiltered datev://master-data/employees; select=id,name,display_name,number. datev://order-management/employees_with_group may be empty; datev://order-management/employee_capacities is planning, not actual bookings. orders.client_id is primary; datev://master-data/clients broader; datev://accounting/clients is partial; self_clients is optional; order_types decodes it. Filters: eq/ne/gt/ge/lt/le with and/or. Strings are quoted; others unquoted. Fields occur once. Monthly rows send one work_date bound upstream and apply the other locally; employee/posting lists need full top/skip paging. orderId-scoped list paths do not accept filter/top/skip; client_group accepts only clientId.

datev_payroll_get

ChatGPT
Get DATEV Payroll data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='payroll'. Product scope: DATEV Lohn und Gehalt only; LODAS is unsupported. EO Comfort actual postings use datev://order-management/expense_postings, not Payroll. Discovery workflow: referenceDate is required in yyyy-mm-dd format on every Payroll request. Listing datev://payroll/clients with referenceDate resolves clientId GUIDs; listing datev://payroll/employees with clientId and referenceDate returns personnel-number ids. Identifier formats: Client.id is a GUID; Employee.id is a zero-padded personnel-number string; resource-level ids such as salary_type_id, reason_for_absence_id, and cost_center_id are short codes. Payroll scoping: Resources have no filtering or paging; employee paths narrow results. Per-employee single objects use datev_payroll_get with clientId and employeeId.

datev_payroll_list

ChatGPT
List DATEV Payroll data for the resource selected via resourceUri. The datev_describe tool provides filter fields, required ids, and per-resource notes when resourceUri is used as its topic; module guide: topic='payroll'. Product scope: DATEV Lohn und Gehalt only; LODAS is unsupported. EO Comfort actual postings use datev://order-management/expense_postings, not Payroll. Discovery workflow: referenceDate is required in yyyy-mm-dd format on every Payroll request. Listing datev://payroll/clients with referenceDate resolves clientId GUIDs; listing datev://payroll/employees with clientId and referenceDate returns personnel-number ids. Identifier formats: Client.id is a GUID; Employee.id is a zero-padded personnel-number string; resource-level ids such as salary_type_id, reason_for_absence_id, and cost_center_id are short codes. Payroll scoping: Resources have no filtering or paging; employee paths narrow results. Per-employee single objects use datev_payroll_get with clientId and employeeId.

datev_prepare_attachment

ChatGPT
Stages an attachmentHandle returned by a DATEV read tool and exposes the file through the stable DATEV attachment resource. The prepared resource is read immediately because only one attachment can be pending per authorized connection. Repeated preparation of the same pending attachmentHandle succeeds without extending its expiry. An attachment_slot_busy response means the stable resource still exposes the previously prepared file, not the requested file; reading it would return that previous file. A later preparation is possible after the previous file is consumed or expires.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

23

Tools

3

Prompts

ChatGPT

Platforms

Category

CRM Records

Works with

ChatGPT

Data refreshed daily