Plaid logo
Docs
ALL DOCS

Signal

  • Introduction to Plaid Signal
  • Creating Signal Items
  • Signal Rules
  • Reporting returns
  • Add Signal to your app
Plaid logo
Docs
Close search modal
Ask Bill!
Ask Bill!
Hi! I'm Bill! You can ask me all about the Plaid API. Try asking questions like:
    Note: Bill isn't perfect. He's just a robot platypus that reads our docs for fun. You should treat his answers with the same healthy skepticism you might treat any other answer on the internet. This chat may be logged for quality and training purposes. Please don't send Bill any PII -- he's scared of intimacy. All chats with Bill are subject to Plaid's Privacy Policy.
    Plaid.com
    Log in
    Get API Keys
    Open nav

    Reporting returns and decisions

    Improve accuracy by reporting outcomes

    It's critical that you report ACH activity (both decisions and returns) back to Plaid - reporting enables Plaid to help you tune your rule logic to optimize your integration.

    For both decisions and returns, you can use API endpoints (recommended) or upload the transactions manually via the Signal Dashboard.

    Reporting decisions

    Reporting a decision allows Plaid to know that the transaction was processed. Once it knows the transaction was processed, if Signal doesn't hear about a corresponding return, it assumes the transaction was successful.

    Plaid will automatically infer decisions for customers using Signal Rules with only ACCEPT or REROUTE results. There is no need to report decisions back to Plaid for these transactions unless the decision has changed (for example, your processor refused to process an ACCEPTed transaction).

    If your rules integration uses REVIEW results, then you'll need to call /signal/decision/report once you've made the final determination for the transaction and it is convenient to do so.

    If your integration is directly reading scores and attributes instead of using Signal Rules, then you'll need to call /signal/decision/report for all transactions.

    Reporting returns

    To report an ACH return to Plaid, call /signal/return/report as soon as you're aware of the ACH return and it's convenient to do so.

    Dashboard upload

    If you would prefer to not report decisions and returns via API, you can upload them via the data import page in the Dashboard. It is recommended you upload reports on a weekly basis.

    The CSV files for uploading decisions and returns must follow the schemas defined below. Ensure your data is properly formatted to avoid processing errors.

    Decision File CSV Schema
    Column NameRequired?Data TypeDescription
    client_transaction_idYesStringUnique identifier for the transaction used in /signal/evaluate
    initiatedYesBooleanWhether the transaction was initiated for processing or not.
    days_funds_on_holdNoIntegerNumber of days the funds were held before being released, if applicable to your usecase.
    amount_instantly_availableNoIntegerThe amount made available instantly in cents, if relevant for your account funding usecase

    Example decision file CSV

    Return File CSV Schema
    Column NameRequired?Data TypeDescription
    client_transaction_idYesStringUnique identifier for the transaction used in /signal/evaluate
    return_codeYesStringThe ACH return code (e.g., R01, R02, R10)
    returned_atNoStringTimestamp of when the return occurred in ISO 8601 format (YYYY-MM-DDThh:mm:ssTZD)

    Example return file CSV

    Was this helpful?
    Developer community
    GitHub
    GitHub
    Stack Overflow
    Stack Overflow
    YouTube
    YouTube
    Discord
    Discord