Open issues

Add ability to add credit memos as attachments to email templates
GTMAWEB-127
Ability to set a default payment method per customer user
GTMAWEB-126
Enhanced max spend rules to not allow multiple charges within specific period
GTMAWEB-122
PayPal IPNs are failing
GTMAWEB-120
Allow custom fields to display in transaction grids
GTMAWEB-118
PDF cache builder function causing rate limits to kick in from Intuit
GTMAWEB-116
Invited users list with status
GTMAWEB-111
Can't deactivate inactive QBO customer who were previously active
GTMAWEB-108
SAML Single Sign On for GoToMyAccounts
GTMAWEB-107
Estimates/Quotes
GTMAWEB-106
Add ability to hide voided invoices from customer portal views
GTMAWEB-104
Attach all open invoices to automated invoice emails
GTMAWEB-103
Recent transaction query needs to take advantage or pre-aggregated data
GTMAWEB-99
Add basic project visibility in Customer Portal
GTMAWEB-92
pending_transactions.html needs rewrite.
GTMAWEB-80
Adding Payments without applying to invoice
GTMAWEB-78
Ability to send all unsent invoices to customers without turning on billing automation
GTMAWEB-77
Change aspect ratio of login logo.
GTMAWEB-51
Google Drive Folders Set/Override folder name
GTMAWEB-41
Ability to auto-apply a discount when someone pays
GTMAWEB-31
Show credit line items in QB Online portals
GTMAWEB-28
Add Slack Integration
GTMAWEB-18
Ability to print transactions/account summary
GTMAWEB-129
Sort by Customer Access
GTMAWEB-115
Add support for title and suffix of customer name
GTMAWEB-97
Portal company name as email template placeholder
GTMAWEB-58
Merge onesignal push with Ably realtime
GTMAWEB-45
Auto-Pay with Billing Agreements
GTMAWEB-39
Registration Page/Emails not working properly
GTMAWEB-36
Helpdesk/Chat Integrations
GTMAWEB-17
issue 6 of 30

PDF cache builder function causing rate limits to kick in from Intuit

Description

This is a major issue with the new PDF cache system. If there are a lot of invoices refreshed or synced, a background job kicks off to fetch new refreshed copies of the PDF invoice. This happens asynchronously by several worker pools on the app servers. Intuit quickly enforces rate limiting which causes a ton of 429 status codes. This also results in our storing of the error in the cache field.

When this happens, there is little choice but to completely purge the PDF cache on that account and allow it to rebuild as invoices are requested. This defeats the purpose of having the cache in the first place.

There are two solutions to this problem, and likely both need to be implemented.

1. Comply with rate limits and throttle back our requests. This would involve a special flag we would set on invoices once the rate limit is hit. We would then reschedule the pdf cache build to a later time so it can try it again.

2. We will limit how far back PDF cache will go - unless specifically requested by a user or process. Hence, we would check the invoice aging. If it does not meet the criteria, we will purge any existing cache copy. If it meets the criteria, we will fetch a new copy.

For the time being, PDF cache has been disabled for background processing (sync). It will work though when invoices are specifically requested by a user.

Once the above items are developed and tested, we will re-enable caching on background jobs as well.

Environment

Production

Status

Assignee

Mark Sauer

Reporter

Mark Sauer

Labels

None

Affects versions

4.1

Priority

Medium