ospc-org / ospc.org

Source code for PolicyBrain, ospc.org, and related assets.
MIT License
24 stars 32 forks source link

Allow expensing for inventories and land #666

Open jdebacker opened 7 years ago

jdebacker commented 7 years ago

This issue is to discuss including B-Tax parameters that allow for expensing land and inventories into the CCC web app. Currently, one can only change expensing rules related to equipment and structures.

The idea would be to have these options where the rate of expensing (0 to 100) could be input for these asset types.

MattHJensen commented 7 years ago

@jdebacker, these two new parameters would just fit into the existing table, right? Is the backend implementation the same, so we are really just talking about a couple of front end changes on PolicyBrain?

image

cc @GoFroggyRun

jdebacker commented 7 years ago

@MattHJensen I'm not sure if it would make sense to add these as part of this table. Land is not depreciable (so the ADS/GDS rules don't apply). Inventories don't depreciate either, but the accounting method used to expense them as part of costs of goods sold can be important.

My suggestion would be to add a heading to the table: "Equipment, Structures, and Intellectual Property". Then add a subsection under the table titled "Land". In this subsection one can enter a rate (0 to 100) showing the rate of expensing of the purchase of land. Follow this with a "Inventories" subsection. This would have two boxes. One for the rate of expensing of inventories. Another for the fraction of inventories using the LIFO method.

If this makes sense, there I'd need a small back-end change to B-Tax as there is only a boolean for expensing land or inventories - not a variable rate of expensing.

MattHJensen commented 7 years ago

@hdoupe, this will be quite important for our users in the coming weeks. If you coordinate w @jdebacker on the b-tax changes and @GoFroggyRun on the front end changes, is this something that you would be willing to add to a 1.0.3 (or perhaps 1.1.0) milestone and release?

hdoupe commented 7 years ago

@MattHJensen @jdebacker Yes, I would be happy to do this. I'll start looking into this today.

MattHJensen commented 7 years ago

@hdoupe, Just to clarify, I don't mean for you to do the front-end and b-tax work yourself, but rather to coordinate the timing with @GoFroggyRun and @jdebacker. I directed the question to you so that you could make the call on the milestone. I'd like you to manage the milestone and release schedule going forward, if you are willing.

hdoupe commented 7 years ago

Thanks for the clarification @MattHJensen. @jdebacker, @GoFroggyRun I will be monitoring this issue and PR's related to it. Feel free to reach out to me if you have any questions or need help.

jdebacker commented 7 years ago

@MattHJensen @codykallen What's is your opinion on having a boolean on for expensing land and/or inventories rather than a variable rate? Right now B-Tax has the boolean method (expense or not). If not, follow conventional rules (LIFO/FIFO accounting for inventories, no depreciation deductions for land).

A rate between 0 and 100 seems a bit odd - partial expending of land then no further deductions? Partial expending of inventories and then remainder under LIFO/FIFO? Is this something users would want?

On the one hand, I want to give flexibility - but on the other hand it might partial expensing of these is odd and might cause more confusion than it's worth. Have you ever seen interest in partial expensing of such assets?

codykallen commented 7 years ago

@jdebacker On inventories, I don't think it makes sense to have a variable rate for expensing. I'm not aware of any proposal (current or in the past) for such an idea, and it doesn't make economic or administrative sense to have inventories partially expensed and partially subject to FIFO or LIFO. I would recommend that the user be allowed to choose between several options: the current law mix of FIFO and LIFO (using the assumption in B-Tax), only FIFO, only LIFO, or expensing.

For expensing of land investment, this makes sense for consistent rules that do not distinguish by asset class (although it doesn't make economic sense to allow this, since the "capital stock" of land is inherently fixed). I think it's not unreasonable to allow a variable expensing rate for land, but I don't think it would be particularly useful as a feature. And if implemented, such an option should come with an information blurb on the current-law treatment of land investment.

MattHJensen commented 7 years ago

I think it's not unreasonable to allow a variable expensing rate for land,

Agreed. What about adding land to the current table, and showing the default as "economic" with 0 bonus?

I would recommend that the user be allowed to choose between several options: the current law mix of FIFO and LIFO (using the assumption in B-Tax), only FIFO, only LIFO, or expensing.

That makes sense to me, too. Although I don't think it would be objectionable to allow variable expensing under the bonus header. That way the one-row table would look the exact same as the one above, just with different headers. The concept of bonus in this context really isn't any different.

jdebacker commented 7 years ago

@codykallen and @MattHJensen - thanks for your thoughts! Very helpful. I'll mock up something for the web-app presentation of these and then update B-Tax to incorporate the options.

jdebacker commented 7 years ago

Here's a quick mockup of the deprecation table with the new last line for land:

depr_table

I think ideally we have the buttons for GDS and ADS grayed out and unavailable for this line. So the only choice in the land category would be to apply some expensing rate in the bonus box.

The new table for inventories (to go below the Depreciation table - in the same section, which will be retitled "Depreciation and Expensing") would look like:

inventory_table

Let me know if you all think this makes sense.

Also, my preference is to have one variable for the radio button for inventories that can be one of four possible values (e.g. =0 if historical mix, = 1 if all lifo, =2 if all fifo, =3 if immediate full expensing). But let me know if we need separate boolean variable for each category. I'll make B-Tax work with whatever makes more sense for the front end.

where the four options are radio buttons so that only one can be selected at a time.

codykallen commented 7 years ago

@jdebacker, I agree with your suggestion for Land, particularly for no GDS or ADS options.

On inventory options, I think it should say "Inventory Accounting Method" with the options being "Current Law (XX% LIFO, YY% FIFO)", "LIFO only", "FIFO only", and "Inventory expensing". I agree that it should use radio buttons to avoid the multiple selection issue.

jdebacker commented 7 years ago

@codykallen Thanks for the quick feedback. Updated Inventories table:

inventory_table

codykallen commented 7 years ago

@jdebacker The updated inventories table looks good to me.

jdebacker commented 7 years ago

@GoFroggyRun - can you give me some feedback on this:

Also, my preference is to have one variable for the radio button for inventories that can be one of four possible values (e.g. =0 if historical mix, = 1 if all lifo, =2 if all fifo, =3 if immediate full expensing). But let me know if we need separate boolean variable for each category. I'll make B-Tax work with whatever makes more sense for the front end.

I don't have a good sense of how the front end handles data from radio buttons. But I feel like how I handle this is B-Tax should be consistent with how it's handled there. Let me know.

GoFroggyRun commented 7 years ago

@jdebacker said:

But I feel like how I handle this in B-Tax should be consistenceith how it’s handled there.

That’s right. Radio button is a concise and less confusing way to represent different scenarios. The way we can handle this enchancement shouldn’t be any different from what we already have in B-Tax.

jdebacker commented 7 years ago

@GoFroggyRun - sorry, I may note have been clear enough. If we have a set of radio buttons with 4 options, what will be returned from that set of buttons? An integer object? Something else?

GoFroggyRun commented 7 years ago

@jdebacker: Sure. The radio buttons can definitely return integers like 0, 1, 2 or 3, based on user’s selection.

jdebacker commented 7 years ago

Thanks @GoFroggyRun. B-Tax PR #175 allows for the variable rate of expensing on land (0 to 100 percent) and for the 4 choices of inventory accounting method (where the left most radio button in the table above =0 and the right most button =3).