Prolecto Labs

Prolecto Labs' mission is to drive continuous innovation to solve NetSuite.

Our mission is to drive continuous innovation to solve NetSuite.

Prolecto Accelerator Templates are pre-built to solve tough NetSuite problems. Our consultants tailor them to fit your business - bridging gaps, streaming workflows, and enhancing system capabilities.

Prolecto Customer Deposits Generator

https://840889.app.netsuite.com/core/media/media.nl?id=7306609&c=840889&h=MA90MsABnFAD_MO9QyFjuvfrmZDSPzW5jrF3uza9QwOZjAD0&_xt=.svg-Prolecto Customer Deposits Generator

What It Does

The Prolecto Customer Deposits Generator supplies a framework to create invoice transactions with proper unearned balance sheet accounting. When the generated invoices are paid (in part or whole), the unearned accounting resolves, and the proper customer deposit records present actual liabilities to be used in subsequent earned transaction scenarios.

Why It Matters

For organizations that regularly work with customers requiring deposits, the challenge becomes anticipating and tracking the requests to be paid. With this solution, all inbound monies will have an invoice transaction, streamlining accounting administration and improving cash flow predictability. The tool is offered without transaction or recurring license charges.

Video

Generate Customer Deposit Request on NetSuite Projects

Learn how you can request and generate customer deposit / retainer invoices to drive NetSuite projects without the need for advanced revenue recognition or other off-books or complicated processing models.



              
              
            

Prolecto: Netsuite Customer Deposits from Opportunities or Estimates

See related article: Create NetSuite Customer Deposits from Opportunities or Estimates



              
              
            

Related Articles

• Learn How to Drive NetSuite Customer Deposit Requests

Understand the best practice model to generate customer deposit requests against any business record.

• Solved: NetSuite Customer Deposits and Advance Payment Accounting

Get full aging and accounting control to handle your NetSuite-based deposit requests, proforma invoices and retainers.

• Create NetSuite Customer Deposits from Opportunities or Estimates

Learn how to create invoices from NetSuite Opportunities and Estimates that drive proper accrual accounting and automatically produce Customer Deposits.

• Generate Customer Deposit Request Invoices on NetSuite Projects

Learn how you can request and generate customer deposit/retainer invoices to drive NetSuite projects without the need for advanced revenue recognition or other off-books or complicated processing models.

• Yes You Can: Generate a NetSuite Customer Statement on an Invoice with Customer Deposit Accounting

Finally, generate a NetSuite customer statement which includes all open transactions and related customer deposits on an invoice PDF.

• Using NetSuite Payment Methods to Drive Customer Deposits

Learn how to use Payment Methods to drive Customer Deposits

• Drive NetSuite Customer Deposit Requests from Sales Order Lines

Understand how you can shape requests for monies in advance using NetSuite sales order (transaction) lines.

Implementation Details

Led by practice: Accounting

Other Data

Build ID 11

Accelerator Versions

Version: 20251020.RC

  • Added logic that allows for Credit Memos created by other means than the “Cancel Deposit Invoice” button on the Deposit Invoice to close Deposit Invoices.


Version: 20250818.RC

  • Payment Method Driven Flow Enhancements
    • Improved deposit creation reliability: Sales Orders are now processed based on their status, and a 'failed' status is set if deposit creation is unsuccessful.
    • Duplicate deposit creation is now prevented.
    • Customer deposit creation logic has been refactored to support multiple modes, including payment method, PN reference, and future recurring charges.
  • PN Ref Driven Flow Fix
    • A critical fix ensures that the PN reference is now stored in a custom field instead of a script parameter, enabling proper batch processing.
  • Mass Update Script
    • A new map/reduce script has been added to allow for batch execution of actions based on query results.
  • AR Credit to Deposit Converter
    • An interface has been exposed for external scripts to perform deposit conversions.
    • Language has been refined to clarify support for various AR credit transactions beyond just credit memos.
  • Bugfix
    • Resolved an issue where client script loading in User Event scripts caused errors when not explicitly restricted to the UI context.


