MCP App Store
by KeenEthics

Overview

Billabex is an AI-powered accounts receivable and invoice collection platform that helps finance teams manage customer payment follow-up directly from ChatGPT. Review customer accounts, contacts, invoices, credit notes, credit allocations, outstanding balances, overdue receivables, incoming emails, outgoing emails, payment communications, and account tasks in one place. Identify unpaid invoices and silent customers, inspect complete account and communication histories, monitor collection priorities, update customer and billing records, manage contacts, pause or resume automated payment reminders, respond to tasks raised by the AI agent, prepare scheduled communications, and send personalized payment reminder emails. Billabex centralizes receivables management, customer communication, invoice follow-up, credit control, and debt collection workflows so businesses can reduce late payments, improve cash flow visibility, save time on repetitive collection work, and maintain professional customer relationships.

Tools

acknowledge-unknown-account-task

ChatGPT
Record a boolean acknowledgement on an Unknown task after reading get-account-task. Either boolean records the reply; the workflow acknowledges it and closes the task. This tool does not resolve other task types.

add-account-tags

ChatGPT
Attach one or more existing labels to a customer account. Use list-tags to get the label identifiers, and create-tag when the label does not exist yet. Attaching a label the account already has changes nothing.

add-account-task-structured-interaction

ChatGPT
Add a structured user interaction to an account task. Use this for typed responses that follow a specific schema (e.g., approval responses, contact selections).

add-account-task-text-interaction

ChatGPT
Add a text-based user interaction to an account task. Use this to provide a simple text response to a task.

apply-credit-allocation

ChatGPT
Apply a credit amount from a credit note to an invoice, reducing the outstanding balance. This creates a link between the credit note and invoice.

cancel-account-payment-promise

ChatGPT
Withdraw the commitment standing on an account. Nothing recovers it; ask the user before calling this. Withdrawing when none stands is not an error.

cancel-account-task

ChatGPT
Cancel an account task. This marks the task as canceled and it will no longer require user input.

cancel-organization-invitation

ChatGPT
Cancel a pending invitation to an organization. This removes the invitation before the user accepts it.

check-account-bodacc

ChatGPT
Check French collective proceedings and propose debtor identity candidates. Supply a SIREN/SIRET only when confirmed from a debtor document or customer record. Works for connector-managed accounts. Persists the check and may pause reminders or open a task; preserves independent legal and manual pauses.

close-account-task

ChatGPT
Close a task the user says was dealt with elsewhere ("déjà géré", "c'est réglé de notre côté"), without asking the agent anything: no model decides the closure and no email is sent for it. Only a task asking for information (type NeedUserInput) can be closed this way, and not while a reply of the user is being processed. A payment review (paymentDeclarationId set) is answered with resolve-account-payment-declaration, and every other task with its own action. Missing information is not marked as provided and pauses stay in place; read get-account-dunning-status afterwards to tell the user whether reminders may resume. Never close a task on your own initiative, and never to answer a question the task asks. Closing an already closed task returns it unchanged. Returns where the task stands; read get-account-task for the full task.

confirm-account-task-recipients

ChatGPT
Answer the recipient selection task with idempotencyKey dunning-recipient-review. Read current account contacts first. The server checks reviewed IDs and emails, enables selected contacts, disables unselected reviewed contacts and closes the task. Set confirmLargeSelection to true only after user confirmation when selecting more than 5 recipients.

confirm-account-task-resume

ChatGPT
Answer the reminder resume confirmation task. resume authorizes resuming automatic reminders; keep_paused leaves them paused. The workflow applies the decision and closes the task. Use only the explicit user decision after reading get-account-task.

create-account

ChatGPT
Create a new customer account for an organization. Requires full account details including billing address and currency.

create-contact

ChatGPT
Add a new contact to a customer account. Contacts are external people who can receive dunning emails.

create-credit-note

ChatGPT
Create a new credit note with an attached document. The file should be provided as base64-encoded content. Supported formats: PDF, PNG, JPEG, WebP. Max size: 10MB.

create-invoice

ChatGPT
Create a new invoice with an attached document file. The file must be provided as base64-encoded data. Supported formats: PDF, PNG, JPEG, WebP. Max size: 10MB.

create-invoice-from-file

