]> Dogcows Code - chaz/homebank2ledger/blobdiff - bin/homebank2ledger
add fatpacker script
[chaz/homebank2ledger] / bin / homebank2ledger
index d4a433fe7609ad4a0d11170f9eee625e2784a5b8..03d710f5a287e31ef359a1fca839f5849cac15e1 100644 (file)
@@ -4,26 +4,27 @@
 
 =head1 SYNOPSIS
 
-    homebank2ledger --input FILEPATH [--output FILEPATH]
-                    [--version|--help|--manual]
-                    [--format FORMAT] [--account-width NUM]
+    homebank2ledger --input FILEPATH [--output FILEPATH] [--format FORMAT]
+                    [--version|--help|--manual] [--account-width NUM]
                     [--accounts|--no-accounts] [--payees|--no-payees]
                     [--tags|--no-tags] [--commodities|--no-commodities]
-                    [--opening-date DATE] [--default-account STR]
+                    [--opening-date DATE]
                     [--rename-account STR]... [--exclude-account STR]...
 
 =head1 DESCRIPTION
 
-C<homebank2ledger> converts L<HomeBank|http://homebank.free.fr/> files to a format usable by
+F<homebank2ledger> converts L<HomeBank|http://homebank.free.fr/> files to a format usable by
 L<Ledger|https://www.ledger-cli.org/>. It can also convert directly to the similar
 L<Beancount|http://furius.ca/beancount/> format.
 
-This software is B<EXPERIMENTAL>. I wrote it because I have been maintaining my own personal
-finances using HomeBank (which is awesome) and I wanted to investigate using plain text accounting
-programs which have great support for commodities. It works well enough for my data, but you may be
-using HomeBank features that I don't so there may be cases this doesn't handle well or at all. Feel
-free to file a bug report. This script does NOT try to modify the original HomeBank files it
-converts from, so there won't be any crazy data loss bugs... but no warranty.
+This software is B<EXPERIMENTAL>, in early development. Its interface may change without notice.
+
+I wrote F<homebank2ledger> because I have been maintaining my own personal finances using HomeBank
+(which is awesome) and I wanted to investigate using plain text accounting programs. It works well
+enough for my data, but you may be using HomeBank features that I don't so there may be cases this
+doesn't handle well or at all. Feel free to file a bug report. This script does NOT try to modify
+the original HomeBank files it converts from, so there won't be any crazy data loss bugs... but no
+warranty.
 
 =head2 Features
 
@@ -32,9 +33,9 @@ converts from, so there won't be any crazy data loss bugs... but no warranty.
 * Retains HomeBank metadata, including payees and tags.
 * Offers some customization of the output ledger, like account renaming.
 
-There aren't really any features I think this program is missing -- actually it may have too many
-features -- but if there is anything you think this program could do to be even better, feedback is
-welcome; just file a bug report. Or fork the code and have fun!
+This program is feature-complete in my opinion (well, almost -- see L</CAVEATS>), but if there is
+anything you think it could do to be even better, feedback is welcome; just file a bug report. Or
+fork the code and have fun!
 
 =head2 Use cases
 
@@ -44,6 +45,43 @@ You can migrate the data you have in HomeBank so you can start maintaining your
 Or if you don't plan to switch completely off of HomeBank, you can continue to maintain your
 accounts in HomeBank and use this script to also take advantage of the reports Ledger offers.
 
+=head1 INSTALL
+
+There are several ways to install F<homebank2ledger> to your system.
+
+=head2 using cpanm
+
+You can install F<homebank2ledger> using L<cpanm>. If you have a local perl (plenv, perlbrew, etc.),
+you can just do:
+
+    cpanm App::Homebank2Ledger
+
+to install the F<homebank2ledger> executable and its dependencies. The executable will be installed
+to your perl's bin path, like F<~/perl5/perlbrew/bin/homebank2ledger>.
+
+If you're installing to your system perl, you can do:
+
+    cpanm --sudo App::Homebank2Ledger
+
+to install the F<homebank2ledger> executable to a system directory, like
+F</usr/local/bin/homebank2ledger> (depending on your perl).
+
+=head2 Downloading just the executable
+
+You may also choose to download F<homebank2ledger> as a single executable, like this:
+
+    curl -OL https://raw.githubusercontent.com/chazmcgarvey/homebank2ledger/solo/homebank2ledger
+    chmod +x homebank2ledger
+
+=head2 For developers
+
+If you're a developer and want to hack on the source, clone the repository and pull the
+dependencies:
+
+    git clone https://github.com/chazmcgarvey/homebank2ledger.git
+    cd homebank2ledger
+    make bootstrap      # installs dependencies; requires cpanm
+
 =head1 OPTIONS
 
 =head2 --version
@@ -116,6 +154,15 @@ Enables commodity declarations.
 
 Defaults to enabled; use C<--no-commodities> to disable.
 
+=head2 --budget
+
+Enables budget transactions.
+
+Budget transactions are only supported by the Ledger format (for now). This option is silently
+ignored otherwise.
+
+Defaults to enabled; use C<--no-budget> to disable.
+
 =head2 --opening-date DATE
 
 Specify the opening date for the "opening balances" transaction. This transaction is created (if
@@ -123,15 +170,9 @@ needed) to support HomeBank's ability to configure accounts with opening balance
 
 Date must be in the form "YYYY-MM-DD". Defaults to the date of the first transaction.
 
-=head2 --default-account STR
-
-Specify the account to use for one-sided transactions (if any). Defaults to "Expenses:No Category".
-
-A default account may be necessary because with Ledger all transactions are double-entry.
-
 =head2 --rename-account STR
 
-Specifies a mapping for renaming accounts in the output. By default C<homebank2ledger> tries to come
+Specifies a mapping for renaming accounts in the output. By default F<homebank2ledger> tries to come
 up with sensible account names (based on your HomeBank accounts and categories) that fit into five
 root accounts:
 
@@ -200,8 +241,17 @@ it's just plain text.
     # Run the balances report:
     bean-report ledger.beancount balances
 
+=head1 CAVEATS
+
+=for :list
+* I didn't intend to make this a releasable robust product, so it's lacking tests.
+* Scheduled transactions are not (yet) converted.
+* There are some minor formatting tweaks I will make (e.g. consolidate transaction tags and payees)
+
 =cut
 
+# FATPACK - Do not remove this line.
+
 use warnings;
 use strict;
 
This page took 0.022028 seconds and 4 git commands to generate.