NetSuite Python Report Development
Welcome to the comprehensive documentation for NetSuite Python Report Development. This guide covers everything you need to know to develop, debug, and deploy Excel reports using Python, Pandas, XlsxWriter, and Pyodide within the NetSuite environment.
What This Section Covers
Getting Started
Everything you need to set up your development environment:
- Windows Setup Guide - Complete installation instructions
- Installation Script - Automated setup for your team
- Verification Checklist - Ensure everything works correctly
Development Guides
In-depth guides for developing NetSuite reports:
- Development Guide - Complete workflow from data extraction to deployment
- Debug Cheatsheet - Quick reference for debugging
- Project Structure - Recommended folder organization
- Pyodide Integration - Working with Python in the browser
Technical Reference
Comprehensive reference materials:
- Pandas Guide - Complete DataFrame operations
- XlsxWriter Guide - Excel formatting and creation
- Common Patterns - Frequently used code patterns
- Troubleshooting - Common issues and solutions
Architecture Overview
NetSuite Python reports follow this data flow:
┌─────────────────┐ ┌──────────────┐ ┌─────────────────┐ ┌──────────────┐
│ NetSuite SQL │ ──► │ JavaScript │ ──► │ Pyodide/Python │ ──► │ Excel File │
│ (SuiteQL) │ │ (JSON data) │ │ (pandas) │ │ (download) │
└─────────────────┘ └──────────────┘ └─────────────────┘ └──────────────┘
Key Components
- Suitelet (JavaScript): Fetches data via SuiteQL, passes JSON to HTML template
- HTML Template: Contains Pyodide Python code for Excel generation
- Python (Pyodide): Processes data with pandas, generates Excel with xlsxwriter
Quick Start
- Set up your environment - Follow the Windows Setup Guide
- Understand the workflow - Read the Development Guide
- Start developing - Use the Debug Cheatsheet as a quick reference
- Learn the tools - Reference the Pandas Guide and XlsxWriter Guide
Development Philosophy
Key Principle: Always develop and debug Python code locally in Jupyter first, then port to Pyodide once working. This saves significant debugging time.
| Phase | Tool | Purpose |
|---|---|---|
| Data Extraction | NetSuite Debug Files | Get real data structure |
| Development | Jupyter Notebook | Interactive debugging |
| Testing | Local Python | Verify Excel output |
| Integration | Browser Console | Debug Pyodide issues |
| Production | NetSuite Suitelet | Final deployment |
Need Help?
- Check the Troubleshooting section for common issues
- Review the Debug Cheatsheet for quick fixes