ChatGPT
Create an invoice from a file attached in ChatGPT, without base64. Confirm the account, invoice number, dates and amounts from the document. The account must already exist: find it with list-accounts; if none matches, propose create-account with the customer details from the invoice and wait for the user to confirm. PDF, PNG, JPEG, WebP, maximum 10 MB. Generate importId once and reuse it for retries. If file transfer is unavailable, call prepare-invoice-upload with the SAME invoice details and importId. Never invent a download URL or encode the PDF in the conversation. Returns invoiceId for get-invoice.

create-organization-invitation

ChatGPT
Invite a user to an organization by email address. The user will receive an invitation email to join the organization.

create-tag

ChatGPT
Create a new label owned by an organization. Check list-tags first, an equivalent label may already exist.

decide-account-task-contact-change

ChatGPT
Approve or refuse the contact changes proposed by an ApproveContactChange task. Read its proposed operations first. Approval applies selected additions, updates or removals; omitting selectedOperations approves all proposed operations. The workflow closes the task.

decide-account-task-eligibility

ChatGPT
Answer an ApproveEligibility task after reading get-account-task. True authorizes adding the incoming sender as a contact; false declines. The workflow records the answer and closes the task.

decide-account-task-email-draft

ChatGPT
Send or discard the email currently awaiting user approval on a NeedUserInput task. Read get-account-task and the full draft first. communicationId must match pendingCommunicationId. send triggers delivery to the draft recipients; discard abandons that draft. Never infer approval from free text.

decide-account-task-first-outreach

ChatGPT
Answer an ApproveFirstOutreach task. Approval enables the first automatic payment reminder; refusal pauses reminders. The workflow closes the task. Use only the explicit user decision.

decide-account-task-next-action

ChatGPT
Answer an AskNextAction task after reading get-account-task. take-over keeps reminders off; resume restarts them with current contacts; add-contact creates or updates the supplied contact and resumes reminders. The workflow closes the task.

decide-account-task-payment-arrangement

ChatGPT
Answer an ApprovePaymentArrangement task. grant applies the approved installments to the selected invoices within the task scope; refuse declines the proposal; keep_existing preserves the current schedules. The workflow validates scope and amounts, lifts only this request's payment-plan pause and closes the task. It sends no email directly. Read the task and current invoices first.

delete-account

ChatGPT
Permanently delete a customer account and all associated data. This action cannot be undone. Accounts linked to external sources may have restrictions.

delete-contact

ChatGPT
Remove a contact from a customer account.

delete-credit-note

ChatGPT
Permanently delete a credit note.

delete-invoice

ChatGPT
Permanently delete an invoice. This action cannot be undone. The invoice must not be linked to a managed account source.

delete-tag

ChatGPT
Delete a label of an organization. It is removed from every account carrying it, which cannot be undone: confirm with the user first.

enrich-contact

ChatGPT
Buy a contact's details: 1 credit for an email address, 2 as soon as a phone number is found, 0 when nothing is found. SPENDS THE ORGANIZATION'S CREDITS, so confirm with the user before calling it. The search must be anchored on the debtor: either a LinkedIn profile URL, or a company domain on the account. Without one of the two it is refused before any spend, because a name alone matches a namesake company anywhere in the world. Returns as soon as the provider accepted; the contact appears on the account about a minute later, on its own, and nothing has to be polled.

export-invoices

ChatGPT
Export invoices to an Excel (.xlsx) file the user can download: every invoice matching the filters, not one page, with typed amounts and dates, one row per invoice. Returns a download link valid 15 minutes; hand it to the user rather than reading the file. Takes the same filters as list-invoices. Refused above 20000 invoices: narrow the filters. Filterable fields: number (contains, startsWith, equals, isAnyOf: several document numbers in one condition); accountName (contains, startsWith, equals); tags (containsAny, containsAll, containsNone, isEmpty, isNotEmpty: the labels carried by the account this document belongs to); status (is, isNot, isAnyOf: Issued, Paid, Overdue); dueDate (on, before, after, between); paymentSchedule (isTrue, isFalse); paymentMethod (is, isNot, isAnyOf, isEmpty, isNotEmpty); totalAmount, remainingBalance (equals, greaterThan, lessThan, between); channel (is, isNot, isAnyOf); sourceId (is, isAnyOf, isEmpty, isNotEmpty: case-sensitive, the caller-provided identifier).

get-account

ChatGPT
Retrieve detailed information about a specific customer account including contacts and source information. For user-facing responses, prefer account name/summary fields and use IDs only for follow-up tool calls.

get-account-dunning-status

