Gapless Numbering > Running Custom Gapless Numbering Retrospectively in NetSuite
Gapless numbering is a regulatory and audit requirement in Poland and several other jurisdictions, ensuring that journal entries follow a strict, continuous sequence without gaps. When transactions are already posted without gapless numbering, businesses may need to retrospectively apply numbering for compliance.
This process requires careful preparation to avoid introducing errors, triggering unintended system behaviors, or causing inconsistencies in reporting. The following guide outlines a structured approach with best practices and important reminders to ensure smooth execution.
Step-by-Step Guide
1. Check for Customization/Script Impact
Review whether any user event scripts, workflows, or customizations may trigger when transactions are edited/saved.
Identify potential risks such as:
Fields being auto-updated by workflows.
User event scripts recalculating amounts.
Scheduled scripts running concurrently.
Disable, adjust, or whitelist transactions if they may interfere with numbering.
Best Practice: Document any scripts paused or bypassed, and note rollback steps, for audit and troubleshooting purposes.
2. Set Up PL Journal Types for Migration
Create dedicated PL Journal Types specifically for the migration process.
Keep them separate from live journal types to minimize risk.
Tip: Use clear naming conventions such as “Migration – Sales Invoice” to avoid confusion.
3. Prepare the Dataset
Build a dataset with the following filters:
{trandate}is within the target date range.Gapless Numbering is empty.
PL Journal Type must be included as a filter. Create a dataset for each of the PL Journal types in Step 2.
If transaction volume is high, prepare separate datasets for each month.
Best Practice: Start with a small test dataset before scaling up.
4. Validate Dataset Results
Review the dataset to confirm that only intended transactions are included.
Reminder: Pay attention to edge cases (voids, reversals) to avoid numbering unintended records.
5. Confirm Accounting Period Settings
Ensure the accounting period is open for non–G/L impacting changes.
Verify the process does not interfere with month-end/year-end close tasks.
Tip: Run numbering during low activity periods to reduce risk.
6. Create the Workbook
Build a workbook using the dataset as the data source.
Include essential fields such as transaction ID, trandate, subsidiary, and PL journal type.
Tip: Keep the workbook lightweight—avoid unnecessary joins or fields.
7. Configure Gapless Numbering
Update the PL Journal Type record to define the gapless numbering rules:
Select the workbook created in Step 6.
Define starting number, format (prefix, padding), and reset logic (e.g., annual reset).
Best Practice: Keep documentation of your numbering format and reset rules for compliance audits.
8. Execute Gapless Numbering
From the Journal Type record, use Manual Execution to run gapless numbering.
Reminder: Always test the execution in a sandbox environment before production.
9. Review and Validate Results
Create a validation dataset/workbook to confirm success:
All transactions received a number.
Sequences are continuous, with no gaps or duplicates.
No unintended fields were updated.
Best Practice: Export before/after reports to Excel to retain an audit trail.
10. Repeat for Other Periods and Journal Types
Apply the same process to subsequent months.
Repeat for other PL Journal Types as needed.
Tip: Work in smaller, controlled batches rather than full-year runs.
Additional Best Practices & Tips
Backup First: Export transactions before numbering for reconciliation.
Sandbox First: Validate in a non-production environment before applying.
Audit Readiness: Regulators may require proof of continuous numbering—retain process notes and validation outputs.
Error Handling: Investigate errors immediately; do not rerun without resolving the cause to prevent duplicates.
Communication: Notify accounting teams and schedule execution during off-hours.
Segregation of Duties: Assign numbering to a role separate from transaction creators/approvers for stronger controls.
©2024 Staria. All rights reserved. No part of this publication may be reproduced, distributed, or transmitted in any form or by any means, including photocopying, recording, or other electronic or mechanical methods, without the prior written permission of the publisher.