| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
|
|
|
| |
accounts.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
sub-accounts.
The previous queries had a bug whereby an account in the form "A:B" would
include all transactions for sub accounts such as "A:B:C".
That's not the intended effect. Entries should appear in the lowest level
account, and not in their parent.
The regular expression now is anchored at start and finish in both queries to
ensure this works correctly.
|
|
|
|
|
| |
If "title:SOMETHING" occurs in the CSV file, use SOMETHING as the title of
the sheet.
|
|
|
|
|
|
| |
Instead of always starting a search from the end date, allow a CLI option
that is the data to use for the start of searching (back from the end date).
This is useful when resuming a search (since they take a long time).
|
|
|
|
|
|
|
| |
Report in CSV now goes to STDOUT.
The command line argument that was the difference to seek is now the bank
balance.
|
|
|
|
|
|
| |
The dynamic programming version of the subset sum problem required far too
much RAM for larger bank balances. Meanwhile, the brute-force is not to bad
now that the loop tries the closer dates *first*.
|
|
|
|
|
|
|
|
|
|
| |
For the times when we want to make shorter names of files by doing copies of
the documentation files for hyperlink usage, allow input of a new command
line option which is a list in the form of:
PATH_TO_FILE : sha25sum
so that those files can be used rather than new copies made.
|
| |
|
|
|
|
|
|
|
| |
Usually, transactions that didn't appear are nearby in date to the statement
date. This loop cycles through. Overall, this would take longer to find a
solution, but since most solutions are in the early dates "back" from the
statement date, this will probably be faster in typical cases.
|
|
|
|
|
| |
This is the basic implementation but for large numbers, it needs a *LOT*
of RAM.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The goal here is to take as input an account, a monthly balance amount
that appears on a bank statement, and the date of that bank statement and
output the list of transactions that likely weren't cleared properly as of
that date that caused the balance in the accounts to fail to match the
balance that appeared on the statement.
Note that determining this answer requires solving the known NP-Complete
problem called the subset sum problem. There is a known pseudo-polynomial
dynamic programming solution to this problem, but it's still exponential
in the size of the numbers you have to balance.
So, if you have *big* account balances, this will make take quite a while
to run. For smaller accounts, the pseudo-polynomial solution might be
helpful. (BTW, the wikipedia entry on the subset sum problem isn't, at
the time of this commit, particularly good, but it's "good enough" to give
you a sense of what the subset sum problem is:
http://en.wikipedia.org/wiki/Subset_sum_problem
)
I originally wrote the subset sum problem solution implementation here:
https://gitorious.org/bkuhn/small-hacks/commit/2dca069d810b61cdfad46e00abcb1a3edaf56d1b
The code is just cut and pasted in here with some minor modifications.
This rest of this first commit just has that aforementioned paste, plus the
beginnings of the CLI and query to run to get the proper entries.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
files.
This new option copies all files to the directory specified as an argument
to the --single-file-directory option, and also creates dummy shorter
filenames for the files.
This feature was implemented to get around a problem found when zip'ing
the spreadsheet up with the supporting files for users on Windows. The
Windows users encounter the error 0x80010135 related to some of the ZIP
files going beyond the maximum path name length on windows. Apparently,
opening ZIP files with long path names just doesn't work on Microsoft
systems. I've suggested our accountants switch to a Free Software
operating system, but they declined.
|
|\
| |
| | |
Next
|
| | |
|
| |
| |
| |
| | |
to isolate features and make them more generic for reuse by other Ledger users.
|
| |
| |
| |
| | |
and made generic to enable code reuse.
|
| |
| |
| |
| |
| | |
The previous version was somewhat confusing anyway. Now it builds a
relatively clear spreadsheet of all categories. It also now outputs CSV.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
MANIFEST.
Previous version of csv2ods.py simply assumed that fields beyond five
would have links to files. This obviously lacked flexibility and was a
silly hard-code. Now, those CSV fields that have link:SOMETHING will
cause a hyperlink to be created to SOMETHING.
Meanwhile, the pagebreak support was similarly hard-coded. Now, any CSV
field that has the word "pagebreak" in it will generate a pagebreak.
The general ledger and cash receipts/disbursement journals have been
modified to make use of these new features in csv2ods.py.
Finally, the --skip-page-break option is now moot in csv2ods.py, so that
is herein removed.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| | |
Based on a request from our accountants, I've changed the RUNNING TOTAL
field (which is generally useless to accountants anyway) to be a BALANCE
amount for starting and ending accounts.
|
| |
| |
| |
| |
| | |
We should give the sample MANIFEST for users that want to make sure they
got the script working properly, and to show the sample output.
|
| | |
|
| |
| |
| |
| |
| | |
I believe this trial balance report will look "more natural" to
accountants.
|
| |
| |
| |
| | |
This fix now has the sort working correctly.
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| | |
Also, ignore Ledger's Equity: accounts properly.
|
| | |
|
| |
| |
| |
| | |
This includes adding a formatted start date string too.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Our auditing accounts tell us they want accounts sorted by:
Assets
Liabilities
Net Assets
Income
Expenses
in a general ledger report. Generally, I think we should just apply the
same sorting.
Since Ledger doesn't use account codes by default, this is my hack to
solve this problem for now. Maybe there should be an account code tag for
sorting purposes at least?
|
| | |
|
| |
| |
| |
| |
| | |
Keep a hash so that file output to the MANIFEST file doesn't have
duplicates of the same file name in it.
|
| |
| |
| |
| |
| | |
Includes issue of "ends on" date being correct for mere mortals as opposed
to being right for Ledger only.
|
| |
| |
| |
| | |
Includes forcing of -V so all currency is in default.
|
| |
| |
| |
| |
| | |
Allow command line option that permits specification of string encoding,
passed to Python's unicode() function.
|
| |
| |
| |
| |
| | |
then takes Travel as if it were an Other category only after categories
have been handled.
|
| | |
|
| | |
|
| | |
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
based on general-ledger-report.plx
The general-ledger-report.plx was originally found in this repository:
http://gitorious.org/bkuhn/small-hacks/blobs/master/general-ledger-report.plx
And these early commits on cash-receipts-and-disbursments-journals.plx
were fro that repository as well, in:
http://gitorious.org/bkuhn/small-hacks/blobs/master/cash-receipts-and-disbursments-journals.plx
|
| | |
|
| | |
|