ChatGPT
Read the payment follow-up status of a customer account: whether it is suspended and why, whether a task or a threshold is holding messages back, when the first message becomes possible, and the commitment to pay standing on it (paymentPromise, null when none does; a promise changes no accounting, it is what the next follow-up must not contradict). Answer questions about a silent account with this: silenceReason names the single cause, ranked the same way the send decision ranks it. Read-only, it changes nothing on the account.

get-account-financial-overview

ChatGPT
Explain a customer account balance and list every past and future invoice installment, including covered installments and the amount still due on each one.

get-account-task

ChatGPT
Get detailed information about a specific account task including its type, status, and required input.

get-aging-balance

ChatGPT
Get gross outstanding amounts by currency and aging bucket. Unallocated credit notes are reported apart in unallocatedCredit, not deducted from any bucket: the buckets minus unallocatedCredit is the outstanding balance.

get-communication

ChatGPT
Read one communication with its content: a customer email, a reminder or agent email, or a paid SMS or letter. Pass the id and type of a list-communications row. Only the section matching type is set. An outgoing email with awaitingApproval true is only prepared; use its taskId and the DecideOutgoingEmailDraft task interaction to send or discard it. A letter carries a short-lived pdfUrl for its archived PDF when available; read again to renew it.

get-contact

ChatGPT
Retrieve detailed information about a specific contact.

get-credit-note

ChatGPT
Get detailed information about a specific credit note by ID, or by organization/account ID and credit note number. For user-facing responses, prefer credit note number/summary fields and use IDs only for follow-up tool calls.

get-customer-balance

ChatGPT
Get detailed information about a specific customer outstanding balance, including associated invoices and credit notes.

get-dso-history

ChatGPT
Get days sales outstanding for complete calendar months. Historical ECB rates, with blended rates for unsupported pairs. Rate errors never return partial totals.

get-email

ChatGPT
Read one email with its body (text, or HTML converted to markdown) and short-lived attachment download URLs. type is the email direction from list-emails. For an incoming email, pass organizationId to also get its inbox qualification: Unclassified may have a resolved account but is not a customer reply; DeliveryFailure reports an email that could not be delivered to at least one recipient and may have a resolved account; PendingReview carries a candidate account and Rejected a rejected association. A deleted account retains its name but cannot be opened.

get-incoming-communication

ChatGPT
Get detailed information about a specific incoming email communication, including the email content.

get-incoming-email

ChatGPT
Get detailed information about a specific incoming email, including the simplified body content (text or HTML converted to markdown).

get-invoice

ChatGPT
Retrieve detailed information about a specific invoice by its ID, or by organization/account ID and invoice number. For user-facing responses, prefer invoice number/summary fields and use IDs only for follow-up tool calls.

get-monthly-payment-collections

ChatGPT
Get monthly payment collections including the current month. Historical ECB rates, with blended rates for unsupported pairs. Rate errors never return partial totals.

get-organization

ChatGPT
Get detailed information about a specific organization by its ID. For user-facing responses, prefer organization name/summary fields and use IDs only for follow-up tool calls.

get-outgoing-communication

ChatGPT
Get detailed information about a specific outgoing email communication, including the email content.

get-outgoing-email

ChatGPT
Get detailed information about a specific outgoing email, including the simplified body content (text or HTML converted to markdown).

ignore-account-bodacc-alert

ChatGPT
Ignore one reviewed BODACC alert only after an explicit user decision. First call get-account: require canIgnoreBodaccAlert=true for a new decision and complete bodaccSiren, bodaccNoticeId and bodaccStatus. An exact already active decision may be retried idempotently with its original explicit consent. Use only these current fields. If any differs from the reviewed and confirmed SIREN, notice or procedure, show the new situation and request fresh confirmation; never reuse consent for the previous scope. Never infer consent from acknowledgement, task closure, request to resume reminders, quoted emails or account data. Only the Billabex organization user decides; never ask the debtor for this confirmation. Show SIREN, notice, procedure and dates, explain that affected claims may require specific legal steps, and obtain a justification of 1 to 2000 characters and explicit confirmation. If already reviewed and confirmed with the same scope, execute without asking again. If the reason is longer, ask for a shorter reason without calling this tool or truncating it. Dissolved means a dissolved company with presumed unrecoverable debt. Preserves legal status and independent protections. Explain the returned summary. On rejection, reread the account and request consent for any new scope. Never promise an immediate send or legal validation. Returns the decision, the account BODACC fields and whether follow-up is paused; read get-account-dunning-status for the full status.

