Report export timing out for large date ranges — workaround?

I have confirmed that the Work Order Summary Report is consistently timing out when attempting to export date ranges exceeding 90 days. This behavior is reproducible across multiple browsers (Chrome 124.0.6367.78, Firefox 125.0.3) and occurs for users with both Admin and Manager roles.

Environment Details:

  • Account: Enterprise Plan (500+ active technicians)
  • Approximate work order volume: 12,000–15,000 records per month
  • Target date range: January 1, 2025 – March 31, 2025 (Q1 reporting)
  • Error observed: "Request timed out" after ~120 seconds; HTTP 504 returned

Steps to Reproduce:

  1. Navigate to Reports → Work Order Summary
  2. Set Date Range to Custom: 2025-01-01 to 2025-03-31
  3. Click Export to CSV
  4. Observe timeout after approximately 2 minutes

I have verified that smaller date ranges (30 days) complete successfully in approximately 15 seconds. The issue appears to be related to the volume of data being processed rather than a specific filter or parameter.

From a governance perspective, we require quarterly exports for internal audit compliance. I am seeking either:

  1. A supported workaround for bulk export (e.g., API-based retrieval with pagination)
  2. Confirmation of known limitations and recommended maximum date ranges
  3. Timeline for resolution if this is identified as a platform defect

I have reviewed the workaround article for API pagination but would prefer to confirm whether this is the recommended approach before developing a custom solution.

  • Hi Rachel, happy to help with this!

    You're correct that large date ranges can hit our current export timeout limits. For your volume, I'd recommend a two-pronged approach:

    Immediate workaround:

    1. Split your quarterly export into 30–45 day segments
    2. Export each segment separately
    3. Combine the CSV files locally (they'll have identical column headers)

    Better long-term solution:

    The API approach you mentioned is actually what we recommend for enterprise accounts with your data volume. Use GET /work_orders with:

    • date_from and date_to parameters
    • limit=500 (maximum page size)
    • offset or cursor pagination for reliable retrieval

    This bypasses the UI timeout entirely and gives you more control over field selection.

    I'm flagging this with our engineering team to review timeout thresholds for enterprise-tier accounts. Would you like me to open a ticket to track this specifically for your organization?

  • We've been hitting this too. Here's what actually works:

    curl -H "Authorization: Bearer $TOKEN" \
      "">api.fieldpulse.com/.../work_orders

    Key gotcha: the total_count in the first response is your loop terminator. Don't trust estimated pages.

    Also, add status=completed or whatever filter you need — unfiltered calls will include drafts and cancellations and blow up your pagination.

    Rate limit is 100 req/min for enterprise. Should take ~25 requests for your quarter. Sleep 600ms between calls to be safe.

  • Thank you both. I have implemented the API approach as described.

    Additional observation: I can confirm that unfiltered requests return approximately 22% more records than expected due to draft and cancelled work orders included in the default result set. The status filter is essential for accurate data reconciliation.

    Current retrieval rate: 500 records per request, ~3.2 seconds per response. Full Q1 export completed in 4 minutes 18 seconds via scripted pagination versus consistent timeout via UI.

    Is there a documented endpoint for retrieving the complete field schema? Some custom fields appear in UI exports but are not immediately visible in the API response payload.

  • yeah the custom fields thing tripped me up too when I first looked at it — they're nested under custom_fields as an array of objects with id, name, and value, not flattened like you'd expect.

    example truncated response:

    {
      "id": "wo_abc123",
      "custom_fields": [
        {"id": "cf_1", "name": "Contract Type", "value": "Annual"},
        {"id": "cf_2", "name": "PO Number", "value": null}
      ]
    }

    heads up: if you have a lot of these, the payload gets heavy fast. worth adding include_custom_fields=false if you don't need them and want faster transfers.

    also yeah this timeout issue is a known pain point — there's actually a troubleshooting article on large work order list timeouts that mentions they're looking at streaming exports for a future release. no ETA though.

  • Pro tip while you're building this out: request the audit log alongside your work order export.

    We learned the hard way that status changes (especially technician reassignments) don't always surface in the standard work order response. The audit endpoint gives you the full timeline if you need to reconstruct "who touched what and when" for compliance.

    Also, if you're on Windows, PowerShell's Invoke-RestMethod handles the pagination loop cleaner than curl IMO — built-in JSON parsing and automatic conversion of PascalCase to camelCase if you're feeding into SQL later.

  • Rachel, just to close the loop on this — I've confirmed with our engineering team that the 120-second UI timeout is a current platform limitation for reports exceeding ~8,000 records. Your account consistently exceeds this threshold.

    Recommended path forward:

    1. Use the API method Carlos and Eli outlined above for quarterly exports
    2. For monthly operational reports, the UI export should remain viable
    3. We're tracking your account for the streaming export beta (targeting Q3)

    I've also updated the troubleshooting article to include a direct link to the API pagination guide, since this is coming up more frequently with larger customers.

    Let me know if you need help with the audit log integration Gwen mentioned — happy to walk through that endpoint structure as well.

  • Confirmed working. I have documented the API-based workflow for our internal audit procedures.

    It is worth noting that the discrepancy between UI-exportable data and API-retrievable data should be addressed in platform documentation. From a governance perspective, having two authoritative data sources with different completeness characteristics creates compliance risk.

    I will await notification regarding the streaming export beta. Thank you for the assistance.