Sprout Invoices 20.7.3

Does Sprout Invoices work with WordPress 6.6.2 and PHP 8.1.12? A smoke test was performed on .

Summary

Errors
6PHP warnings
8PHP deprecation warnings
No JavaScript exceptions
All test pages loaded successfully
No resource errors
Performance

Memory usage: 1.1 MiB
The average PHP memory usage increased by this amount after activating by the plugin.

Page speed impact: insignificant.
The plugin didn't make the site noticeably slower.

Environment
WordPress version6.6.2
PHP version8.1.12
MySQL version10.6.10
PHP memory limit512M
Plugin Info
Last updated
Active installs 2,000+
WordPress.org page https://wordpress.org/plugins/sprout-invoices/
Badges

WordPress compatibility badge PHP compatibility badge

Get badge code

Pages 19

Getting Started ‹ Test site — WordPress

Page screenshot: Getting Started ‹ Test site — WordPress
URL /wp-admin/admin.php?page=sprout-invoices
Requested URL /wp-admin/plugins.php?action=activate&plugin=sprout-invoices%2Fsprout-invoices.php&plugin_status=all&paged=1&s&_wpnonce=b0b1547e2a
Aspect after-activation
HTTP status 200
Load time 1.049 s
Memory usage 4.74 MiB
JS errors None
Resource errors None

Invoices

Page screenshot: Invoices
URL /wp-admin/edit.php?post_type=sa_invoice
Aspect menu-item
HTTP status 200
Load time 0.285 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Invoices → Add Invoice

Page screenshot: Invoices → Add Invoice
URL /wp-admin/post-new.php?post_type=sa_invoice
Aspect menu-item
HTTP status 200
Load time 0.416 s
Memory usage 4.75 MiB
JS errors None
Resource errors None

Invoices → Payments

Page screenshot: Invoices → Payments
URL /wp-admin/edit.php?post_type=sa_invoice&page=sprout-apps%2Finvoice_payments
Requested URL /wp-admin/edit.php?post_type=sa_invoice&page=sprout-apps/invoice_payments
Aspect menu-item
HTTP status 200
Load time 0.218 s
Memory usage 4.62 MiB
JS errors None
Resource errors None

Invoices → Clients

Page screenshot: Invoices → Clients
URL /wp-admin/edit.php?post_type=sa_client
Aspect menu-item
HTTP status 200
Load time 0.209 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Invoices → Projects

Page screenshot: Invoices → Projects
URL /wp-admin/edit.php?post_type=sa_project
Aspect menu-item
HTTP status 200
Load time 0.213 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Estimates

Page screenshot: Estimates
URL /wp-admin/edit.php?post_type=sa_estimate
Aspect menu-item
HTTP status 200
Load time 0.229 s
Memory usage 4.71 MiB
JS errors None
Resource errors None

Estimates → Add Estimate

Page screenshot: Estimates → Add Estimate
URL /wp-admin/post-new.php?post_type=sa_estimate
Aspect menu-item
HTTP status 200
Load time 0.769 s
Memory usage 4.74 MiB
JS errors None
Resource errors None

Tools → Sprout Records

Page screenshot: Tools → Sprout Records
URL /wp-admin/tools.php?page=si_records
Aspect menu-item
HTTP status 200
Load time 0.205 s
Memory usage 4.62 MiB
JS errors None
Resource errors None

Sprout Invoices

Page screenshot: Sprout Invoices
URL /wp-admin/admin.php?page=sprout-invoices
Aspect menu-item
HTTP status 200
Load time 0.387 s
Memory usage 4.64 MiB
JS errors None
Resource errors None

Sprout Invoices → General Settings

Page screenshot: Sprout Invoices → General Settings
URL /wp-admin/admin.php?page=sprout-invoices-settings
Aspect menu-item
HTTP status 200
Load time 0.447 s
Memory usage 4.62 MiB
JS errors None
Resource errors None

Sprout Invoices → Payment Processors

Page screenshot: Sprout Invoices → Payment Processors
URL /wp-admin/admin.php?page=sprout-invoices-payments
Aspect menu-item
HTTP status 200
Load time 0.268 s
Memory usage 4.62 MiB
JS errors None
Resource errors None

Sprout Invoices → Notifications

Page screenshot: Sprout Invoices → Notifications
URL /wp-admin/admin.php?page=sprout-invoices-notifications
Aspect menu-item
HTTP status 200
Load time 1.109 s
Memory usage 4.62 MiB
JS errors None
Resource errors None

Sprout Invoices → Add-ons

Page screenshot: Sprout Invoices → Add-ons
URL /wp-admin/admin.php?page=sprout-invoices-addons
Aspect menu-item
HTTP status 200
Load time 2.252 s
Memory usage 5.47 MiB
JS errors None
Resource errors None