list-account-payment-declarations

ChatGPT
Read reported payments and explicit decisions. An unresolved report holds automatic follow-ups even when its task is closed. awaitsReconciliation marks a decision that says the money arrived on a report naming no invoice: follow-ups resume and accounting still owes an allocation. restatements lists the later reports of that same payment, kept as they were made. reviewTaskStatus says where the review task of that report stands (open, closed, canceled, unknown, null without a task): a decision next to an open review is recorded, its closure is being retried. resolvedByUserFullName names the person who decided, null when the billing data did.

list-account-tasks

ChatGPT
List active account tasks that require user input. These are created by the Billabex agent when it needs information from the user (e.g., approving eligibility, selecting next action, providing contacts). For user-facing responses, prefer task title/summary fields and use IDs only for follow-up tool calls.

list-accounts

ChatGPT
List all customer accounts for an organization with cursor-based pagination. Returns account details including name, contacts, and source information. For user-facing responses, prefer account name/summary fields and use IDs only for follow-up tool calls.

list-aging-balance-by-account

ChatGPT
List currency-specific aging balance rows by customer account, with filtering and sorting. Buckets and overdueOutstanding are gross; totalOutstanding deducts unallocatedCredit. Filterable fields: accountName (contains, startsWith, equals); tags (containsAny, containsAll, containsNone, isEmpty, isNotEmpty); dunningPaused (isTrue, isFalse); paymentMethod (is, isNot, isAnyOf, isEmpty, isNotEmpty); collectiveProceeding (is, isNot, isAnyOf: Yes, No, Unknown); source (is, isNot, isAnyOf, isEmpty, isNotEmpty); notDue, d0_30, d31_60, d61_90, d90Plus, unallocatedCredit, totalOutstanding, overdueOutstanding, overdueRate (equals, greaterThan, lessThan, between). A cursor belongs to the exact set of filters and sort it was issued with: reusing it with different ones is refused, drop "after" and read the first page again.

list-audit-entries

ChatGPT
List the audit journal of an organization, newest first: one entry per successful command, with the user, agent or system that ran it. Pass accountId for the history of a single account, which is also the only way to read the history of an account that has been deleted. Use search to find an account by name: the name survives in the metadata of the commands that touched it, never in the account list once it is gone.

list-communications

ChatGPT
List communications (incoming emails, outgoing emails, SMS and letters) of an organization or one account, newest first, with server-side filters, sorting and pagination. Use get-communication with the id and type of a row for its content. Filterable fields and their operators: type (is, isNot, isAnyOf: IncomingEmail, OutgoingEmail, OutgoingSms, OutgoingTrackedLetter, OutgoingRegisteredLetter), direction (is, isNot, isAnyOf: Incoming, Outgoing), status (is, isNot, isAnyOf), deliveryStatus (is, isNot, isAnyOf, isEmpty, isNotEmpty), accountName / contactName / subject (contains, startsWith, equals, isEmpty, isNotEmpty), date (on, before, after, between). Date values are written YYYY-MM-DD. An unknown field or an operator the field does not accept is refused, never ignored. An "endCursor" belongs to the exact set of filters and sort it was issued for: pass it back unchanged, and read the list again from its first page whenever a filter or the sort changes.

list-contacts

ChatGPT
List all contacts associated with a customer account. Contacts are the external people (customers) who can receive dunning communications. For user-facing responses, prefer contact name/summary fields and use IDs only for follow-up tool calls.

list-credit-notes

ChatGPT
List credit notes for an organization with pagination support. For user-facing responses, prefer credit note number/summary fields and use IDs only for follow-up tool calls.

list-customer-balances

ChatGPT
List customer outstanding balances for an organization. Each balance represents the dunning state for a customer account, including outstanding invoices and credit notes. For user-facing responses, prefer summary fields and use IDs only for follow-up tool calls.

list-emails

ChatGPT
List all emails (both incoming and outgoing) for an organization. Returns paginated results with email type indicator.

list-incoming-communications

ChatGPT
List incoming email communications (customer replies to dunning emails) for an organization. Returns paginated results. For user-facing responses, prefer summary fields and use IDs only for follow-up tool calls.

list-incoming-communications-by-account

ChatGPT
List incoming email communications (customer replies) for a specific account. Returns paginated results filtered by account.

list-incoming-emails

