audit_invoice_current_request
ChatGPTCompare normalized invoice rows against agreed prices supplied in this request only. Supply quantity and unitPrice as decimal strings, not JSON numbers. Include the relevant agreed rows in every call. Optional sourceRef citations are inert and unverified. Returns correlated invoice/line/price IDs, review reasons and separate currency totals. Never contacts a supplier, retrieves documents, stores invoices or confirms credits.
compare_confirmed_invoice_rows
ChatGPTCall only after the user reviewed and explicitly confirmed these exact rows in the current request. Compares each row with the latest strictly earlier exact match (same supplier, product, SKU, pack, unit, currency, location) and with same-date prices at other locations, using the rows and optional user-supplied historyRows in this call only. Quantity and unitPrice are decimal strings. Differences are review prompts, not overcharges or credits. Nothing is saved.
create_damaged_goods_credit_claim
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Creates one draft claim (not requested, nothing sent) from one invoice row the user confirmed. One claim per invoice line. Reason: damaged on receipt. Requires the damaged quantity; the amount is computed as damaged quantity × invoice unit price. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
create_other_credit_claim
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Creates one draft claim (not requested, nothing sent) from one invoice row the user confirmed. One claim per invoice line. Reason: other. The user enters the amount; Marty does not compute or check it, and it cannot exceed the confirmed line value. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
create_price_variance_credit_claim
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Creates one draft claim (not requested, nothing sent) from one invoice row the user confirmed. One claim per invoice line. Reason: billed above the agreed price. Requires the agreed-price row that exactly matches the line; the amount is computed as quantity × (invoice price − agreed price) and must be positive. These are agreed-price differences, not historical price changes. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
create_short_shipment_credit_claim
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Creates one draft claim (not requested, nothing sent) from one invoice row the user confirmed. One claim per invoice line. Reason: billed for more than was received. Requires the received quantity; the amount is computed as (billed − received) × invoice unit price. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
edit_credit_claim_details
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Changes the owner, the response deadline (with its source; null removes it) or the notes of one claim in the supplied records. Each change is added to the claim's log; amounts and events are never edited. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_application_reversed
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: an earlier application was undone. Reopens that issued credit's unused balance and reduces realized money; cannot exceed the remaining amount of the application. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_applied
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: part or all of one issued credit was applied to an invoice; counts as realized. Cannot exceed that issued credit's unused balance. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_issued
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: the supplier issued a credit memo. Needs an earlier request and cannot exceed the open requested amount. Issued credit is not realized cash until it is applied or refunded. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_refund_reversed
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: an earlier refund was reversed. Reduces realized money and does not reopen the issued credit; cannot exceed the remaining amount of the refund. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_refunded
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: part or all of one issued credit was paid back as a refund. Consumes its unused balance and counts as realized. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_rejected
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: the supplier rejected part or all of an open request. Needs an earlier request and cannot exceed the open requested amount. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_request_cancelled
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: the user withdrew part or all of an open request. Needs an earlier request and cannot exceed the open requested amount. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_credit_requested
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: the user asked the supplier for this credit themselves (Marty never sends anything). Requested amounts, net of withdrawn and rejected amounts, cannot exceed the claim amount. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_direct_cash_recovery
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: the supplier paid cash without a credit memo. Needs an earlier request, cannot exceed the open requested amount, and counts as realized. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_direct_cash_reversed
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: an earlier direct cash recovery was reversed. Reduces realized money; cannot exceed the remaining amount of that cash event. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
record_issued_credit_cancelled
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Records one event on one claim in the supplied records. Records the user's own account of what happened; Marty does not check it with the supplier. Event: the supplier cancelled part or all of one issued credit. Consumes its unused balance and is not realized money. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
remove_credit_proof_reference
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Removes one proof reference (identified by SHA-256 only) from one claim in the supplied records. A reference cited by a recorded event cannot be removed. Marty never received or inspected the file. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.
review_credit_records
ChatGPTCall only after the user explicitly confirmed this exact action and its values in the current request; a previous confirmation never carries over. Validates the complete credit records the user supplies and reports each claim's status, amounts, owner, deadline and UNSENT supplier question without changing anything. Validates every claim in the supplied records first (each ledger is replayed and each amount recomputed from its evidence). Returns the complete updated records for the user to keep and supply again, per-claim status and per-currency totals; currencies are never mixed or converted. If anything is rejected, nothing is applied. Evidence references are inert text that Marty never opens or verifies; this tool takes no files. Marty saves nothing and never contacts suppliers; supplier questions are UNSENT drafts.