Acq: Another improvement to account-matching incoming EDI messages

Bug #1239862 reported by Lebbeous Fogle-Weekley
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
Evergreen
Fix Released
Medium
Unassigned
2.3
Fix Released
Undecided
Unassigned
2.4
Fix Released
Undecided
Unassigned

Bug Description

A bugfix for Evergreen 2.3+

From the commit message:

    The way the EDI fetcher works gives us a problem. That process iterates
    over EDI accounts for which it has FTP host and credential information,
    downloads documents from each of those sites, and files the messages
    within those documents under the EDI account from which the login
    credentials came. The problem is that in practice the exact same host
    and login information is used by multiple accounts under the same
    vendor, and files relating to these sub-accounts are commingled, so that
    you can't make the decision about which messages should be filed under
    which accounts based on the name of the document or its location. You
    have to make that decision later, based on its contents.

    We are already incompletely doing this, distinguishing between
    sub-accounts under which we could file our messages when the vendor
    specifies the buyer's SAN next to the specific sub-account number *and*
    those sub-accounts belong to different Evergreen org units. We still
    need ways to distinguish in other cases.

    This will do what is natural for at least one vendor, and match the
    message content against the vendacct field of the acq.edi_account table.

In a nutshell, this fixes a problem when you place a PO via EDI to a certain vendor for which you have multiple EDI Accounts belonging to the same OU, and the vendor's Order Response and Invoice both get associated with another (wrong) account when they come in.

Not adding a pullrequest tag yet because I haven't fully tested it myself yet, and because I'll likely need to put together some instructions and data for others to test with.

http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/collab/senator/acq_edi_account_mismatch_same_ou

Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

I have pushed a second commit to this branch in order to fix a bug that was neutering the first commit in the case of ORDRSP messages (though not INVOIC ones).

Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

I have pushed a third commit that makes the equivalent correction to the provider and shipper columns of the invoice under construction when the underlying edi_message has its account column corrected.

Revision history for this message
Lebbeous Fogle-Weekley (lebbeous) wrote :

With the help of a site that was in a position to test these changes with real live vendors, I feel this code is now ready for the pullrequest tag and the usual second sign-off from someone else.

I have force-pushed a squashed, single-commit version, rebased to current master, to the same location mentioned in the initial description on this bug report.

tags: added: pullrequest
Changed in evergreen:
milestone: none → 2.5.0
Dan Wells (dbw2)
Changed in evergreen:
milestone: 2.5.0 → 2.5.1
Ben Shum (bshum)
Changed in evergreen:
assignee: nobody → Ben Shum (bshum)
status: New → Confirmed
importance: Undecided → Medium
Revision history for this message
Kathy Lussier (klussier) wrote :

NOBLE has this code in their production environment and reports that it is working well for them. Sign off at http://git.evergreen-ils.org/?p=working/Evergreen.git;a=shortlog;h=refs/heads/user/kmlussier/acq_edi_account_mismatch_same_ou

Revision history for this message
Ben Shum (bshum) wrote :

Picked to master (with one tiny adjustment, I added Kathy's signoff line which is missing from her branch above), then backported to rel_2_5, rel_2_4, and rel_2_3.

Thanks everyone!

Changed in evergreen:
assignee: Ben Shum (bshum) → nobody
status: Confirmed → Fix Committed
Ben Shum (bshum)
Changed in evergreen:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.