ChatGPT
List incoming emails for an organization. These are emails received from external parties. Returns paginated results.

list-invoices

ChatGPT
List all invoices for an organization with cursor-based pagination. Returns invoice details including amounts, dates, and payment status. For user-facing responses, prefer invoice number/summary fields and use IDs only for follow-up tool calls.

list-organization-members

ChatGPT
List all members of a specific organization. Returns user details including name and email. For user-facing responses, prefer member name/summary fields and use IDs only for follow-up tool calls.

list-organizations

ChatGPT
List all organizations the authenticated user is a member of. Returns paginated results. For user-facing responses, prefer organization name/summary fields and use IDs only for follow-up tool calls.

list-outgoing-communications

ChatGPT
List outgoing email communications (dunning emails sent to customers) for an organization. Returns paginated results. For user-facing responses, prefer summary fields and use IDs only for follow-up tool calls.

list-outgoing-communications-by-account

ChatGPT
List outgoing email communications (dunning emails) for a specific account. Returns paginated results with recipient status history.

list-outgoing-emails

ChatGPT
List outgoing emails for an organization. These are emails sent by the system (dunning communications). Returns paginated results.

list-silent-accounts

ChatGPT
List accounts for an organization that have received at least one outgoing payment follow-up email but have never sent an incoming reply. Results are paginated.

list-tags

ChatGPT
List the labels of an organization. Every tag belongs to the organization, which can rename, recolor or delete it; names are not translated. Use this to get the tag identifiers needed by add-account-tags and remove-account-tag. For user-facing responses, prefer the displayName field and use IDs only for follow-up tool calls.

pause-account-dunning

ChatGPT
Suspend automated payment follow-up for a customer account. Facts stay paused until resumed. Dated waits require until and resume automatically. Omitting reason creates a manual pause. Returns the pause state; read get-account-dunning-status for the full status.

prepare-invoice-upload

ChatGPT
Prepare a secure 15-minute upload link when the client cannot transfer an invoice attachment. The account must already exist: find it with list-accounts; if none matches, propose create-account with the customer details from the invoice and wait for the user to confirm. Does NOT create the invoice yet: give the user the link exactly as returned, who reviews the details and uploads the document to create it. Reuse the SAME importId and invoice details as create-invoice-from-file if switching methods. A completed import cannot create a second invoice. Do not report success until the page confirms it or get-invoice finds the invoice.

preview-outgoing-message

ChatGPT
Preview and price an SMS, tracked letter or registered letter without spending credits. Use it to quote a price or show the body before sending. Set includePdf only to show the assembled postal document: it adds the rendered HTML and the PDF in base64, which are large.

provide-account-task-contact

ChatGPT
Answer a NeedContacts task with the contact supplied by the user. The workflow creates or updates that contact and closes the task, allowing payment follow-up to continue under the account rules.

record-account-payment-declaration

ChatGPT
Record that a customer reports having paid. Does not mark invoices paid. Reuse sourceRef on retries. A report of a payment already held open, naming exactly the same invoices from another source with no amount, currency or payment date that disagrees, is folded into that declaration under restatements instead of creating a second one; resolving with this sourceRef still decides it.

record-account-payment-promise

ChatGPT
Record that a customer committed to pay. Changes no accounting and marks no invoice paid. Supersedes the promise currently standing, so this is also how one is edited. A date already past is refused: a payment the customer says is already made is a payment declaration, use record-account-payment-declaration.

refresh-outgoing-message-tracking

ChatGPT
Refresh the postal history and receipt of an existing letter. Does not send mail or spend credits. Successful checks are reused for one minute. Returns the delivery state, postal history and receipt; read get-communication for the full message.

remove-account-tag

ChatGPT
Detach a label from a customer account. The label itself is kept and stays available for other accounts.

remove-credit-allocation

ChatGPT
Remove a credit allocation, reversing the credit that was previously applied from a credit note to an invoice.

remove-organization-member

ChatGPT
Remove a member from an organization. This will revoke their access to the organization.

resolve-account-payment-declaration