Sprout Invoices → Reports

Page screenshot: Sprout Invoices → Reports
URL /wp-admin/admin.php?page=sprout-invoices-reports
Aspect menu-item
HTTP status 200
Load time 0.365 s
Memory usage 4.64 MiB
JS errors None
Resource errors None

Sprout Invoices → Tools

Page screenshot: Sprout Invoices → Tools
URL /wp-admin/admin.php?page=sprout-invoices-import
Aspect menu-item
HTTP status 200
Load time 0.291 s
Memory usage 4.63 MiB
JS errors None
Resource errors None

Sprout Invoices → Support

Page screenshot: Sprout Invoices → Support
URL /wp-admin/admin.php?page=sprout-invoices-support
Aspect menu-item
HTTP status 200
Load time 0.384 s
Memory usage 4.62 MiB
JS errors None
Resource errors None

Test site – Just another WordPress site

Page screenshot: Test site – Just another WordPress site
URL /
Aspect front-page
HTTP status 200
Load time 0.276 s
Memory usage 4.08 MiB
JS errors None
Resource errors None

Dashboard ‹ Test site — WordPress

Page screenshot: Dashboard ‹ Test site — WordPress
URL /wp-admin/index.php
Aspect new-meta-boxes
HTTP status 200
Load time 0.318 s
Memory usage 4.65 MiB
JS errors None
Resource errors None

Benchmark

URL Load time Memory usage
Inactive Active Change Inactive Active Change
/wp-admin/index.php0.365 s0.423 s+0.058 s3.47 MiB4.65 MiB+ 1.17 MiB
/wp-admin/edit.php0.212 s0.216 s+0.004 s3.54 MiB4.72 MiB+ 1.18 MiB
/wp-admin/post-new.php0.798 s0.952 s+0.154 s5.75 MiB6.78 MiB+ 1.03 MiB
/wp-admin/upload.php0.655 s0.348 s-0.307 s3.49 MiB4.64 MiB+ 1.15 MiB
/wp-admin/options-writing.php0.223 s0.214 s-0.009 s3.41 MiB4.62 MiB+ 1.21 MiB
/wp-admin/media-new.php0.236 s0.430 s+0.194 s3.4 MiB4.61 MiB+ 1.22 MiB
/wp-admin/edit-tags.php?taxonomy=category0.204 s0.204 s+0.000 s3.47 MiB4.64 MiB+ 1.17 MiB
/wp-admin/post-new.php?post_type=page0.588 s0.641 s+0.053 s5.75 MiB6.77 MiB+ 1.02 MiB
/wp-admin/options-discussion.php0.218 s0.296 s+0.078 s3.41 MiB4.61 MiB+ 1.21 MiB
/wp-admin/edit-comments.php0.454 s0.238 s-0.216 s3.49 MiB4.64 MiB+ 1.15 MiB
/0.345 s0.214 s-0.131 s3.45 MiB4.08 MiB+ 641.45 KiB
Average 0.391 s0.380 s-0.011 s3.88 MiB4.98 MiB+ 1.1 MiB

Code Statistics

Note: Third-party libraries and minified JS/CSS files are excluded from these statistics where possible, so the numbers you see here may be lower than those reported by other tools.

PO File
PHP
JavaScript
Language % Lines of code Comment lines Files
PO File50.9%59,79138,79119
PHP31.7%37,20413,159284
JavaScript9.5%11,0991,82863
CSS6.9%8,1004099
Sass0.5%535613
HTML0.4%50312
Markdown0.1%7003
SVG0.0%3201
JSON0.0%2903
Total 117,363 54,194 397

PHP Code Analysis | More results »

Lines of code 28,415
Total complexity 5,666
Median class complexity 19.5
Median method complexity 2.0
Most complex class SI_Notifications
Most complex function SA_Init_Addon_Processors::load_bundled_payment_processor()
Classes 118
Methods 1,535
Functions 233

Additions

Things that the plugin adds to the site. This section is not intended to be comprehensive. The test tool only looks for a few specific types of added content.

Options wp_options 7

Custom Post Types 7

ID Name
sa_recordRecords
sa_notificationNotifications
sa_invoiceInvoices
sa_estimateEstimates
sa_clientClients
sa_paymentPayments
sa_projectProjects

Meta Boxes

