Our strategy for feature implementation is to take the hardest features, and those most likely to change our database/object structure, and implement those first. We recently discovered that the Portfolio/Account views were going to be difficult to implement, so we put cost accounting on hold. This is a long post because the concept is very tricky and positively impacts many areas of the software.
There are two separate "views" of the data in FinFolio, one to represent the legal system-of-record data (Account view) and one to mirror the firm's view of the client positions (Portfolio view). This lets us maintain the integrity of the system-of-record data and preserve the layout for data imports, while allowing advisors to specify a completely different reporting structure that can be used for modeling and printing client reports.
This should give advisors complete flexibility in mapping accounts, but remove complexity at report printing time. As I've been talking to advisors, I've heard several stories about having to re-print quarterly reports because you selected an incorrect option before clicking Print. With the Portfolio/Account structure you can set it once when the account is imported and keep the same structure for the life of the account.