ChatGPT
Record an explicit user decision. PaymentReceived confirms the full announced amount, including an installment on a partly paid invoice. It closes the review when recorded payments cover that amount in the account currency on every named invoice, with no competing payment announcement on that scope; otherwise receipt is recorded while reconciliation remains pending. It never changes invoice amounts. PartiallyReceived confirms that part of the payment arrived: set the total paid amount of the invoices first with update-invoice (paidAmount), at least one invoice must stay open, and follow-ups resume on the balance still owed; it never changes an invoice. ResumeAuthorized permits follow-ups without claiming that payment was disproved. The note is optional: without one a factual note derived from the decision is recorded. Historical receipt is the explicit exception: only a User may set historicalInvoicesOutsideBillabex with PaymentReceived and a required personal verification note, after checking historicalReceiptEligible and the current account invoices. It requires unlinked references absent from the account and organization, and no pending prepared email. Never infer this confirmation from missing references. It closes only this review, changes no invoice and leaves other open declarations blocking reminders. Replaying the same decision returns the recorded state and retries the closure of the review task, whose state reviewTaskStatus reports. Never resolve solely because an invoice remains open. Settling the invoices decides the declaration on its own, as InvoicesSettled with resolvedBy set to accounting: that decision is the books reading themselves, and an explicit user decision replaces it, which is the only way PaymentReceived is ever recorded on such a declaration. A decision a person took is final: sending a different one answers app-dunning.payment-declaration.already-resolved, whose details carry the decision in place, its author and its date. Report that decision rather than retrying with another one.

resolve-platform-rejection-task

ChatGPT
Record an explicit user decision on a platform rejection. exclude keeps the destination excluded after closure; retry authorizes another attempt after the registration problem is resolved. Neither sends an email nor lifts other pauses. Never infer permission to retry from a generic closure. Returns where the task stands; read get-account-task for the full task.

resume-account-dunning

ChatGPT
Resume automated payment follow-up for a suspended customer account. Name a reason to lift only that pause, including written-off when reopening a closed account. Omit it to lift every pause a user may resume. Suspensions only their own fix can lift stay in pauseReasons. When the call lifts a suspension a person or the debtor asked for, the result carries a warning naming it: report it to the user verbatim. Returns the pause state; read get-account-dunning-status for whether a message is now planned.

revoke-account-bodacc-alert-override

ChatGPT
Revoke a specific BODACC alert decision only after explicit confirmation from the Billabex organization user, never the debtor. First call get-account and use the exact bodaccAlertOverride SIREN, notice and status, not the current legal finding. If this scope and warning were already reviewed and explicitly confirmed, execute now without another confirmation; the user need not retype the procedure name. Never infer revocation. An already invalidated or revoked decision is an idempotent no-op; do not claim a new recording. Reconciliation applies the current legal finding while preserving other protections. Revocation cancels the exception, it does not lift the BODACC pause. Explain the returned summary. If retryRequired=true or dunningStatus=null, follow-up status is unverified; never claim the pause was lifted or reminders resumed. Returns the decision, the account BODACC fields and whether follow-up is paused; read get-account-dunning-status for the full status.

search-contact-candidates

ChatGPT
List up to ten people on the customer side who look like they handle supplier payments. Requires the account to state a company domain. Without one the call is refused and nothing is charged: a search by name alone only finds people at a namesake company. Fix it with update-account and the customer's real website, taken from the user or from a document you can point at, never guessed from the company name. When none is found the search widens on its own to whoever runs the company, and searchScope says so. Candidates the public registry names as legally running the company are flagged and listed first. Returns NO contact details and SPENDS THE ORGANIZATION'S CREDITS: 0.25 credit per result, so confirm with the user before calling it. Pass a candidate profileUrl to enrich-contact to buy their details.

send-outgoing-communication

ChatGPT
Send an email immediately, at the account level, on behalf of the AI agent. Recipients are free-form (not limited to the account contacts). The account next planned communication is automatically recomputed after the send. Use message in markdown for content; the platform renders HTML/text and appends the agent signature automatically. Returns the communication id and per-recipient status; read get-communication for the full email.

send-outgoing-message

ChatGPT
Paid and irreversible. Set maxCredits to cap the spend; a postal preview renders the whole document again, so call preview-outgoing-message only when you need to show the price or the body first. An SMS costs 1 credit per segment, tracked mail starts at 6 credits, registered mail starts at 12 credits, and postal mail costs 1 more credit per page after the first. Reuse the same idempotencyKey for every retry. Returns the message id, its cost and delivery state; read get-communication for the full message.

set-account-dunning-preferences

ChatGPT
Set a permanent customer preference to prevent automatic reminders before amounts become due. Applies to current and future invoices; organization delays still apply. Does not pause follow-up or change accounting balances. Returns the preference; read get-account-dunning-status for the full status.