{
    "dashboard": {
        "invoice_dashboard": {
            "title": "Invoices Dashboard",
            "context": "normal"
        },
        "estimates_dashboard": {
            "title": "Estimates Dashboard",
            "context": "side"
        }
    },
    "sa_notification": {
        "si_notification_submit": {
            "title": "Update",
            "context": "side"
        },
        "si_notification_shortcodes_send_estimate": {
            "title": "Estimate Available Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_send_invoice": {
            "title": "Invoice Available Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_deposit_payment": {
            "title": "Deposit Payment Received Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_payment_cleared": {
            "title": "Payment Cleared Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_final_payment": {
            "title": "Invoice Paid Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_reminder_payment": {
            "title": "Payment Reminder Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_accepted_estimate": {
            "title": "Estimate Accepted Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_declined_estimate": {
            "title": "Estimate Declined Shortcodes",
            "context": "normal"
        },
        "si_notification_shortcodes_payment_notification": {
            "title": "Payment Received Shortcodes",
            "context": "normal"
        }
    },
    "sa_client": {
        "si_client_information": {
            "title": "Information",
            "context": "normal"
        },
        "si_client_advanced": {
            "title": "Advanced",
            "context": "normal"
        },
        "si_client_history": {
            "title": "History",
            "context": "normal"
        },
        "si_client_submit": {
            "title": "Update",
            "context": "side"
        }
    },
    "sa_invoice": {
        "si_invoice_line_items": {
            "title": "Management",
            "context": "normal"
        },
        "si_invoice_update": {
            "title": "Information",
            "context": "normal"
        },
        "si_invoice_history": {
            "title": "Invoice History",
            "context": "normal"
        },
        "si_doc_send": {
            "title": "Send Notification",
            "context": "normal"
        },
        "si_invoice_payment": {
            "title": "Admin Payment",
            "context": "normal"
        },
        "si_invoice_notes": {
            "title": "Terms & Notes",
            "context": "normal"
        }
    },
    "sa_estimate": {
        "si_estimate_line_items": {
            "title": "Management",
            "context": "normal"
        },
        "si_estimate_update": {
            "title": "Information",
            "context": "normal"
        },
        "si_estimate_history": {
            "title": "Estimate History",
            "context": "normal"
        },
        "si_doc_send": {
            "title": "Send Notification",
            "context": "normal"
        },
        "si_estimate_notes": {
            "title": "Terms & Notes",
            "context": "normal"
        }
    },
    "sa_project": {
        "si_project_information": {
            "title": "Information",
            "context": "normal"
        },
        "si_project_history": {
            "title": "History",
            "context": "normal"
        },
        "si_project_submit": {
            "title": "Update",
            "context": "side"
        },
        "psp_project_info": {
            "title": "Project Panorama",
            "context": "side"
        }
    }
}

Roles 1

ID Name
sa_clientClient

Capabilities 8

PHP Error Log 14 lines

[12-Sep-2024 16:01:18 UTC] PHP Deprecated:  preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /wp-includes/kses.php on line 1805
[12-Sep-2024 16:01:18 UTC] PHP Deprecated:  preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /wp-includes/kses.php on line 1805
[12-Sep-2024 16:01:18 UTC] PHP Deprecated:  preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /wp-includes/kses.php on line 1805
[12-Sep-2024 16:01:20 UTC] PHP Deprecated:  trim(): Passing null to parameter #1 ($string) of type string is deprecated in /wp-includes/class-wp-editor.php on line 598
[12-Sep-2024 16:01:26 UTC] PHP Deprecated:  trim(): Passing null to parameter #1 ($string) of type string is deprecated in /wp-includes/class-wp-editor.php on line 598
[12-Sep-2024 16:01:28 UTC] PHP Deprecated:  preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /wp-includes/kses.php on line 1805
[12-Sep-2024 16:01:28 UTC] PHP Deprecated:  preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /wp-includes/kses.php on line 1805
[12-Sep-2024 16:01:28 UTC] PHP Deprecated:  preg_replace(): Passing null to parameter #3 ($subject) of type array|string is deprecated in /wp-includes/kses.php on line 1805
[12-Sep-2024 16:01:29 UTC] PHP Warning:  Undefined array key "value" in /wp-content/plugins/sprout-invoices/controllers/admin/Settings_API.php on line 1156
[12-Sep-2024 16:01:29 UTC] PHP Warning:  Undefined array key "value" in /wp-content/plugins/sprout-invoices/controllers/admin/Settings_API.php on line 1156
[12-Sep-2024 16:01:29 UTC] PHP Warning:  Undefined array key "value" in /wp-content/plugins/sprout-invoices/controllers/admin/Settings_API.php on line 1156
[12-Sep-2024 16:01:29 UTC] PHP Warning:  Undefined array key "value" in /wp-content/plugins/sprout-invoices/controllers/admin/Settings_API.php on line 1156
[12-Sep-2024 16:01:29 UTC] PHP Warning:  Undefined array key "value" in /wp-content/plugins/sprout-invoices/controllers/admin/Settings_API.php on line 1156
[12-Sep-2024 16:01:29 UTC] PHP Warning:  Undefined array key "value" in /wp-content/plugins/sprout-invoices/controllers/admin/Settings_API.php on line 1156
See also: All tests for this plugin, How to Hide Sprout Invoices Admin Menus and More