-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathreadme.txt
More file actions
executable file
·473 lines (376 loc) · 22 KB
/
readme.txt
File metadata and controls
executable file
·473 lines (376 loc) · 22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
=== Billy ===
Contributors: them.es
Donate link: https://them.es/plugins/billy
Tags: accounting, billing, invoice, invoices, quote
Requires at least: 6.6
Tested up to: 7.0
Stable tag: 2.3.0
Requires PHP: 8.2
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Create invoices, quotes and keep track of your earnings and expenses with this billing suite—tailored for freelancers and small agencies.
== Description ==
This plugin helps you speed-up your billing process, from creating invoices or quotes, minimizing any potential errors to getting paid faster.
Create an electronic invoice, a quote or accounting records in just a matter of minutes with the block-based WordPress editor. Invoice numbers are generated automatically in unique and sequential order. For convenience reasons the totals of the table rows are calculated in _What You See Is What You Get_ real-time.
Global settings like your name, your address, the invoice number format, tax rates and the currency can be defined in the Customizer. The post header can be branded with your logo. Any frontend styles will be inherited from the theme, so please make sure the theme installed on your site fully supports the Block editor.
Emoji icon used in teaser © Google ([Apache License 2.0](https://github.com/googlefonts/noto-emoji/blob/main/svg/LICENSE "Apache License 2.0"))
= Target group? =
* Freelancers and small agencies that need a billing suite which integrates seamlessly into their existing WordPress environment.
= Compatible themes? =
The plugin should work with any modern WordPress theme that supports the Block editor. Minor style modifications in the theme may be required.
__Heads up:__ Please note that the main content area of the __Single/Custom Post Template__ of your theme needs to be setup in "fullwidth" format. Having a sidebar may narrow the (invoice) table layout too much.
The following WordPress themes have been tested:
* [https://them.es/starter-fse](https://them.es/starter-fse "Block Starter theme")
* [https://them.es/starter-bootstrap](https://them.es/starter-bootstrap "Bootstrap Starter theme")
* [https://them.es/starter-material](https://them.es/starter-material "Bootstrap Starter theme")
* [https://wordpress.org/themes/twentytwentyfour](https://wordpress.org/themes/twentytwentyfour "Twenty Twenty-Four theme")
* [https://wordpress.org/themes/twentytwentythree](https://wordpress.org/themes/twentytwentythree "Twenty Twenty-Three theme")
* [https://wordpress.org/themes/twentytwentytwo](https://wordpress.org/themes/twentytwentytwo "Twenty Twenty-Two theme")
* [https://wordpress.org/themes/twentytwentyone](https://wordpress.org/themes/twentytwentyone "Twenty Twenty-One theme")
* [https://wordpress.org/themes/twentytwenty](https://wordpress.org/themes/twentytwenty "Twenty Twenty theme")
* [https://wordpress.org/themes/twentynineteen](https://wordpress.org/themes/twentynineteen "Twenty Nineteen theme")
= What's included? =
* Invoices
* Quotes
* Accounting
* Custom styles: Compatible with any WordPress theme that supports the Block editor
* Custom Post types
* Custom Blocks and Block templates
* Set individual tax rates
* WYSIWYG, Real-time calculation
* Locale specific number formatting
* Legally compliant: Unique and sequential invoice numbers
* PDF-Export
* Fully customizable HTML and PDF output using block templates or add_filter()
* Privacy by design: All information published will be made private by default and stays confidential as no data is being shared with third-parties
* Dashboard widget
* Multilingual - Feel free to help localize Billy into your language: [them.es](https://them.es/plugins/billy/docs "them.es") (them.es user account required) or [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/billy "translate.wordpress.org") (WordPress.org user account required)
= Dependencies? =
* There are no third-party dependencies required and if you use the latest WordPress version with a block based WordPress theme you are good to go.
= Contribution? =
* The Plugin development can be followed via GitHub <3
* We are happy to receive feature suggestions and pull requests: [https://github.com/them-es/billy](https://github.com/them-es/billy "GitHub")
= PRO Add-on =
Please consider purchasing the premium add-on with the following features:
[https://them.es/plugins/billy](https://them.es/plugins/billy "Billy")
* Contact Management
* Address book
* Project Management: Kanban-style todos
* Time tracking
* Electronic invoices: Generate UBL-XML files
* Enhanced invoices: Contact selector, Status selector, QR code generator for customized payment codes
* Enhanced quotes: Contact selector, Status selector
* Enhanced accounting: Autofilter, Autosync invoices
* Share Invoices and Quotes via a password protected link
* Update the current invoice/quote status
* Overdue invoices get highlighted in the overview
* Auto-create invoices from WooCommerce orders
* Show upcoming birthdays in a dashboard widget
* Admin columns
* Useful stats and charts
* WordPress Export Personal Data tool
* Compatible with Polylang
== Screenshots ==
1. Custom Post types
2. Global settings via Customizer
3. Dashboard widget
4. Editing an Invoice (Backend, TwentyTwenty theme)
5. Invoice (Frontend, TwentyTwenty theme)
6. Editing an Accounting table (Backend, TwentyTwenty theme)
7. Accounting table (Frontend, TwentyTwenty theme)
== Installation ==
1. Upload the Plugin to the `/wp-content/plugins/` directory.
2. Activate it through the 'Plugins' menu in WordPress.
3. (Optional) Activate the [PRO add-on](https://them.es/plugins/billy "them.es Billy Pro").
4. Open the Customizer: __Appearance > Customize > Billy [PRO]__
5. Add global data like your name, an address, currency, tax rates, etc.
6. If you need to start with a specific invoice number you can modify the __invoice number__ value.
7. Go back to the Dashboard and customize the global __Billy Header__ by adding your logo.
8. Congrats. You can create your first invoice or quote now.
== Frequently Asked Questions ==
= Where can I find the developer documentation? =
* __Demos and docs can be found here:__
* [https://them.es/plugins/billy](https://them.es/plugins/billy "them.es")
= Are there any recommended third-party plugins? =
* Since you're using a self hosted version for your billing data, installing a [WordPress Backup Plugin](https://wordpress.org/plugins/search/backup "WordPress Backup Plugin") should be mandatory.
* Furthermore [Exporting your Customizer options](https://wordpress.org/plugins/search/customizer+export "WordPress Customizer Export Plugin") is highly recommended since Customizer values may get lost when switching your theme.
= I'm not sure where to begin! =
* Head over to [https://them.es/plugins/billy/docs/](https://them.es/plugins/billy/docs/ "them.es Plugin") to view the official documentation, which should help you get started.
= Where can I get help? =
* You can ask questions or post feature requests in the Support forums
* [https://wordpress.org/support/plugin/billy](https://wordpress.org/support/plugin/billy "WordPress Support")
* [https://them.es/support](https://them.es/support "them.es Support")
= The Billy templates don't look good in my theme =
* Please note that we can't support you in getting individual themes customized. But if your theme supports the Block editor everything should work out of the box. Minor CSS changes may be required.
* The plugin has been tested with the latest default WordPress themes and with some other major themes.
= How can I style the Billy templates? =
* Billy uses core Gutenberg block styles - so your theme needs to support Gutenberg blocks.
* All Billy templates are inheriting the styles of your theme. If required you can edit the __style.css__ file of your theme or add __custom CSS__ in the [Customizer](https://www.google.com/search?q=wordpress+customizer+add+custom+css "Customizer").
= How do I create a PDF version of my invoices/quotes? =
* A PDF-Exporter is included.
* If you need an exact copy of the screen version you can try the [Print to PDF feature](https://www.google.com/search?q=print+to+pdf "Print to PDF") built into your operating system.
= How do I create an UBL e-invoice? =
* This is only possible in the [PRO add-on](https://them.es/plugins/billy "them.es Billy") and considered "beta" support.
* You can generate a XML that can be sent to third-parties for further processing.
= Why do I see a 404 error page when trying to open an invoice/quote? =
* __Billing information is sensitive data!__ Due to privacy reasons these posts cannot be made public which means that only authorized users have access. You need to be logged in to see private posts.
* If you would like to share a post with others you need to use the __Share Link option__ in the [PRO add-on](https://them.es/plugins/billy "them.es Billy").
= I need more features! =
* Please check out the __PRO add-on__ which is available for purchase here: [https://them.es/plugins/billy](https://them.es/plugins/billy "them.es Billy")
* WordPress developers are welcome to help improve the plugin via [GitHub](https://github.com/them-es "GitHub")
* You can also help translate the plugin into your language: [them.es](https://them.es/plugins/billy/docs "them.es") (them.es user account required) or [translate.wordpress.org](https://translate.wordpress.org/projects/wp-plugins/billy "translate.wordpress.org") (WordPress.org user account required)
= Do you accept code contributions? =
* Yes. This is an Open Source project, so bug fixes, useful code additions or integrating automated tests, that could improve quality and make development easier, are more than welcome. You can find all information on https://them.es/plugins/billy or in the Github repo.
* The plugin has been uploaded to the WordPress plugin directory, so please make sure you follow the [WordPress Coding Standards](https://developer.wordpress.org/coding-standards/wordpress-coding-standards "WordPress Coding Standards") and document your code accordingly.
* Please understand that we are strong advocates of the [KISS](https://en.wikipedia.org/wiki/KISS_principle "KISS") principle, meaning that our main goal is to keep everything as simple as possible. This means that not all sophisticated pull requests can be considered for inclusion. Sometimes it's better to just create an add-on plugin or similar.
== Changelog ==
= 2.3.0 =
* PDF export: List bullets now correctly show up in tables
* Minor refactoring
* Update dependencies
= 2.2.1 =
* Bugfix: Broken "Export table" markup
* Update dependencies
* Tested up to WordPress 7.0 (pre-release)
= 2.2.0 =
* Code quality: Implemented some general advice and best practices - Props to the WordPress Plugins Team
* Important: Constants REQUIRED_WP and REQUIRED_PHP had to be renamed to BILLY_REQUIRED_WP and BILLY_REQUIRED_PHP!
* Removed unncessary build tool from dist version
= 2.1.2 =
* Minor cleanup
* Refactor plugin conflicts and compatibility check
= 2.1.1 =
* Code quality improving backwards compatibility
= 2.1.0 =
* Improvements to overall code quality and inline documentation
* Localized some missing de_DE translations in translate.wordpress.org
* Update dependencies
= 2.0.0 =
* All blocks haven been migrated to Blocks API v3
* Optimization of the overall codebase with improvements to the performance
* The financial year can now be defined
* Invoices, quotes and accounting records can now be downloaded as a native spreadsheet file (XLSX, ODS, CSV)
* Accounting block: Removed translation strings in table block and added custom placeholders (see v1.11.0)
* Generated PDFs now support emojis (by converting them to image files via the WordPress CDN) - this behaviour can be disabled
* Enabled editor notes support (WordPress 6.9+ is required)
* New banner and icon
* Tested up to WordPress 6.9 (pre-release)
* Bumb minimum WordPress version to v6.6
* Bumb required PHP version to v8.2
= 1.12.0 =
* Refactor frontend assets and blocks
* Drop gulp.js and only use @wordpress/scripts in the frontend assets build process
= 1.11.1 =
* Re-implement workaround to improve formatting of line spacing in PDF content
* Update dependencies
= 1.11.0 =
* Removed translation strings in table block and added custom placeholders that get replaced in the frontend to prevent potentially corrupted block warnings if the post language has been switched
* Users can now contribute new translations or request changes via https://them.es/plugins/billy/docs/
* Compatibility with WordPress 6.8
= 1.10.5 =
* Refactor PDF generator: Ensure that some non-translated strings are correctly output
* Vendor-prefix composer packages using Strauss to improve compatibility with third-party plugins using the same dependencies (e.g. mPDF)
= 1.10.4 =
* PDF generator: Remove an outdated workaround that potentially caused a PHP error
= 1.10.3 =
* PDF generator: Fix potential UTF-8 encoding issue and update some styles
* Also output customized PRO templates in dashboard widget
= 1.10.2 =
* Bugfix: Fixed a typo that prevented the initialization of the default post template
* Post type agnostic PDF template files can now be customized via `/templates/billy-{invoice|quote|accounting}-pdf-{content|footer}.html`
= 1.10.1 =
* Also customize the output of PDF content and footer via `/templates/billy-pdf-{content|footer}.html`
= 1.10.0 =
* Full customization of output using block templates or filter hooks: 1. Block templates via `/templates/billy-{invoice|quote|accounting}.html`, 2. `add_filter()` CPT `billy_{invoice|quote|accounting}_template`, 3. `add_filter()` PDF output `billy_pdf_{content|footer}`
* PDF generator: Support for mutable block columns instead of fixed 3-col layout
* Improved theme compatibility: Changed priority of "the_content" filter to 1
= 1.9.6 =
* Fix console warning: Ensure that all input values are defined before referencing them in the attribute
= 1.9.5 =
* Refactoring, Cleanup and Code quality
= 1.9.4 =
* Ensure compatibility with Yoast Duplicate Post (by also cloning specific meta fields)
* Minor refactoring
* Tested up to WordPress 6.7
= 1.9.3 =
* Bugfix for post revisions: Don't overwrite invoice and quote titles with current date on save
* Make "fix_invoices" function public and add info with actual link to the dashboard widget instead of the JS console output
* Confirm that a "fix_invoices" update has been executed
* Upgrade third-party dependencies
= 1.9.2 =
* Invoice and Quote number formatting: Use current date instead of post date if the post is unpublished
* Dashboard widget: Remove output sanitization as this caused issues when meta data errors were found
* Add a nonce verification to the undocumented "fix_invoices" function
= 1.9.1 =
* Allow to disable Geocoding
* Accounting: Move export button to the right and fix a PHP notice
* Invoices/Quotes lookup: Fix a PHP notice if no posts have been published yet
= 1.9.0 =
* Include an optional reference meta field in invoice post templates
* Customizer: 1. Add new settings for email (default value is "admin_email") and phone number, 2. Implement a Geocoder API (powered by nominatim.openstreetmap.org) which validates the address input and stores the geocoded data string in a new field for further processing
* Change default currency code from "$" to "USD" (ISO 4217 format)
* PDF generator: Optionally return the file instead of triggering a download
* PDF: Add "DRAFT" watermark if the post has not been published yet
* Redesign the post header and improve the way PDFs are previewed
* Remove Print button which never was active in Chrome due to compatibility issues - users are adviced to print via the browser menu or via OS printing window shortcuts
* Code refactoring with improvements to the load time
* Renaming of some functions for consistency
* Bumb minimum supported WordPress version to v6.0 (v6.5 is recommended!)
* Update dependencies
= 1.8.2 =
* Bugfix: Exclude all reusable footer blocks - not only the latest one - from PDF body
* Show the current quote number in Dashboard widget
* Add a blueprint.json
* Tested up to WordPress 6.6 (beta)
= 1.8.1 =
* Improve theme compatibility with Export tables
* PDF footer: Include {DATE}, {EMAIL}, {SITETITLE} and {SITEICON} placeholders to output the post date, the admin email and the site title/icon
* Show the current quote number in Editor sidebar panel
= 1.8.0 =
* In general more possibilities to customize the look and feel
* All Billy menu items are restructured and combined in a single dashboard menu
* Always show [+] row appender in tables
* Enhancement: Enabled the Synced Patterns core feature in invoice, quote and accounting tables to be able to create reusable blocks for products and services.
* Bugfix: Make table rows in accounting table selectable again
* Quotes: Optionally autoincrement numbers (like in invoices) and add a number prefix
* Number prefixes: Include placeholders {YEAR}, {MONTH} and {DAY} to output the post date variables. Remove "#" fallback prefix from output.
* Tables: Add top/bottom borders by default
* Table data export: Improve handling of output
* PDF generator: Improve unicode chars output
* The PDF footer can now be fully customized via a reusable block - similar to the header. Heads up: Modifying the footer will also change the PDF output of existing posts!
* Code refactoring: Add on_init action in "Billy" class. Combine setAttributes() requests in blocks where possible. Define a table export constant instead of the hardcoded post type lookup, Use document.title as export_table_to_tsv() filename.
* Renamed some variables for consistency
* Fixed some PHP linting warnings
* Updated translation strings
= 1.7.4 =
* Bugfix: Error loading font "Could not find PostScript font name"
* Add them.es Starter FSE to tested Themes
= 1.7.3 =
* Minor code refactoring
* Add .l10n.php translation files to adopt performant translations (WordPress 6.5+)
* Update dependencies
= 1.7.2 =
* Minor code refactoring
* Update dependencies
* Tested up to WordPress 6.5
= 1.7.1 =
* Bugfix: Custom meta deprecation warning
* Allow to add classes in custom meta fields
= 1.7.0 =
* Code refactoring with an upgrade to Block API v2
* Bump supported WordPress version to 5.6+
* Fix WSOD when saving a post that has not been modified
= 1.6.6 =
* Restrict current_user_can() to users who can view/edit private posts
* Add nonce validation to PDF generator
* Hide Print button on Chrome
* Code refactoring and minor style updates
* Upgrade third-party dependencies
* Tested with PHP 8.3
= 1.6.5 =
* Enhancement: Update composer autoloader reference to fix a potential issue
* Add Twenty Twenty-Four to tested Themes
= 1.6.4 =
* Bugfix: Minor warning in Editor
* Upgrade third-party dependencies
* Tested up to WordPress 6.4
= 1.6.3 =
* Tested in PHP 7.4 and updated composer.json to prevent a fatal error (Using PHP 8.0+ is still advised!)
= 1.6.2 =
* Bugfix: React warning "Uncaught ReferenceError: editEntityRecord is not defined" in invoice meta
* Upgrade third-party dependencies
= 1.6.1 =
* Bugfix: React warnings "Cannot update a component while rendering a different component"
* Deactivate mPDF simpleTables to allow full CSS support for tables (e.g. via manipulating Billy_PDF_Export::$pdfstyles)
* PDF output: Less opinionated table styles
* Minor updates in style-editor.css to format Block-Editor specific elements only
= 1.6.0 =
* Refactoring and Code quality
* Styling updates
* Bugfix: Retrieve reusable Header block in current locale (Polylang, WPML)
* New Sidebar panel with settings overview
* Upgrade third-party dependencies
* Tested up to WordPress 6.2
= 1.5.3 =
* Minor style update in style-editor.css
* Code quality
* Documentation
= 1.5.2 =
* Add an optional "subject" line in Custom Post type templates
* CSS updates (Frontend and generated PDF)
* Upgrade third-party dependencies
= 1.5.1 =
* Improve table <tfoot> markup by replacing <td> labels with <th> and removing classNames
* CSS updates (Frontend and generated PDF)
* Minor bugfixes
* Backwards compatibility
= 1.5.0 =
* Code modernization: Replace Header CPT with a reusable block ensuring backwards compatibility
* Cleanup
* Minor style updates and UI improvements
* Upgrade third-party dependencies
* Compatibility with WordPress 6.1
= 1.4.1 =
* Code modernization and Cleanup
* Upgrade third-party dependencies
= 1.4.0 =
* Removed iframe PDF viewer: Use WP native wp-block-file__embed instead
* Add PDF preview before post content
* Don't make pre-header sticky
* Invoices: Check if required meta data is missing (e.g. after an import) and provide a (hidden) tool to regenerate the meta data on all posts based on the current invoice number
* Upgrade third-party dependencies
= 1.3.4 =
* Numeric invoice numbers
* Autoincrement invoice number function has been rewritten using get_previous_post()
* Upgrade third-party dependencies
= 1.3.3 =
* Enqueue frontend assets only when necessary
* Upgrade third-party dependencies
= 1.3.2 =
* Coding Standards
* Compatibility with WordPress 5.8: Fix PHP notice in 'block_categories'
* Upgrade third-party dependencies
= 1.3.1 =
* Compatibility with WordPress 5.7
* Upgrade third-party dependencies
= 1.3.0 =
* Refactoring
* Minor style updates to improve PDF output
* Removed PDF.js: Use browser internal PDF viewer via iframe instead
* Upgrade third-party dependencies
= 1.2.3 =
* Refactored Meta
* Replaced two wrong Gettext domains
= 1.2.2 =
* Code quality
* Fixed misaligned label in Editor
= 1.2.1 =
* PDF footer: Use the date on which the post was published instead of the current date
= 1.2.0 =
* Allow more formatting options in descriptions: Replace RichText components with InnerBlocks components.
* Style improvements to the PDF output
* Tables: Vertical alignment "top"
* Upgrade third-party dependencies
= 1.1.4 =
* Minor compatibility update for WordPress 5.5+
= 1.1.3 =
* Compatibility with WordPress 5.5
= 1.1.3 =
* Minor updates: styles
= 1.1.1 =
* Prevent TypeError in main.js
= 1.1.0 =
* Embedded PDF files (PDF.js)
* Make PDF Export class variables public so they can be modified by third parties
* Minor style updates to the default PDF output
= 1.0.3 =
* Dynamically set the PDF filename
* Minor style updates to the PDF output
= 1.0.2 =
* Internationalization
* Readme updates
= 1.0.1 =
* Minor update to the table row frontend view
= 1.0 =
* Initial Release
* Created a GitHub repository with all development sources