Version: 20250409.RC

  • Added close deposit invoices functionality in scheduled script.
  • When closing an ADI, added condition that amount remaining is greater than 0.
  • Refined code sequence to make script give preference to the deposit request reference first in the close deposit invoice function.  Prevents issues when the other ref fields are used (i.e. Opportunity ref.)
  • Enhanced logic for creating a deposit invoice from a request and processing a deposit invoice to create customer deposits in context where the script cannot be directly triggered e.g. when processing a payment with a scheduled script from a pay link.
     


Version: 20250213.RC

  • Added an option “Use Custom Logic For Pay Method Customer Deposits” to allow overriding the default logic.
  • In the Payment Method Customer Deposit flow, set the Sales Order field after the field sourcing.  This is required when the Subsidiary is populated on the Customer Deposit.
  • Added support for generating Payment Method Customer Deposits in other states than Pending Approval. 
  • Enhanced script to use the Apply Through Top Level Customer to determine the Customer on the Customer Deposit record.
     


Version: 20250206.RC

  • Line-Based Deposit Request: Excluded line data from refresh payload as it was redundant and resulted in errors when too large.
  • Implemented sourcing into the deposit request amount field from a UI summary search.
  • Made enhancements to allow joins in the field source map on the deposit request record.
  • Added parameter for showing / hiding the apply deposit button.
  • Added support for creating Deposit Requests from Opportunities.
     


Version: 20241209.RC

  • Line-Based Deposit Requests: 
    • Added support for line-based deposit requests from the Opportunity record.
    • Added support for adjusting line amount by a percentage (hardcoded or sourced from a field on the deposit option record).
  • Misc. Enhancements:
    • Added logic to hide the Apply Deposits button on the SO and to show a banner on a deposit request when a deposit invoice is being created in the background.
    • Simplified task scheduling logic.
    • Enhanced algorithm to apply deposits from oldest to newest open invoice based on transaction date.
    • Added logic for applying deposits against terms invoices when the source transaction is an SO.


Version: 20241011.RC

  • Added app.setting to control the mapping of fields between the Deposit Request and the Deposit invoice.
  • Added logic to indicate when an ADI has just been closed.  This allows dependent applications to act as the native NetSuite status change might be delayed.
  • Misc. Enhancements
    • Fixed issue where the sales order is not populate on the customer deposit in some cases.
    • Added Logic to hide the Create Request button on the Sales Order when the status is Billed, Closed or Cancelled
       


Version: 20240619.RC

Implemented support Deposit Requests from the Project record.


Version: 20240229.RC

Implemented an app setting and logic to optionally write back the total requested amount to the corresponding line of the source transaction.


Version: 20240208.RC

When the project feature is enabled, and the project field is populated on the source transaction (SO, estimate, or opportunity), the project reference is now copied to the advance deposit invoice.
 


Version: 20240131.RC

  • Enhanced the line-based deposit request configuration to support default mapping of the amount data source for all items.  Any header or line field can be used as data source e.g. the required deposit amount field. Item-specific mappings, if defined, will take precedence over the default mapping.
  • Added support for discount terms. The system now correctly calculates the full payment amount (amount + discount) to determine the customer deposit amount.
  • Improved error logging and removed legacy code that may result in duplicate records in some situations.


Version: 20240109.RC

  • Introduced the Line-Based Deposit Request Model which enables producing deposit requests from specific lines.
  • Miscellaneous enhancements:
    • Added banners for iinformational purposes.
    • Added logic to support triggering the customer deposit generator from a Prolect Accept Pay Tech pay link Suitelet.
    • Added functionality to fix deposit invoices missing a request link. The script is intended for adhoc usage where the issue is detected.
  • Bug fixes: 
    • Fixed issue that a PRI linked transactions record was not produced when converting arbitrary AR credit into a deposit.
    • Fixed issue that closing an ADI in a closed period did not work in certain situations where there were existing partial payments. Previously, clicking the “Cancel Deposit Invoice” button would appear to have no effect (i.e. no credit memo and ADI remains open) unless the open amount was equal to the total prepayment amount.


Version: 20230209.RC

  • Dummy payment approach for applying payment to credit memos
  • Improved transaction cleanup when needed
  • Revamp and implications for scheduled processes