set-credit-note-original-invoice

ChatGPT
Set or remove the documentary origin of a credit note. No allocations, amounts or payment statuses change. Also allowed on connector-managed credit notes. The reference survives invoice deletion. Returns the credit note id, number and the fields this change affects; read get-credit-note for the full credit note.

set-invoice-dunning-block

ChatGPT
Exclude one invoice from the automatic reminders (blocked true), or put it back (blocked false). Excluded, the invoice stays due and stays in the balance, while the other invoices of the same account keep being chased: no reminder will claim it, name it or attach its PDF, and it no longer drives the reminder cadence. Use it for a disputed invoice, a partial delivery or an awaited credit note. Only an invoice with a positive remaining balance can be excluded; excluding it again rewrites the internal note. The note is internal to the organization and never sent to the debtor. Put back, the invoice may again be claimed, named and attached, under the rules of its account: a paused account stays paused, an open task or an announced payment still holds the reminders. Putting back is allowed whatever the balance, so a settled invoice can be cleaned up, and changes nothing on an invoice that was not excluded. This is not pause-account-dunning, which stops every invoice of the account, and not record-account-payment-declaration, which records that the debtor announced a payment. Returns the invoice id, number and the fields this change affects; read get-invoice for the full invoice.

set-pending-account-task

ChatGPT
Set an account task aside instead of answering it now, optionally naming the date it should come back. Use it when the answer depends on something that has not happened yet: name the date whenever the user gives one, so the task returns by itself instead of relying on someone to remember. Setting a task aside changes nothing about what it holds: a task that was holding the payment follow-up of its account keeps holding it, so this defers the decision rather than releasing the account, and cancelling or answering the task is what releases it. Without a date the task still comes back on its own after 30 days. Returns where the task stands; read get-account-task for the full task.

update-account

ChatGPT
Update an existing customer account.

update-account-source

ChatGPT
Update the lastUpdate timestamp of an existing source reference. Use this to record when data was last synchronized from the external system. Only linked Custom sources can be updated by users.

update-contact

ChatGPT
Update an existing contact on a customer account.

update-credit-note-refunded-amount

ChatGPT
Update the refunded amount on an existing credit note. Use this to record partial or full cash refunds. Returns the credit note id, number and the fields this change affects; read get-credit-note for the full credit note.

update-invoice

ChatGPT
Correct one aspect of an existing invoice per call: pass exactly one of paidAmount, dueDate or installments. paidAmount sets the total paid amount, never an amount to add: "1 368 € received" on an invoice already paid 936 € is either a new total of 1 368 € or 2 304 €, and only the user can say which. With it, always pass expectedPaidAmount, the paid amount you read from the invoice: if another update landed meanwhile the call is refused with app-invoicing.invoice.paid-amount-conflict carrying the current figure, which you report instead of retrying with another total. For a payment a customer announced, record the user decision with resolve-account-payment-declaration once the amount is right. dueDate corrects the payment due date of an issued invoice; it cannot be earlier than the issue date, and an invoice paid in installments refuses it, because its schedule drives the overdue status and the reminders: change installments instead. installments replaces the complete payment schedule; an empty array removes it. Replaying the same update changes nothing. Returns the invoice id, number and the fields this change affects; read get-invoice for the full invoice.

update-invoice-paid-amount

ChatGPT
Update the paid amount on an existing invoice. Use this to record partial or full payments.

update-organization

ChatGPT
Update an organization with a new name and/or email domain name.

update-organization-settings

ChatGPT
Update organization settings such as the first reminder delay days. This controls how many days after an invoice is due before the first dunning reminder is sent.

update-outgoing-communication

ChatGPT
Update an outgoing email communication. Only emails that have not been sent yet can be modified. Use message in markdown for content; the platform renders HTML/text and appends the agent signature automatically.

update-tag

ChatGPT
Rename and/or recolor a label of an organization. Every account carrying it shows the change. Send at least one of name and color.

upsert-contact

ChatGPT
Create a new contact or update an existing one based on email or name matching. This is idempotent - calling with the same data multiple times will have the same effect.

withdraw-account-payment-date-request

ChatGPT
Take back a standing instruction to ask the debtor of a customer account for a realistic payment date: the next messages ask for payment again. Use it when the user says to follow up normally again. Idempotent: an account with no such instruction is returned as is. The result carries paymentDateRequest, null once withdrawn; read get-account-dunning-status for the full status.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

110

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily