PayPack logo
PayPack logo

All articles

Payout ReconciliationUpdated a month ago

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
  • Select the Filter Payouts by Date Parameter option

Filter Payouts by Date Parameter

For the flexibility and accuracy of payout management, this feature allows businesses to retrieve payouts from Stripe by either the created or arrival date.

In the PayPack configuration Payout Reconciliation, users will find a dropdown Filter Payouts by Date Parameter. This dropdown allows users to select either "Created Date" or "Arrival Date" for filtering payouts.

Once a selection is made and saved in the configuration, the payout retrieval script will use the chosen parameter to fetch payouts accordingly. If no selection is made, the system will default to using the created date for fetching payouts from Stripe.

  • Created (default) - Only return payouts that were created during the given date interval.
  • Arrival Date - Only return payouts that are expected to arrive during the given date interval.


Sample JSON Data for Deposit Field Mappings:

1 {
2 "mapping": {
3 "fields": [
4 {
5 "generate": "memo",
6 "extract": "id"
7 },
8 {
9 "generate": "trandate",
10 "extract": "created"
11 },
12 {
13 "generate": "location",
14 "hardCodedValue": 2,
15 "fieldtype": "",
16 "discardIfEmpty": false
17 }
18 ]
19 }
20}

Sample JSON Data for Payout Deposit Field Mappings:

The JSON example below shows how to change the default configuration to map the Stripe Payout's created date to the NetSuite Bank Deposit Date. In the Payout deposit field mapping configuration, you can update the "trandate" from "created" to "arrival_date".

1 {
2 "mapping": {
3 "fields": [
4 {
5 "generate": "trandate",
6 "extract": "arrival_date"
7 },
8 ]
9 }
10}

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.


Was this article helpful?
Yes
No