Version: 20221112.RC

Development of a tool to convert a Credit Memo to a Customer Deposit.  Activated from a specific credit memo, from a customer or via mass update.


Version: 20220901.RC

1. Ability to select deposit invoice form on deposit option.
2. Enhancement to use a simplified method for calling script on button click inside createCreateDepositButton.  This button on the SO shows the amount difference in the button name.  When clicked, it opens a native customer deposit.


Version: 20220125.RC

Improved address sourcing for deposit invoices created from deposit requests.


Version: 20210324.RC

New functionality:
-Added functionality to re-link Requests from Quote to Sales order when Sales Order created from Quote.
-Allow closing deposit invoices from manually generated Credit Memos.  This solves for issues around Tax Engines needing specific user inputs.

General code cleanup:
-Fix to how request amount is sourced when using percentage.  
-Enhancements for Deposit Applications
-Simplified method for calling functions from buttons
-Cleanup to function determining invoice amounts
-Tweak to not show create deposit button on request if one is being generated.
-Better error handling when missing deposit type on request.  Addition of create request function.
-Populating the opp ref field on dep invoice created from request.


Version: 20201103.RC

  • Enhancements to the deposit request sub structure.
  • Minor code revisions


Version: 20200610.RC

Solve for multiple requests on opportunity records.


Version: 20200319.RC

  1. Implementation of multiple customer deposit requests from a Sales Order
  2. Refinements for User Menu to guides and for script deployment inspection


Version: 20191111.RC

Ability to process the Deposit Request records (connected to projects or customers) using a scheduled script.  The end result is that deposit invoices are created and linked back to the deposit requests.


Version: 20191023.RC

Support for Transaction Terms Mapping so that traditional terms will trigger a specific deposit option.


Version: 20190925.RC

Support for applying payments at the top level parent only.


Version: 20190809.RC

Refinements for other client requirements:

  • Switch for deposit invoice receiving zero quantity items to help with presentation outputs
  • Refinements for tax line logic on customer deposit invoice.


Version: 20190413.RC

Refinements to Project based customer deposits including payment options driven by specific subsidiary requirements.


Version: 20181120.RC

New Request custom record for creation of Deposit Invoices.  Can be used to drive request for deposit invoices from Projects or other structures.


Version: 20180403.RC

Revision to support a variable user-defined absolute amount of the deposit independent from the opportunity, estimate or sales order.


Version: 20171026.RC

Enhancements to close deposit invoices that won't ever be paid. Considerations for using the GL Reclasser to get different accounting routing. Refinements for user experiences for synchronous vs. asynchronous operations.


Version: 20170601.RC

Architecture enhancement to make the deposit invoice a control structure for the status of the overall application of payments to auto generation of customer deposits. Enhanced to allow payments of deposit invoice from any acceptable payment type including credits, other deposits and journal entries.


Version: 20170216.RC

  1. Capacity to run and generate customer deposit invoices against Opportunity and Estimate records.
  2. Ability to create a customer deposit when there is no sales order.  Yet, when a sales orders comes into existence, find related customer deposits and link to enjoy automatic subsequent earned invoices customer deposit application.
  3. Intelligence for handling for customer deposits that are not linked to sales orders yet there are open invoices that need deposit application.
  4. Refinements for exchange rates to distinguish Advanced Payment Invoices payments to account for improper realized foreign currency gains/losses.
  5. Refinements for Sales Order / Estimate shipto and billto addresses information, if available to the Advanced Payment Invoice.
  6. Added two new control reports for version 2.0 payments.


Version: 20161005.RC

  1. Fix for payments to multiple advance payment invoices
  2. Fix for Scheduled update statuses after failures
  3. Enhancement for Payments that are posting or proper status resulting in customer deposit
  4. Fix for Customer Deposits getting the right cash account from the payment method.


Version: 20160915.RC

  1. Scheduled script enhancements for "Failed to Create Invoice"


Version: 20160908.RC

  1. Schedule Scripting for Background Processing on all models
  2. Ability to move around the dynamic presentation via preferences
  3. Better status indicators


All Accelerator Templates are available exclusively to the Prolecto client community.