Skip to content

Question : adding budget functionalities #169

Closed

Description

@svalaeys

Hello,

Let me start by saying how great I find the entire MIS builder package.

I was hoping you could take a minute of your time and help me structure my train of thoughts by sharing the limits of what you intended mis_builder_budget to be.

On my side, I am confronted by clients asking me to develop functionalities like:

  • Having the capacity to assign an owner to a budget position
  • Having an integrated way to record how a budget position was established (like a chatter)
  • Having the ability for a supervisor to approve or reject a proposition
  • Having the capacity for a purchase order or an invoice to validate the budget availability
  • Etc...

In short, having functionalities that distance themselves from a purely reporting purpose. However, it seems to me that mis_builder_budget is exclusively thought of as a reporting tool. Am I right when I write that?

As I see it, I have two solutions:

  • I can inherit from the relevant mis_builder_budget objects and add these functionalities. For example, a lot of the things I described earlier could be achieved by putting mis_budget_item through a steroids diet and make it into this great big thing.
  • I can build separate objects, and from those objects, link to the correct mis_builder_object instance, like the right mis_budget_item, and have a nice separation of functionality, at the cost of having to think about how to make this setup seamless from the user's perspective.

My personal opinion is to go towards the second solution, and if you would confirm this is what you would do as well, that would put any doubts I have to rest.

Thanks a bunch,

Stephane

Activity

  1. sbidoul commented on Mar 25, 2019

    @sbidoul
    Member

    Hi,

    The topic of preparing a budget is potentially a vast one, where many different workflows can take place.

    That said, some basic features can land in the core (like improving what the state field means by properly locking non draft budgets, or adding a chatter/tracker to budget items).

    For complex budget preparation workflows the idea of creating separate objects or modules sounds better. This could go as far as doing double entry budget accounting.

    If you want to contribute, I suggest you create issues for each feature you want to add, so we can decide if it goes into the core module or into an addon.

  2. sbidoul commented on Mar 25, 2019

    @sbidoul
    Member

    Having the capacity for a purchase order or an invoice to validate the budget availability

    This specific question is the topic of #110. I'll elaborate a bit there.

  3. sbidoul commented on Mar 25, 2019

    @sbidoul
    Member

    BTW #16 is about improving constraints based on budget states.

  4. svalaeys commented on Mar 25, 2019

    @svalaeys
    Author

    Thanks for the two references. Right now I have a perfect case to link an object X with an MIS budget item, so I am starting with this. Object X is responsible for identifying who has authority to commit the funds of a particular budget item, how many validations steps are necessary depending on the value of the commitment, who can go over budget and by how much. This ought to teach me how all the pieces fit together, and then I can move to these two other items.

    Thanks for your advice today. I appreciate it.

  5. github-actions commented on Jan 16, 2022

    @github-actions

    There hasn't been any activity on this issue in the past 6 months, so it has been marked as stale and it will be closed automatically if no further activity occurs in the next 30 days.
    If you want this issue to never become stale, please ask a PSC member to apply the "no stale" label.

  6. added
    stalePR/Issue without recent activity, it'll be soon closed automatically.
    on Jan 16, 2022
  7. locked and limited conversation to collaborators on Mar 17, 2023
  8. converted this issue into a discussion #520 on Mar 17, 2023
  9. removed
    stalePR/Issue without recent activity, it'll be soon closed automatically.
    on Mar 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions