Releases: fundevogel/knv-tools
v0.9.0
v0.8
This release brings various changes & A LOT of new features:
Features:
- Adds new task group
acc
- Adds interactive accounting mode
- Adds watermark to matched PDF invoices
- Adds support for BWD, EDV & collective invoices
- Adds session support for
accounting
mode - Adds contact data from payments in task
contacts
- Adds support for
invoice
session data - Adds accounting subtask
report
- Adds class
Invoices
- Adds own
Payments
classes for pp & vb - Adds exports for new structure classes
- Adds session management
- Adds watermark to matched PDF invoices
- Adds support for Volksbank payments regarding KNV invoices
- Adds database subtask
search
- Adds support for months in CLI tasks
- Adds gross values
- Adds default value for credentials
- Adds acc subtask
show
Changes:
- Adjusts name of payment amount to match other gateways
- Combines database subtasks, now using arguments
- Detects cashback payments
- Exposes debit/credit property in invoices & payments
- Harmonizes
__init__
hooks - Improves overall readability & reduce redundancy
- Indicates degree of accuracy when matching payments
- Introduces tree-like data composition
- Makes task
match
a subtask of new groupacc
- Makes helper function
convert_number
into utility - Makes helper function
convert_date
into utility - Makes
create_path
work with files & directories - Makes file globs case-insensitive
- Merges JSON loading methods
- Merges invoice processing architecture
- Moves accounting methods to class
Molecule
- Moves CLI helper functions to dedicated module
- Moves timestamp generation to utility functions & clean code
- Simplifies fitbis invoice handling
- Splits
normalize
intostring
&number
methods - Splits invoices into
revenues
&expenses
- Splits PDF creation from acc task
prepare
- Reinstates accounting subtask
match
- Readds raw data to
volksbank
data - Renames
convert_nan
tonumber2string
& extend its functionality - Replaces concatenated strings with
format()
statements - Replaces
number2string logic
with regex matching - Removes (now deprecated) class
BaseClass
- Removes
Maker
classes & move helpers to classComponent
- Removes deprecated string replacements
- Removes extension early, taking care of uppercase
- Restructures db subtask
rebuild
- Rewrites accounting methods regarding tax reports
- Rewrites class
Command
toProcessor
- Rewrites data structures
- Rewrites accounting methods regarding tax reports
- Rewrites class
Session
- Rewrites
filter
method to output object instead of list
Fixes:
- Fixes
filter
method not respectingquarter
- Fixes phone number formatting
- Fixes non-existing directories when creating PNG graphs
- Fixes bug where missing quarter leads to empty results
- Fixes
filterBy
method return typehint
.. and eight issues were closed, as well 🎉
v0.7
This release not only changes the license to GPL v3, it brings many new features and improved algorithms:
Features
- Adds base class
BaseClass
- Adds class
Webservice
- Adds data processing to class
Invoices
- Adds database subtask
get
for retrieving data - Adds subtasks to
db rebuild
for each data type - Adds support for regular PayPal payments
Changes
- Make class
Invoice
a subclass ofCommand
- Rename class
Shopkonfigurator
toKNV
- Move prop
data
& methodget
to classBaseClass
- Move method
convert_nan
to classCommand
for broader availability - Improve data structure for Shopkonfigurator data
- Improve
match_payments
algorithms - Use invoice data instead of re-parsing invoice files
- Switch to dictionary-based data storage
- Remove modules
payments
&receiver
- Remove UTF-8 declarations
Fixes
- Fix bug where taxes are empty lists
- Fix bug when coupons are used as payment
- Fix dates being wrong way round in method
match_dates
v0.6
With this release, the project structure - once again - changes significantly, allowing for better scalability, (somewhat loosely) applying the Command
design pattern. In other news:
Features
- Add class
Invoices
- Add method
parse
to classInvoices
, including tax detection - Add method
matching
to classVolksbank
- Add new base class
Receiver
- Add class
Shopkonfigurator
Changes
- Refactor classes in
Command
design pattern - Merge processing & algorithm classes
- Improve initialization in
BaseClass
&Database
- Improve matching algorithms in classes
Paypal
&Volksbank
- Reactivate
ranking
&contacts
generation - Restructure modules
- Remove regex config options
Fixes
- Fix method
invoice2number
& invoice regex - Fix ignored date parameters when matching payments
- Fix misformatting when dealing with taxes
v0.5
First of all, this release migrates payments, orders & infos to classes. It also features many little improvements & fixes besides that:
Features
- Adds payment gateway 'Volksbank'
- Adds
BaseClass
class - Adds invoice helpers for extracting IDs & dates
- Adds global option 'VKN'
- Add support for skipping rows when loading CSV
- Add support for thousands separator
- Add support for keeping 'blocked' (= irrelevant) payments
Changes
- Group 'algorithm' modules
- Convert several options to class props
- Convert matching functions to class 'Matching'
v0.4
This release brings full control over configuration via CLI and extends configurability using a global config
file, brings the matching algorithm to near 100% success rate while fixing many bugs.
Features
- Adds full control of config options via CLI
- Adds (simple) bar charts for sales ranking
- Adds ZIP file extraction for invoices
- Adds exits if database is empty
Changes
- Improves matching algorithm by considering transaction code when matching payments
- Renames
convert_cost
toconvert_number
not being limited to currency - Groups
processor
modules - Combines loading mechanisms in new
merge_data
function
Fixes
- Fixes
setup.py
script - Fixes misplaced helper functions
- Fixes development directories in .gitignore
- Fixes rare cases of duplicate entries
- Fixes regular payments being processed/imported
- Removes deprecated export script
- Removes
invoice_file
option
v0.3
v0.2
v0.1
The initial release supports
- importing payment data (from PayPal™),
Orders
&OrdersInfo
data (from KNV's Shopkonfigurator) - matching payment data & invoices (formerly done by
knv-pypal
) - ranking sold articles