Payout Reconciliation

  • Updated

Overview

Business scenario necessitates seamless Stripe payouts integration with NetSuite to offer comprehensive payment overview, encompassing:

  • Payments: Deposits seamlessly link to existing NetSuite records, enabling exact reconciliation and granular income source tracking.
  • Other Deposits: Handles unassociated transactions efficiently, regardless of existing records.
  • Cashback: This category serves to address negative amounts, primarily for transaction types such as Stripe fees or refunds.

Configuration

To enable Payout Reconciliation, navigate to novaApps → PayPack - Integrated Payment Processing Solution for Stripe → Configuration.

  • Check the Update Configuration checkbox
  • Click on the Payout Reconciliation Subtab
  • Check the Enable Payout Reconciliation checkbox
  • Select NetSuite Bank Deposit Account
  • Select Netsuite Account to Track Stripe Fee
  • Select Netsuite Account to Track Unreconciled Deposits
  • Enter JSON data for Deposit Field Mapping

Sample JSON Data for Deposit Field Mappings:

  {
  "mapping": {
    "fields": [
      {
        "generate": "memo",
        "extract": "id"
      },
      {
        "generate": "trandate",
        "extract": "created"
      },
      {
        "generate": "location",
        "hardCodedValue": 2,
        "fieldtype": "",
        "discardIfEmpty": false
      }
    ]
  }
}

Scripts

Two custom scripts have been developed, addressing distinct workflow needs to improve efficiency and streamline operations.

  1. Scheduled Script
    Script integrates multiple NetSuite records and schedules automated execution at specified intervals, removing manual work.
  1. Regular / OnDemand Script
    Script allows selective execution of missing or specific payouts, eliminating unnecessary processing. Enables concurrent processing of roughly 20 payouts via comma-separated list.

Script Deployment

Navigate to Customization → Scripting → Script Deployments 

  1. Select  “nm PayPack Payout Process Script” for Scheduled Script
  2. Select  “nm PayPack Payout Process ScriptOnDemand” for  Regular/ OnDemand Script

Scheduled Script

Settings/Configuration for the first run:

  1. Click on edit of this script “nm PayPack Payout Process Script”
  2. Navigate to the subtab parameters
  3. Enter the payout start date in epoch format. Use an epoch converter to change the date to epoch format (The day from which one would like to get the payout records from Stripe)
  4. Hover on save button and click on “Save & Execute”

Epoch Converter: https://www.epochconverter.com/

 

Setting/Configuration for the next runs:

  1. Click on edit of this script “customdeploy_nm_pp_payout_proc_ns_scrp”
  2. Navigate to the subtab “Schedule” and select the type of event
    • Single Event
    • Daily Event
    • Monthly Event
    • Weekly event
    • Yearly Event
  3. Enter the Start Date for the event
  4. Select how often the event should be scheduled
  5. Enter End Date or Check No End Date checkbox
  6. Click on Save

OnDemand Script

This script is deployed to selectively run missing or specific payouts without the necessity to process all payouts simultaneously. It facilitates the simultaneous processing of approximately 20 payouts by specifying them as comma-separated values.

Setting/Configuration to run the script:

  1. Click on edit of this script “nm PayPack Payout Process ScriptOnDemand”
  2. Navigate to “Parameters” subtab
  3. Enter a single Stripe payout Id or multiple Stripe payout Ids
  4. Click on “Save & Execute”

Custom Record

After executing the script in NetSuite, a custom record named “PayPack Stripe Payout Reconciliation” is automatically generated, serving as a detailed summary of the payout record. This custom record captures key financial components including total amount, payout id, payout date, charges, refunds, adjustments, Stripe fees, network costs, reserved funds and transfers. This functionality ensures that our financial management processes are both accurate and efficient, providing a comprehensive view of our financial transactions. This is also linked to the Deposit record created in NetSuite.

To have a look at the Custom Record go to page PayPack Stripe Payout Reconciliation and click view on any payout transaction.

To navigate to the Deposit page from the custom record go to Deposits subtab → Click on the document number. It leads to the deposit page of that payout record.

Deposits

To view the list of deposits go to Transactions → Bank → Make Deposits → List.

The deposit record in NetSuite includes three critical subtabs: Payments, Other Deposits, and Cashback. Here's how these subtabs function within the NetSuite environment.

  • Payments: This subtab links deposits seamlessly with existing records in NetSuite, facilitating precise reconciliation and detailed tracking of income sources.
  • Other Deposits: Designed for transactions that may not yet have corresponding entries in our NetSuite records, this subtab efficiently manages these records, ensuring complete and accurate financial data.
  • Cashback: In the NetSuite ecosystem, the Cashback subtab is dedicated to addressing negative amounts, particularly for items like Stripe fees or refunds. It allows for effective segregation and management of these transactions to maintain precise financial records, even when dealing with reimbursements or fee adjustments.

According to the requirement, navigate to

  • Items → Payments
  • Items → Other Deposits
  • Items → Cashback

To navigate to a Custom Record from the deposit record. Go to novamodule subtab → PayPack → click on STRIPE PAYOUT RECON [PAYPACK] id.