{"id":321084,"date":"2026-07-31T21:04:17","date_gmt":"2026-07-31T21:04:17","guid":{"rendered":"https:\/\/wordpress.org\/plugins\/lafu-sales-reports-for-woocommerce\/"},"modified":"2026-09-11T18:18:07","modified_gmt":"2026-09-11T18:18:07","slug":"lafu-sales-reports-for-woocommerce","status":"publish","type":"plugin","link":"https:\/\/br.wordpress.org\/plugins\/lafu-sales-reports-for-woocommerce\/","author":23455785,"comment_status":"closed","ping_status":"closed","template":"","meta":{"version":"1.5.3","stable_tag":"1.5.3","tested":"7.0.5","requires":"5.8","requires_php":"7.4","requires_plugins":null,"header_name":"LAFU Sales Reports for WooCommerce","header_author":"LAFU","header_description":"Email CSV and PDF order summaries on scheduled days of the month, with optional translations.","assets_banners_color":"f9fefc","last_updated":"2026-09-11 18:18:07","external_support_url":"","external_repository_url":"","donate_link":"","header_plugin_uri":"","header_author_uri":"","rating":0,"author_block_rating":0,"active_installs":0,"downloads":192,"num_ratings":0,"support_threads":0,"support_threads_resolved":0,"author_block_count":0,"sections":["description","installation","faq","changelog"],"tags":{"1.5.3":{"tag":"1.5.3","author":"elsama101","date":"2026-09-11 18:18:07","revision":3691887}},"upgrade_notice":[],"ratings":[],"assets_icons":{"icon-128x128.png":{"filename":"icon-128x128.png","revision":3630492,"resolution":"128x128","location":"assets","locale":"","width":128,"height":128},"icon-256x256.png":{"filename":"icon-256x256.png","revision":3630492,"resolution":"256x256","location":"assets","locale":"","width":256,"height":256}},"assets_banners":{"banner-1544x500.png":{"filename":"banner-1544x500.png","revision":3692125,"resolution":"1544x500","location":"assets","locale":"","width":1544,"height":500},"banner-772x250.png":{"filename":"banner-772x250.png","revision":3692125,"resolution":"772x250","location":"assets","locale":"","width":772,"height":250}},"assets_blueprints":{},"all_blocks":[],"tagged_versions":["1.5.3"],"block_files":[],"assets_screenshots":{"screenshot-1.png":{"filename":"screenshot-1.png","revision":3691887,"resolution":"1","location":"assets","locale":"","width":1188,"height":1728},"screenshot-2.png":{"filename":"screenshot-2.png","revision":3691887,"resolution":"2","location":"assets","locale":"","width":1188,"height":1021},"screenshot-3.png":{"filename":"screenshot-3.png","revision":3691887,"resolution":"3","location":"assets","locale":"","width":1188,"height":719},"screenshot-4.png":{"filename":"screenshot-4.png","revision":3691887,"resolution":"4","location":"assets","locale":"","width":820,"height":1244}},"screenshots":{"1":"Reports tab: recipients, order statuses, columns, filters, schedule, and manual send.","2":"Settings tab: report file label, column labels, and payment method labels.","3":"Logs tab: sent report history and settings import\/export.","4":"Sample PDF sales report with order rows."}},"plugin_section":[],"plugin_tags":[567,1764,3654,332,286],"plugin_category":[45,50],"plugin_contributors":[258533],"plugin_business_model":[],"class_list":["post-321084","plugin","type-plugin","status-publish","hentry","plugin_tags-csv","plugin_tags-pdf","plugin_tags-reports","plugin_tags-sales","plugin_tags-woocommerce","plugin_category-ecommerce","plugin_category-media","plugin_contributors-elsama101","plugin_committers-elsama101"],"banners":{"banner":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/banner-772x250.png?rev=3692125","banner_2x":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/banner-1544x500.png?rev=3692125","banner_rtl":false,"banner_2x_rtl":false},"icons":{"svg":false,"icon":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/icon-128x128.png?rev=3630492","icon_2x":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/icon-256x256.png?rev=3630492","generated":false},"screenshots":[{"src":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/screenshot-1.png?rev=3691887","caption":"Reports tab: recipients, order statuses, columns, filters, schedule, and manual send."},{"src":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/screenshot-2.png?rev=3691887","caption":"Settings tab: report file label, column labels, and payment method labels."},{"src":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/screenshot-3.png?rev=3691887","caption":"Logs tab: sent report history and settings import\/export."},{"src":"https:\/\/ps.w.org\/lafu-sales-reports-for-woocommerce\/assets\/screenshot-4.png?rev=3691887","caption":"Sample PDF sales report with order rows."}],"raw_content":"<!--section=description-->\n<p><strong>LAFU Sales Reports for WooCommerce<\/strong> sends order summaries on the days you choose each month. Reports include paid orders in a clear <strong>from\u2013through<\/strong> date range (site timezone), with CSV and PDF attachments.<\/p>\n\n<h4>Features<\/h4>\n\n<ul>\n<li><strong>CSV and PDF<\/strong> exports with payment method, tax total, and order total.<\/li>\n<li><strong>Comma-separated To \/ Cc \/ Bcc<\/strong> recipients and customizable email subject.<\/li>\n<li><strong>Day-of-month schedule<\/strong> (1\u201328) with a repeater UI.<\/li>\n<li><strong>Manual send<\/strong> with optional custom date range (month-to-date by default).<\/li>\n<li><strong>Report filters<\/strong> by payment method, customer, product, or category.<\/li>\n<li><strong>Customization<\/strong> tab for column labels and payment method names.<\/li>\n<li><strong>Logs<\/strong> tab and JSON settings export\/import.<\/li>\n<li><strong>HPOS compatible<\/strong> \u2014 works with WooCommerce custom order tables.<\/li>\n<li><strong><code>wp_mail<\/code><\/strong> delivery (SMTP plugins supported).<\/li>\n<\/ul>\n\n<h4>WooCommerce<\/h4>\n\n<p>Requires WooCommerce 7.0+. Tested with WooCommerce 9.8 and WordPress 7.0.<\/p>\n\n<h3>For developers<\/h3>\n\n<p>The plugin exposes a small, stable API so other plugins can reuse the report engine. The plugin itself still ships and uses a single report; these are extension points only.<\/p>\n\n<ul>\n<li><code>LAFU_SRFW_Plugin::run_report( array $settings, string $mode = 'manual', array $range = null )<\/code> \u2014 generate and email a report from your own settings array.<\/li>\n<li><code>LAFU_SRFW_Plugin::get_report_setting_defaults()<\/code> \u2014 the default settings shape.<\/li>\n<li><code>LAFU_SRFW_Plugin::sanitize_report_settings( array $data )<\/code> \u2014 sanitize an arbitrary settings array into the canonical shape.<\/li>\n<li><code>LAFU_SRFW_Plugin::compute_report_range( array $settings, bool $is_manual = false )<\/code> \u2014 the date range a report would use.<\/li>\n<li><code>do_action( 'lafu_srfw_run_scheduled_reports', int $today_dom )<\/code> \u2014 fires daily so add-ons can run extra scheduled reports.<\/li>\n<\/ul>\n\n<p>The global instance is available as <code>$GLOBALS['lafu_srfw_plugin']<\/code>.<\/p>\n\n<!--section=installation-->\n<ol>\n<li>Install and activate <strong>WooCommerce<\/strong>.<\/li>\n<li>Upload the <code>lafu-sales-reports-for-woocommerce<\/code> folder to <code>\/wp-content\/plugins\/<\/code>.<\/li>\n<li>Activate <strong>LAFU Sales Reports for WooCommerce<\/strong>.<\/li>\n<li>Open <strong>WooCommerce \u2192 Sales Reports<\/strong>, set recipients and schedule days, then save.<\/li>\n<\/ol>\n\n<!--section=faq-->\n<dl>\n<dt id=\"does%20this%20require%20woocommerce%3F\"><h3>Does this require WooCommerce?<\/h3><\/dt>\n<dd><p>Yes. The plugin registers under the WooCommerce admin menu and queries orders via WooCommerce APIs.<\/p><\/dd>\n<dt id=\"does%20it%20work%20with%20hpos%20%28custom%20order%20tables%29%3F\"><h3>Does it work with HPOS (custom order tables)?<\/h3><\/dt>\n<dd><p>Yes. The plugin declares compatibility with WooCommerce High-Performance Order Storage.<\/p><\/dd>\n<dt id=\"how%20do%20i%20translate%20the%20admin%20and%20reports%3F\"><h3>How do I translate the admin and reports?<\/h3><\/dt>\n<dd><p>Use WordPress.org translations or a translation plugin for the <code>lafu-sales-reports-for-woocommerce<\/code> text domain.<\/p><\/dd>\n<dt id=\"can%20i%20send%20a%20test%20report%20before%20the%20schedule%20runs%3F\"><h3>Can I send a test report before the schedule runs?<\/h3><\/dt>\n<dd><p>Yes. Use <strong>Generate &amp; Send now<\/strong> on the Reports tab. Leave the date fields empty for month-to-date, or set a custom range.<\/p><\/dd>\n\n<\/dl>\n\n<!--section=changelog-->\n<h4>1.5.3<\/h4>\n\n<ul>\n<li>Fixed a PHP syntax error in the admin settings view.<\/li>\n<\/ul>\n\n<h4>1.5.2<\/h4>\n\n<ul>\n<li>Maintenance release: packaging cleanup and readme updates. No functional changes.<\/li>\n<\/ul>\n\n<h4>1.5.1<\/h4>\n\n<ul>\n<li>Housekeeping: cleaner plugin package and minor maintenance. No functional changes.<\/li>\n<\/ul>\n\n<h4>1.5.0<\/h4>\n\n<ul>\n<li>Added a documented developer API (<code>run_report()<\/code>, settings helpers, and the <code>lafu_srfw_run_scheduled_reports<\/code> action) so add-ons can reuse the report engine. The plugin still ships and uses a single report.<\/li>\n<\/ul>\n\n<h4>1.4.2<\/h4>\n\n<ul>\n<li>Simplified the free plugin to a single report configuration.<\/li>\n<li>Use literal hook name prefixes so dynamic action names are clearly namespaced.<\/li>\n<li>Harden CSV exports against spreadsheet formula injection.<\/li>\n<li>Corrected readme FAQ and screenshots to match the Reports \/ Settings tabs.<\/li>\n<\/ul>\n\n<h4>1.4.1<\/h4>\n\n<ul>\n<li>Scheduled days now start empty so you choose exactly when reports send (no preset days).<\/li>\n<li>Removed bundled directory image assets from the plugin package.<\/li>\n<\/ul>\n\n<h4>1.4.0<\/h4>\n\n<ul>\n<li>Fix: no fatal errors if WooCommerce is deactivated \u2014 the plugin pauses cleanly until WooCommerce is back.<\/li>\n<li>Improved: small admin UI polish and translation refresh.<\/li>\n<\/ul>\n\n<h4>1.3.0<\/h4>\n\n<ul>\n<li>Tested with WordPress 7.0.<\/li>\n<li>Redesigned admin: a Reports tab, a separate Settings tab, and clearer navigation.<\/li>\n<li>WooCommerce-style dropdowns with type-ahead search now initialize reliably on the plugin screen.<\/li>\n<li>Clearer admin notice when WooCommerce is missing.<\/li>\n<li>Various small UI and stability fixes.<\/li>\n<\/ul>\n\n<h4>1.2.0<\/h4>\n\n<ul>\n<li>Refactored monolithic plugin class into focused traits (admin, orders, PDF, CSV, scheduler, settings).<\/li>\n<li>Added LAFU_SRFW_Constants, LAFU_SRFW_Utils, and utility test suite.<\/li>\n<li>Paginated WooCommerce order queries (100 per batch) instead of unbounded <code>limit =&gt; -1<\/code>.<\/li>\n<li>WooCommerce dependency header, HPOS compatibility declaration, and admin notice when WooCommerce is missing.<\/li>\n<li>Report filters (payment method, user, product, category).<\/li>\n<li>20 additional bundled translations (excluding Hebrew).<\/li>\n<li><code>.distignore<\/code> for WordPress.org releases; removed unused large SVG asset.<\/li>\n<li>Removed dead CSS and duplicate <code>lafu_wcsr_generate_now<\/code> admin hook.<\/li>\n<\/ul>\n\n<h4>1.1.6<\/h4>\n\n<ul>\n<li>Added payment method label overrides in Customization.<\/li>\n<li>Payment method defaults now prefer gateway\/plugin titles (with PPCP defaulting to PayPal).<\/li>\n<li>Improved payment method customization UI with clearer section spacing and reliable detected-method listing.<\/li>\n<\/ul>\n\n<h4>1.1.5<\/h4>\n\n<ul>\n<li>Report payment method label now prefers a clean gateway name (for example Kustom, Stripe) instead of long gateway titles.<\/li>\n<\/ul>\n\n<h4>1.1.3<\/h4>\n\n<ul>\n<li>Removed legacy\/stray Download button from manual report actions; only Generate and Email remain.<\/li>\n<\/ul>\n\n<h4>1.1.2<\/h4>\n\n<ul>\n<li>Order queries use <code>date_after<\/code> \/ <code>date_before<\/code> (full local day bounds) for reliable ranges with HPOS.<\/li>\n<li>Reports include processing, completed, and refunded orders by default. Adjust in settings or via the <code>lafu_srfw_report_order_statuses<\/code> filter.<\/li>\n<\/ul>\n\n<h4>1.1.1<\/h4>\n\n<ul>\n<li>Optional custom order date range for \u201cSend report now\u201d (test sends).<\/li>\n<\/ul>\n\n<h4>1.1.0<\/h4>\n\n<ul>\n<li>Interval-based date ranges for scheduled sends; CSV\/PDF tax and payment method; i18n + Finnish.<\/li>\n<\/ul>\n\n<h4>1.0.0<\/h4>\n\n<ul>\n<li>Initial release.<\/li>\n<\/ul>","raw_excerpt":"Scheduled CSV and PDF WooCommerce order reports by email with HPOS support.","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin\/321084","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin"}],"about":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/types\/plugin"}],"replies":[{"embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/comments?post=321084"}],"author":[{"embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wporg\/v1\/users\/elsama101"}],"wp:attachment":[{"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/media?parent=321084"}],"wp:term":[{"taxonomy":"plugin_section","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_section?post=321084"},{"taxonomy":"plugin_tags","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_tags?post=321084"},{"taxonomy":"plugin_category","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_category?post=321084"},{"taxonomy":"plugin_contributors","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_contributors?post=321084"},{"taxonomy":"plugin_business_model","embeddable":true,"href":"https:\/\/br.wordpress.org\/plugins\/wp-json\/wp\/v2\/plugin_business_model?post=321084"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}