Giter Site home page Giter Site logo

Discussion: Should the Existing Contribution Matcher actually overwrite the `receive_date` of an existing contribution? about org.project60.banking HOT 6 OPEN

MarcMichalsky avatar MarcMichalsky commented on August 11, 2024
Discussion: Should the Existing Contribution Matcher actually overwrite the `receive_date` of an existing contribution?

from org.project60.banking.

Comments (6)

MarcMichalsky avatar MarcMichalsky commented on August 11, 2024 1

Serializing CiviBanking transactions was necessary because there are not many distinct fields and there might be a lot of custom data per transaction.

I understand that, but perhaps APIv4 support would still be useful?

You should not rely on bank transactions for fundraising statistics anyway.

The transaction date is not of interest for our fundraising but for accounting purposes.

Would you be able to give my suggestion a try implementing?

Of course! I would suggest implementing it as a field in the configuration of the Existing Contribution Matcher. How about preserve_receive_date?

from org.project60.banking.

MarcMichalsky avatar MarcMichalsky commented on August 11, 2024 1

Keep in mind this matcher can be configured to be in cancellation mode as well.

Yes, but I think it's fine to use the booking_date as the cancel_date in cancellation mode, as it shouldn't overwrite any existing information.

from org.project60.banking.

jensschuppe avatar jensschuppe commented on August 11, 2024

I'd suggest making it optionally configurable to not overwrite the date for keeping backwards compatibility. In general, the receive_date semantically represents the "physical" booking date, as the money is not in your account until the actual transfer is completed, so the date which is being overwritten in your case seems to be more of an announcement date …?

from org.project60.banking.

MarcMichalsky avatar MarcMichalsky commented on August 11, 2024

Well, it is the date on which the donation is made. From a fundraising perspective, this information is more valuable. The actual booking date is important for our accounting department to reconcile with the bank accounts. However, this date is already available in the transaction.

Unfortunately, it is a pity that the transactions are stored in serialized form in the database and cannot be retrieved via APIv4, as otherwise it would be easy to create SearchKits that could display the donations combined with the data of the assigned transaction(s).

from org.project60.banking.

jensschuppe avatar jensschuppe commented on August 11, 2024

Serializing CiviBanking transactions was necessary because there are not many distinct fields and there might be a lot of custom data per transaction. You should not rely on bank transactions for fundraising statistics anyway.

Would you be able to give my suggestion a try implementing? I guess that's what @bjendres would have been suggested as well. Your workaround with value_propagation also sounds practicable.

from org.project60.banking.

bjendres avatar bjendres commented on August 11, 2024

Sounds good, I think both interpretations make sense, depending on the setup. Therefore an additional configuration parameter for that matcher seems the right way forward. Keep in mind this matcher can be configured to be in cancellation mode as well.

However, the priority should always be not to break existing setups.

from org.project60.banking.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.