MCP App Store
by KeenEthics
Marty Invoice Auditor icon

Marty Invoice Auditor

By Lavu, Inc.

Get New App Alerts

Overview

Compare normalized invoice rows with agreed prices supplied in the current request. Marty matches supplier, location, item, pack, unit, currency and effective dates exactly, then calculates candidate price differences. Missing, mismatched or overlapping terms need review. Currency totals stay separate. Source references are optional, user-supplied and not independently verified. You can request an unsent supplier question for a positive candidate. This tool does not extract PDFs or images, retrieve saved invoices, access account history, contact suppliers, process payments or confirm overcharges, credits or recovered money.

Tools

audit_invoice_current_request

ChatGPT
Compare 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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

ChatGPT
Call 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.

Capabilities

Interactive

Example Prompts

Click any prompt to copy it.

Similar Apps