Jason R. Coombs avatar Jason R. Coombs committed 129db3b

Sort merchant transactions by date (for better reporting). Only apply earned residuals to advances.

Comments (0)

Files changed (1)

jaraco/financial/merchant.py

 	def add_row(self, row):
 		merchant = Merchant.from_row(row)
 		transactions = Transaction.from_row(row)
-		self.accounts[merchant] = transactions
+		by_date = lambda txn: txn.date.as_object()
+		self.accounts[merchant] = sorted(transactions, key=by_date)
 
 class Merchant(object):
 	_merchants = dict()
 					for txn in advance_txns)
 				if outstanding > 0:
 					# amount to repay
-					repay_adv = -min(outstanding, amount)
+					repay_adv = -min(outstanding, amount / 2)
 					designation = ledger.SimpleDesignation(
 						descriptor = advance_descriptor, amount=repay_adv)
 					txn = ledger.Transaction(date=date,
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.