Follow

U3Exchange v5 Release Notes

5.0

5.0.0

  • Integra integration added.
  • Quorum integration added.
  • Integra: add ability to specify custom CC number function when syncing CC master data
  • Integra: fix for outputting invoice batches of specific size
  • Dev: add a separate management command for downloading source data so it doesn’t have to be bundled with any other sync jobs
  • Dev: remove unneeded warning messages about optional field output
  • Dev: change to new-style management command for invoice payment processor
  • Dev: updates for unit tests
  • Dev: add returnEmptyString, returnNone, returnZero for use in setting up default custom functions
  • Dev: naming convention changes
  • Dev: output orderedDict when calling the asDict() of an OutputObject
  • Dev: change approvedInvoiceProcessor to require all destinations to handle invoice batches instead of just individually.
  • Dev: output orderedDict when calling the asDict() of an OutputObject
  • Dev: enforce approved and unapproved as only possible choices when calling get_specific_invoice
  • Dev: adding dbfreader to requirements.txt. Used for reading Integra’s FoxPro Free Tables
  • Dev: add safe address check to wells fargo check processor. New structure for data_access. Add support for FoxPro db
  • OpenInvoice: add gt comparison operator to AdpInvoice to determine which version of an invoice is the most recent
  • Dev: rename deleteFile. Add doGet, listFiles, isWritable, isReadable, downloadFiles to FTPServerConnector
  • Dev: add missing names and expire_date attributes to Company object. Add _getFileName and _getNextFileName functions to BatchFile,..stub-out stageFile function

5.0.1

  • OpenInvoice: fix for specifying buyer company ID from approver site when no site ID is specified
  • Integra: ensure custom CC number function is applied during AFE sync process.

5.1

5.1.0

  • Dev: increase field length for invoice attachments to accommodate invoices with many attachments
  • Integra: add option to send notification when invoice processor completes successfully
  • Integra: fix invoice pay cancel processor (does nothing)
  • Integra: fix for payment file cleanup routine
  • PO Integration: fix for PO daily report to work when no POs have ever been exported
  • Verian: fix for mapping BillTo and ShipTo locations in PO integration with OpenInvoice
  • OpenInvoice: fix for linking GL accounts to CCs when exception accounts are specified by major account only
  • Dev: update to test_single to work for different PO export types
  • Integra: update to CC sync export query to include GnA CCs
  • Quorum: stub out master data sync functions so test jobs can run successfully
  • Dev: update to the getCustomFunction() so it will always return the default_function when being run in test mode

5.1.1

  • 3rd-Party Payments: add file cleanup in working directory when a pre-processor function throws an error trying to process a file
  • 3rd-Party Payments: add mapping for “Drip Condensate” to BoloRevenueCheck class.
  • Dev: add missing doPost() function to SMTPServerConnector class.
  • Verian: fix error in PO daily report when no POs have ever been processed.
  • Dev: fix incorrect name in requirements.txt for dbfread
  • Dev: fix for Integra and Quorum tests when neither ERP is in use at a client.

5.1.2

  • OpenInvoice: fix for AFE location issue that was introduced in commit 079a1807 (9/11/18)

5.1.3

  • OpenInvoice: When invoice attachments are not downloaded, add ability to store url to invoice in OI as the image reference in Bolo
  • Bolo: fix for approved invoice processor introduced in version 5.0.

5.1.4

  • Dev: add known responses to TaskMonitor job
  • Dev: add documentation to helper.py script which prints when activated
  • Dev: update master_config.py to fix problem when_required tests.
  • Dev: code cleanup and PEP 8 fixes
  • OpenInvoice: update how buyer company can be set from the approver action.
  • Dev: begin removal of assertion statements and replacement with tests that can’t be skipped because of compiling with optimization
  • Dev: addition of column_order to Field class for explicitly setting output order in CSV files
  • Quorum: fix for invoice_monitor job.
  • Quorum: fix UOM mapping in invoices.
  • Quorum: Add CC and AFE synchronization, Invoice integration, invoice payment integration.
  • Dev: updates to unit tests.
  • Dev: fix for test_single - works for Bolo integrations again.
  • Dev: refactoring of several common functions into utils.py

5.2

5.2.0

  • Dev: increase field length for JIB Decks in AFEs
  • Dev: add new key for task monitor status
  • Quorum: add ability to link JIB Decks to AFEs and CCs when syncing and creating invoices
  • OpenInvoice: add better error handling for dealing with empty http responses.
  • OpenInvoice: fix for optionally stripping the bolo bank account value from checks.
  • EnergyLink: add compression to the zip file when uploading to EnergyLink
  • Verian: allow Verian service to work as an SMTPConnector

5.2.1

  • OpenInvoice: enhance logging when invoice image issues occur
  • OpenInvoice: ensure all image and snapshot downloads use HTTPS instead of HTTP
  • Integra: create separate import files for each buyer company in a batch of invoices
  • JPMC: update check processing rules to not require valid address if the check is being voided.
  • Dev: allow get_all_invoices process to be run using a date range or a file of invoices ids.
  • Quorum: add ability to track DOI (JIB Decks) in invoice coding
  • Verian: add SMTPServerConnector option, as well as change to output file name per destination.

5.2.2

  • Dev: add strip_name_type argument to ServerInfo.duplicate() function to avoid possible issues with the get_server() function
  • Quorum: add ability to connect to a Quorum server via SFTP
  • Dev: cleanup of unneeded code.
  • Quorum: when generating batch files, use a full timestamp in the filename instead of just datestamp.
  • Integra: when generating batch files, use a full timestamp in the filename instead of just datestamp.
  • Dev: fix the fix_missing_invoices process to use AT_ID for locating invoices that need to be re-downloaded.

5.2.3

  • OpenInvoice: add ignorable warning message when processing AFEs with multiple default locations.

5.2.4

  • Quorum: strip newline characters from invoice description when outputting CSV files
  • Quorum: fix for get_source_data so it won’t drop the invoice_payment table. Optimize using bulk inserts.

5.2.5

  • Dev: Add ability to optionally leave SMB connections open.

5.2.6

  • Quorum: explicitly connect to source server prior to attempting invoice payment file download.

5.3

5.3.0

  • OpenInvoice: [bug-fix] fix for properly setting approver from Approval action, and not from Amend action.
  • OpenInvoice: [enhancement] add ability to set buyer company from either the approver site, or from the site where the last export action occurred.
  • Quorum: [enhancement] use Postgres tracking database to store Quorum source data instead of Sqlite3.
  • Quorum: [enhancement] add invoice-pay-cancel handler
  • Quorum: [enhancement] add invoice payment type indicator (Check, ACH, Wire, etc.) to OpenInvoice pay status update messages.
  • Dev: [enhancement] add ability to use an in-memory Sqlite3 database for testing purposes.
  • Quorum: [enhancement] add option to print header row when writing Invoice csv file.
  • OpenInvoice: [bug-fix] fix for determining which JIB decks have been added or removed from an AFE/CC when syncing.
  • Dev: [enhancement] refactor upgrade management command, adding options and new upgrade for Quorum invoice payments

5.3.1

  • Dev: [enhancement] odbc_info now automatically appends “verbose” or “very_verbose” to the output file name.
  • Dev: [enhancement] added better error messages for missing pg_dump executable
  • Dev: [enhancement] increase test coverage
  • Dev: [enhancement] add back in support for including adp_id in fix_missing_invoices.
  • OpenInvoice: [bug-fix] add back in the ability to override a project code for invoices that have no AFE assigned - missing since version 3
  • OpenInvoice: [enhancement] add HTTP GET retry for connections that fail due to a socket.timeout()
  • Dev: [enhancement] speed up CC sync processor using bulk inserts

5.3.2

  • Bolo: [bug-fix] fix logic in invoice payment status related to displaying full check amount or invoice only payment amounts.
  • Dev: [enhancement] helper.py: clean up unneeded code. Reformat the information section that prints when imported.
  • Bolo: [bug-fix] only export cost centers that have a valid company in the export companies set. Fixes a problem where wells would be exported regardless of which company they were assigned to.
  • Dev: [enhancement] update the User-Agent value sent in all HTTP requests to include the support@unit3tech.com contact address.

5.3.3

  • Dev: [enhancement] add start and end time to run_monitor.
  • Integra: [bug-fix] fix for syncing AFEs that reference multiple cost-centers.
  • Dev: [enhancement] include “STALLED INVOICES” in the subject line for daily report emails that contain stalls.
  • Quorum: [bug-fix] fix for reading payment type field from Quorum payment status file.

5.4

5.4.0

  • Python 3.6.8 minimum required
  • Engage: [enhancement] add API integration for Engage Mobilize locations
  • Bolo: [enhancement] add voucher tracking process to allow U3Exchange to know if a previously accepted invoice was subsequently deleted from Bolo.
  • Data Warehouse: [enhancement] add standard schema for a data warehouse for OpenInvoice invoices
  • OpenInvoice: [enhancement] change text to “payment void” from “check void”.
  • Bolo: [enhancement] move logic for determining total when discounts are applied to the from_invoice() method instead of the write() method.
  • Dev: [enhancement] allow for ODBC connections without explicitly specifying username/password.
  • Dev: [enhancement] documentation updates
  • Dev: [enhancement] add TODOs to bare_config.py to point out items that need to be customized for client.
  • OpenInvoice: [enhancement] update missing_invoice_report so it only lists the most recent failure message for an invoice.
  • FIS: [enhancement] addition of standard payment file processor for FIS Integrated Payables
  • Dev: [enhancement] created a standard Payee class and moved logic out of bolo_check.
  • Verian: [enhancement] addition of poLineCustomizer() custom function.

5.4.1

  • OpenInvoice: [bug-fix] fix tests for when clients are configured to access the OI UAT environment.
  • OpenInvoice: [enhancement] update invoice parser to work regardless of invoice status.
  • Bolo: [enhancement] add error handling for ACH processor when it tries to read a non-text file.
  • Bolo: [enhancement] refactor bolo_revenue_check for increased performance on large files.
  • JPMC: [enhancement] refactor jpmc_revenue_check for increased performance on large files.
  • Data Warehouse: [bug-fix] add missing write_ordered_file function.
  • Data Warehouse: [enhancement] add ability to specify database schema name when defining connection
  • Data Warehouse: [enhancement] update get_all_invoices to use the data_warehouse classes.
  • Quorum: [bug-fix] add missing moveFile and _isFile functions to SFTPServerConnector to fix error in archiving files.
  • Quorum: [enhancement] addition of revenue payment processor
  • Dev: [enhancement] added tools/dev_requirements.txt for use by developers when setting up their systems
  • Bolo: [bug-fix] for clients whose MICR numbers are different from their control numbers, fix the number that gets uploaded to OpenInvoice during the payment status update.
  • Engage/Verian: [enhancement] addition of generic location processor that will work with both services
  • Verian: [enhancement] allow the daily PO report to function without the need to look up vendor names from the GL system.

5.4.2

  • OpenInvoice: [enhancement] add asynchronous file download for invoices and attachments
  • Bolo: [enhancement] add ability to import customized revenue check files (modified TR2350 output)
  • Data Warehouse: [bug-fix] fix to properly import ADE data. Fixes for base schema problems cause by fields being too small.

5.4.3

  • Quorum: [enhancement] add revenue file processor to 3rd-Party Payments module
  • Data Warehouse: [enhancement] allow specification of start_date and/or end_date

5.4.4

  • Dev: [enhancement] add achpayment to the test_single tool
  • Dev: [bug-fix] add missing call to super() when calling setUpClass and tearDownClass in all tests. Fixes issue where some tests can cause test data to be available in the test database during subsequent tests.
  • 3rd-Party Payments: [enhancement] refactor the NACHA ACH file object to its own module where both Bolo and JPMC can utilize it
  • Quorum: [bug-fix] add isVoucherDeleted() function to QuorumDBWrapper so voucher_monitor can be run without errors in Quorum environments
  • Dev: [enhancement] allow for bolo-staging-file tests to pass when no image staging server is defined and client is not downloading attachments
  • JPMC: [enhancement] allow JpmcAchPaymentBatch to use NachaAchExportFile for reading/writing the object data. Allows for customization of output by client CustomBank functions.
  • OpenInvoice: [enhancement] add support for HMAC authentication.
  • OpenInvoice: [enhancement] add better error handling for dealing with invalid response files from OpenInvoice.
  • 3rd-Party Payments: [enhancement] add ability to process a Bolo TR2350 file where Bolo is both the source and destination (useful in pre-process situations)
  • OpenInvoice: [enhancement] add ability to specify custom function for returning list of exclusion companies for CCs.
  • Quorum: [enhancement] add email notification to revenue payment processor.
  • Quorum: [bug-fix] allow invoice payment data to be copied from source regardless of whether PayType exists in the source data or not.
  • Data Warehouse: [enhancement] add diff tracking to invoice import process
  • Bolo: [bug-fix] fix for clients who have supplemental code pairs set up on OpenInvoice and are using a character other than * to delimit them
  • Data Warehouse: [enhancement] add invoice_id and last_updated unique index to SupplierConnectInvoice table and restrict imports so only one copy of an invoice file will be imported
  • OpenInvoice: [enhancement] add option to take EarlyPay penalty on credit lines.
  • Data Warehouse: [bug fix] apply local timezone to last-action-date before querying OI for changes.

5.4.5

  • Bolo: [enhancement] allow the getVoucherForInvoice() function to run even if the client is on an older version of Bolo with no VOUCHER field available.
  • Dev: [enhancement] add separate management command for just backing up the tracking database (with no other maintenance tasks)

5.5

5.5.0

  • OpenInvoice: [enhancement] enable use of invoice.payment.release via API (for clients using the OpenInvoice Payments Module)
  • Dev: [enhancement] performance improvements
  • Bolo: [bug-fix] for clients using aggregate coding, if code-item contains a qty1 or qty2 value, increment the qty values as well as the total
  • Dev: [enhancement] add function to convert TR2350 into BBVA Owner template worksheet in test_single.py
  • Quorum: [bug-fix] convert commas to semi-colons in Quorum invoice output for line-item descriptions since the Quorum import process does not properly handle commas when they are contained in the output (even when they’re surrounded in quotes)
  • OpenInvoice: [bug-fix] increase length of attachment field in u3exchange_invoice to handle OpenTicket invoice with hundreds of invoice attachments.
  • Dev: [enhancement] documentation updates
  • Verian: [bug-fix] fix for properly tracking deactivated locations in master data sync
  • FIS: [enhancement] add revenue file processor for FIS Integrated Payables
  • Data Warehouse: [bug-fix] increase LineItem LongDescription field length to 2000 characters to match OpenInvoice XML schema
  • Dev: [enhancement] add ability to test any object defined by a FileInfo instance using the FileTypeProcessor in test_single.
  • Dev: [enhancement] add script for auto-loading a year’s worth of invoices one day at a time to avoid issues with 10000 record limit for Datawarehouse import.
  • Data Warehouse: [bug-fix] fix for saveFile function (used by clients who are not loading data into the data warehouse schema)
  • JPMC: [enhancement] add ability to generate multiple revenue payment document types for a given payment (A1 & A2)
  • Dev: [enhancement] increase test coverage.
  • OpenInvoice: [enhancement] add ability to specify a custom function as a parameter to the custom field mappings for INVOICE_IMPORT
  • OpenInvoice: [bug-fix] fix host name used in error message hyperlink.
  • Quorum: [enhancement] add aggregate coding option for Quorum invoice processing.
  • Bolo: [enhancement] allow GL accounts to be filtered by AFE Type and AFE Category (not just AFE Type)
  • OpenInvoice: [bug-fix] fix for handling HMAC authentication when posting multiple documents.
  • Data Warehouse: [bug-fix] catch non-numeric line-item numbers in document cross reference table import

5.5.1

  • OpenInvoice: [enhancement] add ability to sync Reference Detail from a source system to OI
  • Maximo: [enhancement] add PO integration between Maximo and OpenInvoice
  • OpenInvoice: [enhancement] For clients who link gl accounts to AFEs automatically, filter gl accounts for AFEs by type + category, instead of just type
  • EnergyLink: [enhancement] archive EnergyLink output files after successful upload.
  • EngageMobilize: [enhancement] add route information to location sync when available.
  • Quorum: [enhancement] add Vendor synchronization for Quorum integrations
  • OpenInvoice: [enhancement] allow vendor ID to be set by an optional custom function
  • OpenInvoice: [enhancement] add PurchasingAgent, ManufacturerIdentifier, and PaymentTerms to PO sync
  • Invoice: [bug-fix] add logic to only clean up staged image attachments for clients who are downloading attachments.
  • DataWarehouse: [bug-fix] fix syntax error that would occur when a second copy of the same invoice was being downloaded for clients whose DB schema name was a custom value
  • Dev: [enhancement] remove unnecessary debug message.
  • JPMC: [enhancement] add alpha support for CGI-MP and Pay Connect file formats
  • DataWarehouse: [bug-fix] add code to remove downloaded files and generated attachment zips from invoice_queue directory when finished

5.6

5.6.0

  • Quorum: [enhancement] add vendor synchronization with OpenInvoice
  • Quorum: [bug-fix] fix ability to specify a custom invoice number formatting function

5.6.1

  • Dev: [enhancement] add every_x_seconds scripts to project
  • Dev: [enhancement] add JIBLINK and TR2350 test file anonymizer
  • Dev: [enhancement] get test_single to work for Maximo POs
  • Quorum: [enhancement] add better error handling for bulk insert errors in vendor sync
  • JPMC: [enhancement] add ISO XML payment file support (beta)

5.7

5.7.0

  • Dev: [enhancement] replace eval with ast.literal_eval and make use of parameterized queries where appropriate in tools scripts
  • Dev: [enhancement] reformat SQL strings to make it easier to copy/paste directly from the console output for testing.
  • Dev: [enhancement] refactoring
  • Quorum: [bug-fix] fix for setting buyer override company in invoices import process
  • Dev: [enhancement] remove calls to logger.warn and using Universal newline in open() (both are deprecated)
  • Dev: [enhancement] change path variables to support changes in directory structure of project
  • Dev: [enhancement] add support for pytest framework
  • Dev: [enhancement] move integration_tests out of u3exchange directory so running tests won’t include those by default
  • Dev: [enhancement] added setup.py script so module paths can be set by running pip install -e . on dev systems (note: note to be run on a production system)
  • OpenInvoice: [enhancement] replace “ADP” with “OpenInvoice” in vendor sync notification message.
  • JPMC: [enhancement] refactor DataSyncProcessor so it can run with either JPMC AP Payment service (CKO or CGI-MP)
  • Dev: [enhancement] add explicit on_delete arguments for all ForeignKeys in models.py (to prep for django 2 move)
  • Bolo: [enhancement] add additional product/interest code mappings for revenue checks
  • Quorum: [enhancement] add support for syncing entity-code with AFEs and CCs
  • JPMC: [enhancement] add support for PayConnect file format
  • Dev: [bug-fix] fix integration_tests.test_end_to_end to work properly for MAXIMO PO clients. Remove need for from u3exchange.config import *
  • Dev: [enhancement] added test_require and extras_require options to setup.py
  • OpenInvoice: [bug-fix] fix for syncing reference details
  • Wells Fargo: [bug-fix] removed extra carriage return character from owner sync output file.
  • Quorum: [bug-fix] added handler for AFEs that reference non-existent CCs.
  • JPMC: [enhancement] add support for wire-transfers using JPMC Access Transactions format
  • Quorum: [bug-fix] fix aggregate coding and qty1/qty2 tracking in invoices
  • Bolo: [bug-fix] fix qty1/qty2 tracking in invoice with aggregate coding
  • NACHA: [enhancement] add support for addenda records in NACHA files
  • Dev: [enhancement] create U3Command class for encapsulating often used Django management command setup
  • JPMC: [enhancement] add support for JPMC PaySource (ISO XML) file format
  • OpenInvoice: [bug-fix] put XML elements in proper order for PO XML files
  • Dev: [enhancement] removed reliance on deployments.db SQLite DB file for tools.

5.7.1

  • JPMC: [enhancement] rename CGI-MP to PaySource
  • DataWarehouse: [bug-fix] restrict data to 128 characters for insert in ProductServiceDescription
  • Dev: [enhancement] add quote key-word parameter to restrictLength to enable or disable URL encoding
  • Dev: [bug-fix] allow sendEmail function to succeed when the source file no longer exists in the outbox

5.7.2

  • JPMC: [enhancement] add phone and email validators to PayConnect file formatter
  • Dev: [enhancement] make looksLikeEmail more strict by disallowing spaces in addresses
  • JPMC: [enhancement] beta - add support for SUA Payment Response CSV files
  • Dev: [enhancement] refactor file_transmitters.py into a separate module
  • Dev: [enhancement] add GeneralSmtpNotifier object used for converting files to email notifications
  • JPMC: [enhancement] add support for Pay Connect response CSV files
  • Verian: [bug-fix] fix issue with cleanImports and refreshCurrent caused by changes in 5.7.0
  • Dev: [enhancement] more restrictive logic for validating email addresses in looksLikeEmail() function
  • Dev: [enhancement] apply new U3Command logic to run_file_sync
  • JPMC: [enhancement] add better error handling to JPMC Pay Connect processor
  • Verian: [bug-fix] fix problem with comments being overwritten when approver value was being set
  • Verian: [bug-fix] fix order of Serial number in line-item when posting to OpenInvoice.
  • Dev: [enhancement] add pytest, pytest-django, pandas to requirements.txt

5.7.3

  • Data Warehouse: [enhancement] allow the initial_invoice_load.py script to be run for a given date range
  • JPMC: [enhancement] Add ACH and Wire Transfer support to the ISO XML (PaySource) processor
  • JPMC: [enhancement] add logic to split ISO XML file into multiple files if more than 25K payments are in a single file
  • Data Warehouse: [enhancement] change data structure for storing invoices on file system.
  • JPMC: [enhancement] allow for an email override to be used for all ACH payees when testing Pay Connect
  • 3rd-Party Payments: [enhancement] add ability to specify a check memo in the AP payment query
  • JPMC: [enhancement] add processor for Pay Source response files
  • Dev: [bug-fix] fix for toolslicense.py and toolsmake_config.py to work with Postgres DB
  • JPMC: [enhancement] add payment remittance information to PayConnect ACH output (CTX format)
  • Dev: [enhancement] allow get_specific_invoices job to set an invoice as exported using the set_as_exported flag. Remove requirement for specifying invoice_type when calling the function. “approved” is now assumed. Specify –invoice_type unapproved if you need to export an unapproved invoice.
  • OpenInvoice: [enhancement] add details of AdpInvoiceErrors to the notification emails when an invoice fails to import for being invalidly formatted.
  • Dev: [enhancement] URL encode invoice numbers before using them in a filter query to OI.
  • Dev: [enhancement] add a new script (check_for_missing_data.py) for locating undownloaded invoices from a KE Andrews spreadsheet.
  • Dev: [enhancement] add ability for async_get_all_invoices to run by processing xml files already in the working directory.
  • Dev: [enhancement] add ability for async_get_all_invoices to process invoices from the output of the check_for_missing_data.py script

5.7.4

  • JPMC: [bub-fix] set payee to base-payee(credit-to) value from AP payment query for Pay Connect and Pay Source
  • JPMC: [enhancement] add ability to run the pay connect process for a given payment date
  • JPMC: [enhancement] add ability to cancel a pay connect payment if the payment is voided in Bolo
  • BOLO: [bug-fix] require custom_sql_query for both AFE and CC sync when client wants to include linked GL Accounts
  • JPMC: [enhancement] add summary notification to Pay Connect process
  • OpenInvoice: [bug-fix] add call to nz() when inserting GL account info in tracking DB to avoid issues with NULL descriptions
  • JPMC: [bug-fix] set BillNotificationChannelId to “X” by default so no notification date is required in the statement update record.
  • JPMC: [enhancement] add UpdateStatementInfo parser to pay connect response parser. Also added source file name to summary notification.
  • JPMC: [bug-fix] increase amount of time between multiple file uploads to 60 seconds (was 30). JPMC requirement.

5.7.5

  • Dev: [refactor] refactor run_po_report to use U3Command object
  • OpenInvoice: [enhancement] beta - add support for OpenInvoice Goods Receipt API
  • JPMC: [enhancement] add supplier bank information for use in ISO XML ACH and Wire Transfer payments
  • Dev: [bug-fix] fix type-o in run_report for clients who don’t download invoice attachments, to allow it to run without having to set up a fake image staging location.
  • JPMC: [enhancement] continue work on ISO XML Wire Transfer and ACH processing
  • DataWarehouse: [bug-fix] increase field length to 2000 characters for AggregateCoding.description
  • JPMC: [bug-fix] fix count of records in Pay Connect processor (was off by 1)
  • JPMC: [bug-fix] fix address line printing for multiple street address lines in Pay Sources Check files.
  • JPMC: [enhancement] add number of voids and void total to processor notification
  • JPMC: [bug-fix] add handler for DeleteUserProfile action in JPMC Pay Connect Response.
  • Maximo: [bug-fix] add missing PO Total to daily report.
  • OpenInvoice: [enhancement] add better error handling for HTTPS connection errors when running doPost()
  • OpenInvoice: [enhancement] beta - add support for creating supplier invoices via API
  • JPMC: [enhancement] add parser for BAI report files
  • JPMC: [enhancement] add parser for Pay Source SUA response CSV files
  • Quorum: [enhancement] add processes for NACHA ACH and Positive Pay files.
  • OpenInvoice: [enhancement] add ability to specify a custom invoice description value.
  • OpenInvoice: [bug-fix] fix invoice processor to properly handle invoices that are determined to be invalid by custom business logic

5.8

5.8.0

  • OpenInvoice: [enhancement] add User synchronization
  • JPMC: [enhancement] add Positive Pay file processor
  • Quorum: [enhancement] add Positive Pay file processor
  • OpenInvoice: [enhancement] allow invoice description to be overwritten with a custom function
  • Bolo: [enhancement] positive pay processor will now work for JPMC output file format
  • Bolo: [bug-fix] fixed problem with bolo invoice file including approver in cases where the client has chosen not to do so.
  • JPMC: [bug-fix] fixed syntax error in JPMC Pay Connect process when handling AP payment remittance details
  • Dev: [enhancement] continue work on getClientConfig() function for use in testing on dev system
  • Dev: [enhancement] added file archiving to the GeneralSmtpNotifier service
  • JPMC: [enhancement] add processor for Positive Pay file uploads
  • JPMC: [enhancement] add Pay Source SUA response handler
  • JPMC: [enhancement] add more cleanup routines to do_maintenance()
  • Dev: [refactor] convert run_monitor over to U3Command object
  • Dev: [bug-fix] fix management command tests that were failing due to being run in test mode.
  • JPMC: [bug-fix] fix for Pay Connect response processor when handling “TotalSuccess” response.
  • JPMC: [bug-fix] add MultiStatementStatus value of NEW for all ACH payments.
  • Quorum: [bug-fix] add timestamp to archive file name when archiving PayStatus.csv files.
  • Dev: [enhancement] add ability to specify a generic CustomDatabase as a source system.
  • Dev: [enhancement] add SQLServerDB class as sub-class of OdbcDb
  • JPMC: [enhancement] add logic to Pay Connect ACH process to only include payments if all invoice details have been located.

5.8.1

  • JPMC: [bug-fix] fix name of source_path in JPMC PayConnect Response process. Fix for PayConnect response message contents

5.8.2

  • Dev: [security] remove assert statements in adp module
  • Dev: [enhancement] move getConfig() calls to class-level attributes instead of instance for AdpAFE
  • JPMC: [bug-fix] fix parser for JPMC Pay Source Response files to handle error responses.
  • Dev: [enhancement] change pytest tests to django.test TestCase instances. Increase test coverage.
  • JPMC: [bug-fix] add missing local_instrument_proprietary static value for SUA payments.
  • Dev: [enhancement] updates to cover scripts to deal with PyCharm’s lack of properly dealing with environment variables in a terminal window
  • Dev: [enhancement] increase test coverage
  • JPMC: [bug-fix] add logic to jpmc_pay_connect response file archive to deal with archiving files with names that already exist in the archive

5.8.3

  • OpenInvoice: [enhancement] continue work on ability to post User updates/deletes to OI
  • Dev: [enhancement] add ability to specify a custom_from_object function to call when creating output for a GeneralSmtpNotifier instance
  • JPMC: [enhancement] add processor for JPMC BAI files. Output can be customized with custom functions.
  • Dev: [enhancement] increase test coverage
  • Dev: [enhancement] updates to copyright notice.
  • Data Warehouse: [enhancement] add –force_import option to async_get_all_invoices to allow user to import invoice details that have previously been imported
  • JPMC: [bug-fix] fixed how Credit Notes are output in the ISO XML files.
  • OpenInvoice: [enhancement] add missing_invoice_report to standard deployment
  • OpenInvoice: [enhancement] update the missing invoice report to pull data from both Bolo and OpenInvoice to invoices that have been manually posted or deleted and automatically remove them from the report.
  • OpenInvoice: [enhancement] add ability for clients to customize the output of the missing_invoice_report
  • OpenInvoice: [enhancement] the missing_invoice_report has the ability to update tracked status of an invoice it that invoice has been posted manually in Bolo.
  • Dev: [enhancement] allow impersonate_single to generate output results for all destinations when revenue_check is being tested
  • OpenInvoice: [enhancement] add function to track an invoice coder.
  • Dev: [enhancement] update system requirements documentation
  • OpenInvoice: [enhancement] added option for client to set AFEs and CCs as Decommissioned (Closed) in OpenInvoice, instead of Inactive
  • Bolo: [enhancement] added parser for Bolo positive pay files. Allows these files to be output in different formats if necessary.
  • Dev: [enhancement] added ability to connect to a Unidata DB via JDBC on a linux server
  • Bolo: [enhancement] added ability to specify Revenue Payment Product and Interest types from a custom function if necessary.
  • Bolo: [enhancement] added ability to track lease use details in revenue payment files
  • NACHA: [bug-fix] fix NACHA file parser so write() generates identical output to source file.
  • Dev: [enhancement] add list_custom_functions script to display all the custom functions used in the application
  • Dev: [enhancement] all file transmitters will now explicitly set the write attribute on any file they download. Fixes an issue with source systems generating files with a read-only flag set.
  • Dev: [enhancement] using the getFiles() function allows for processing files with multiple file masks.
  • Dev: [bug-fix] getConfig was not working properly if the first two arguments were strings and the first represented the name of a dictionary. This is now fixed.
  • JPMC: [enhancement] allow the Pay Source ISO XML file to contain payments coming from multiple bank accounts.
  • JPMC: [enhancement] add ability to set unstructured data for wire transfers that require For Further Credit notes
  • JPMC: [enhancement] add parser for Pay Net SUA reconciliation file.
  • 3rd-Party Payments: [enhancement] update subject for Revenue Payment Processor emails.
  • Web Interface: [enhancement] added web form for adding new users to OpenInvoice.

5.8.4

  • OpenInvoice: [enhancement] allow User sync to occur via master_data_sync command
  • Dev: [enhancement] updated documentation for JPMC and Data Warehouse modules
  • Dev: [enhancement] add new compression/decompression process for storing lists in a database column
  • OpenInvoice: [bug-fix] fix problem with missing companyCode value in User sync process.
  • JPMC: [enhancement] add Pay Connect process for Revenue Check/ACH/Wires that mimics the AP Pay Connect process
  • JPMC: [enhancement] add more validation rules to ISO payment files that require split remittance.
  • NACHA: [bug-fix] fix problems with re-writing NACHA files from parsed instance when multiple batches are included in a single file
  • Web Interface: [enhancement] add more fields to the user info section on the add-new-users form
  • OpenInvoice: [bug-fix] get missing invoice report to ignore invoices that are in the DELETED state
  • Dev: [enhancement] add explicit on_delete attributes to all ForeignKey objects in the models and migrations in preparation for upgrading django
  • OpenInvoice: [bug-fix] fix issue with missing_invoice_report where it wasn’t handling invoices with changed vendors correctly. Fix spelling mistake.
  • OpenInvoice: [bug-fix] fix setting email address from User.xml files.
  • Bolo: [enhancement] add option to not sync invoice payment information if MICR number has not yet been set.
  • Bolo: [enhancement] add option to not send 3rd-party payment information if MICR number has not yet been set.
  • Data Warehouse: [enhancement] add more robust error handling to deal with invalid response files from OpenInvoice.
  • JPMC: [enhancement] allow Pay Source to work from multiple organizations IDs/Bank Accounts in a single file.
  • Bolo: [enhancement] modify default CC export query to use more common DFLT_CO_FLAG field name
  • Dev: [enhancement] modify default pg_dump_path value to point at V4 instead of V3.
  • MFiles: [enhancement] add ability to upload invoice meta-data and invoice attachments to MFiles at invoice post time.
  • Dev: [enhancement] allow run_invoice_post_processor to be called with a FileInfo instance (or without using default config)
  • Dev: [enhancement] move invoice_post controller to run_invoice_post_processor management command.
  • Dev: [bug-fix] fix email sending when a single line of text exceeds 16382 characters.
  • Dev: [enhancement] create getQueryResult(s) functions in utils so they can be used by DB connections other than just Bolo - useful for mocking results in tests.
  • JPMC: [enhancement] add option for summary/legend to not be split across two pages on revenue CKO Direct Send file format.
  • Dev: [enhancement] increase test coverage

5.8.5

  • MFiles: [bug-fix] fix file copy and connection issue when posting files to MFiles
  • Dev: [enhancement] add new method for mounting Samba shares from an Ubuntu server
  • Dev: [enhancement] documentation updates
  • Dev: [enhancement] added new tool for reading JPMC CKO Check print files for troubleshooting.
  • Dev: [enhancement] add AFE and CC item limits to use when testing SQL statements on source systems.
  • Dev: [enhancement] refactor get_server() to speed up function.
  • 3rd Party Payments: [enhancement] TESTING - modification to the Revenue Payment processor to use a buffered file read/write process. Significantly speeds up processing of large revenue payment files and uses ~ 100MB of RAM total.
  • Dev: [enhancement] update requirements.txt to pull latest version of django 1.8.19. Added a separate linux_requirements.txt file for deploying on a linux system.
  • Dev: [enhancement] remove calls to assert in bolo code
  • 3rd Party Payments: [enhancement] added a separate logger for tracking payments that get skipped from a Bolo revenue payment file.
  • Quorum: [enhancement] allow clients to use a custom CC or AFE export query for syncing with OpenInvoice
  • Dev: [bug-fix] get odbc_info script working for JDBC connected Bolo clients.
  • Dev: [enhancement] allow the get_specific_invoice() function to be called with a working directory and get_attachments and get_snapshots parameters
  • JPMC: [bug-fix] remove split-remittance requirement for Wire Transfer payments made through Pay Source.
  • Dev: [enhancement] update to the way impersonate_single.py generates a new config file. Allows for inclusion of values from the original config in the temporary version of the client config. Also, the process will always disable invoice filtering so an invoice can always be processed. Add test for buffered_revenue_check.
  • JPMC: [enhancement] add an option for clients to not send UserDelete records when syncing payees with JPMC via Pay Connect.
  • Maximo: [enhancement] add support for split-coded line items coming from PO csv files.
  • Dev: [enhancement] TESTING - modifications to buffered revenue file testing processes so they can be run using impersonate_single.py
  • Bolo: [enhancement] add log message to invoices that get set to DELETED by the missing-invoice-report
  • OpenInvoice: [bug-fix] add ability to read FieldLease from a CC xml file staged for processing.
  • OpenInvoice: [bug-fix] fix issue with setting buyer company from approver or export company.
  • OpenInvoice: [bug-fix] fix for rolling up warning messages for CC and AFE sync.
  • Bolo: [enhancement] allow for aggregate coding to be rolled up if supplemental coding is the only thing not matching. Client will need a custom function to handle combining the disparate supplemental codes.
  • Bolo: [enhancement] allow for client to define custom logic to determine when an invoice gets sent to the Hold queue.
  • Bolo: [enhancement] add validation function to bolo_revenue_check to ensure before and after customizations add up correctly. This logic only gets used in impersonate_single.py.
  • Dev: [enhancement] added helper_gui command to allow troubleshooting from a GUI instead of the python REPL
  • Data warehouse: [enhancement] allow invoices and images to be stored on a remote file share.
  • OpenInvoice: [enhancement] add an –upload_only option to the master data sync processes to allow for only processing file uploads for items already in the processing queue. No new data will be imported and no deltas produced.
  • JPMC: [enhancement] added option to not send Pay Source files for credits or $0 payments.
  • JPMC: [bug-fix] fix problem with address validation logic not catching missing street address.
  • Data Warehouse: [enhancement] automatically create last_version directory if it doesn’t yet exist
  • Bolo: [enhancement] refactor the BoloInvoice.from_file() function
  • Invoice Module: [enhancement] all the hold queue to be specified on a remote server
  • Dev: [enhancement] add new tests for bolo_processors
  • Invoice Module: [enhancement] addition of run_held_invoice_processor for automatically processing the hold queue for released and rejected invoices.
  • Dev: [enhancement] new custom U3ConfigError exception
  • Data Warehouse: [bug-fix] allow Quorum invoices to be properly recorded to the data warehouse DB.
  • Invoice Module: [enhancement] remove redundant code segments from run_invoice_payment_processor
  • JPMC: [bug-fix] JPMC does not honor the page-number on their check print documents. Added blank lines when a client doesn’t want the summary/legend to print unless there’s enough room on the current page.
  • Data Warehouse: [enancement] add certificate validation to async_get_all_invoices
  • JPMC: [bug-fix] fix for outputting bank account information for Wire payments

5.8.6

  • Maximo: [bug-fix] add additional Approved status of SNTVNDR

5.8.7

  • Dev: [enhancement] allow a client’s custom_settings.py file for Django to be deployed when running deploy.py

5.8.8

  • Dev: [enhancement] set the default Reply-To header for all system-generated email to support@unit3tech.com
  • JPMC: [bug-fix] Fix payment batch handling in PaySource ISO output file processor to properly separate batches by company and bank account as well as payment type and date.

5.8.9

  • Dev: [enhancement] refactor sendEmail() to separate out the outbox processor. Add new management command for processing the outbox separately (run_outbox_processor)
  • Bolo: [enhancement] add ability to apply a custom data enhancement function to the NACHA (TR2320) file processor.
  • Bolo: [enhancement] add bank information to the BoloCompany object.
  • JPMC: [enhancement] add ability to generate an ISO XML prenote from a Bolo NACHA prenote export.
  • Bolo: [bug-fix] fix for properly identifying single-line positive pay files.
  • Dev: [enhancement] add a message category of SUCCESS or PROBLEM to the Message() object to help identify which messages are which.
  • JPMC: [bug-fix] fix count of payments that fail to process when there are no successfully processed payments in the TrackedPaymentProcessor()
  • JPMC: [bug-fix] fix for not requiring remittance email addresses for clients sending Revenue ACH via ISO Pay Source process.
  • JPMC: [bug-fix] create separate ISO payment batches based on payment sub-type.
  • Dev: [enhancement] continue work on buffered revenue file processor - beta.
  • Dev: [enhancement] switch to Django 1.8+ TEMPLATES config format for setting DEBUG_TRACE - get’s rid of warning when running in Django 1.8.18
  • 3rd-Party Payments: [enhancement] for revenue payments, fix logic that wouldn’t allow a secondary destination to be processed if the bank destination was being explicitly skipped.
  • JPMC: [bug-fix] fix for handling blank error messages in JPMC pay source response files.
  • Dev: [enhancement] replace client’s pgp path with path from dev system when creating copy of clients config file for testing in impersonate_single.py. Update to ACH tester to work with prenote files in ISO XML format. Add testing for buffered revenue file testing.
  • Data Warehouse: [enhancement] add ability to mark an invoice as having been deleted from OpenInvoice in the data warehouse DB.
  • JPMC: [enhancement] include bank account type when sending wire/ACH payments via Pay Source
  • Invoice: [bug-fix] fix issue with passing multiple invoice files to hold queue
  • Bolo: [enhancement] allow AFEs to have GL profiles referencing an AFE type but no category.
  • 3rd-Party Payments: [enhancement] modify logic so that reversing a voided payment does not result in the payment being sent to the bank.
  • EnergyLink: [enhancement] add processor for handling buffered files.
  • PDS: [enhancement] add processor for handling buffered files.
  • JPMC: [enhancement] add processor for handling buffered files for revenue CKO Direct Send format.

5.8.10

  • Bolo: [bug-fix] add missing tab characters to TRANS and ENDOFINVOICE lines so Bolo 13.0.0.8 can properly parse the files
  • 3rd-Party Payments: [enhancement] buffered_file_processor is working for revenue exports.
  • Dev: [enhancement] add ability to run buffered_file_processer through the impersonate_single.py tool
  • Dev: [enhancement] add additional tools for use the KE Andrews audit processes.
  • Bolo Revenue: [enhancement] refactor code to work with both regular and buffered_file_processor methods.
  • Maximo: [bug-fix] add stub function for handling payment_cancel process when Maximo is set as the PO system (does nothing currently)
  • OpenInvoice: [bug-fix] add code to handle situations where a DocumentAction is missing an ActionDestination - something that can happen in very rare instances.
  • QuickBooks: [enhancement] stub out functions for future integration with QuickBooks.
  • Dev: [enhancement] add tool to allow for updating invoice status (and export state) from data in an Excel spreadsheet. This works for invoices that have never been tracked by U3Exchange (unlike the set_as_approved_and_exported tool, which only works for invoices that have been processed by U3Exchange)
  • JPMC: [enhancement] add logic to check for payment type and special handling code mismatches on revenue payments and flag them as invalid when they occur.
  • Revenue Payments: [bug fix] include the [potentially] modified version of mcf_bbls, btu_gravity, price and gross_value when writing files in the TR2350 output format (was previously using the raw_xxx version in the output). No longer printing tax or deduct amounts of 0.00 when no Tax nor deduct type exists. Fix duplicate tax printing in certain situations.
  • Data Warehouse: [enhancement] delete attachments from attachments directory when download is complete.
  • Revenue Payments: [enhancement] add source file summary section to notification.
  • Integra: [enhancement] allow for custom AFE/CC queries in OI sync.
  • Dev: [enhancement] don’t send notification messages if the contents of the Notification’s Message object is an empty string.
  • Revenue Payments: [enhancement] using the buffered file processor is now the preferred mechanism for handling revenue payments.
  • Dev: [enhancement] make validating customizations optional when testing revenue payments.
  • W Energy: [enhancement] beta - begin work on payment processors

5.8.11

  • Integra: [enhancement] added an optional invoice customization function.
  • Quorum: [bug-fix] fixed issue where master data sync was not properly specifying when CCs should be Inactive in OpenInvoice.
  • W Energy: [enhancement] beta - AP payment file parser complete.
  • OpenInvoice: [enhancement] for AFE and CC sync notifications, truncate the notification messages to only show the first 10 AFEs/CCs affected by the warning to reduce possible message size.
  • Bolo: [enhancement] allow GL linking to work when CC Required = “1” in Bolo, meaning all CC types are included.
  • Integra: [enhancement] allow query processing to work when table names start with numbers.
  • General: [enhancement] allow for connections to FTPS servers using implicit TLS.
  • W Energy: [enhancement] beta - end-to-end processing for AP payments from W Energy now functional
  • Integra: [enhancement] create separate path config variable for payment_path.
  • General: [enhancement] switch get_source_data to use U3Command.
  • General: [enhancement] allow run_file_sync to use the –skip_upload argument.
  • Quorum: [enhancement] add CUSTOM_INVOICE_FUNCTION option to the QuorumInvoice.from_object() function.

5.9

5.9.0

  • OpenInvoice: [enhancement] add ‘undiscounted_amount’ tracking to the u3exchange_invoice table and daily report.
  • Integra: [enhancement] add tracking for both discounted and undiscounted invoice amount.
  • Quorum: [enhancement] add tracking for both discounted and undiscounted invoice amount.
  • General: [enhancement] convert run_approved_invoice_processor to using U3Command.
  • General: [enhancement] convert run_invoice_report to using U3Command.
  • Dev: [enhancement] add waitForInput option to impersonate_single for invoices to work for Integra invoices too.
  • General: [enhancement] add a moveFile() function to the FTPServerConnector.
  • Quorum: [enhancement] updated the QuorumPaymentsFile to be able to handle the addition of Bank Account Type column in the Quorum-generated output file.
  • Dev: [enhancement] add common configuration options for mapping Bolo ADEs to bare_config.py
  • Dev: [enhancement] add run_file_sync option to impersonate_single.py. Refactor.
  • General: [enhancement] added fmts() and fmtd() functions to CustomBankObject.
  • W Energy: [enhancement] added buffered revenue check processor.
  • OGPro: [enhancement] beta - addition of OGPro as a GL System.
  • OGSql: [enhancement] beta - addition of OGSql as a GL System.
  • Data Warehouse: [enhancement] allow for PostgreSQL backend for Data Warehouse.
  • W Energy: [bug-fix] fix for missing invoice details when converting from W Energy AP Check to U3 Check.
  • Dev: [bug-fix] fixed Integra test that was leaving an SMB connection open.
  • Revenue Payments: [enhancement] create canonical RevenueCheck object that can be shared across Source systems.
  • OpenInvoice: [enhancement] catch all invoice parsing errors in run_approved_invoice_processor and async_get_all_invoices so a single invoice issue doesn’t halt processing of all invoices.
  • General: [enhancement] delete imports_from_source list variable once it is no longer needed in the DataSyncProcessor object to free up RAM.
  • General: [bug-fix] in from_xml_file(), properly pass all optional *args and **kwargs to from_xml_element(), regardless of what combination is passed in.
  • General: [enhancement] allow PostgreSqlDB instances to work with parameterized queries.
  • OpenInvoice: [enhancement] add new tests for processAFEs and processCCs.
  • General: [enhancement] allow get_database to work without specifying a service_type value
  • Dev: [bug-fix] created a start() function that will need to be called when using helper.py inside manage.py shell. This keeps the database connection from automatically firing when the sphinx documentation gets built.
  • Dev: [enhancement] added code to mock out certain custom functions that attempt to make database connections that won’t work in a Dev environment.
  • W Energy: [enhancement] added support for processing NACHA ACH files.
  • General: [bug-fix] fixed run_sync_master to allow the –export_all flag to function as expected.
  • Dev: [enhancement] set default log level to INFO when DEBUG_TRACE is set to False, and DEBUG when set to True
  • OpenInvoice: [enhancement] make the default behavior for new clients to set closed/removed AFEs as Inactive instead of Deleted.
  • Data Warehouse: [bug-fix] increase field length for ReferenceData.Value from 128 to 1000 characters.
  • OpenInvoice: [enhancement] update vendor sync logging to make it easier to see which vendor’s data may have issues
  • W Energy: [enhancement] added support for Vendor Sync.
  • OpenInvoice: [enhancement] update process for creating an OpenInvoice PO XML file to convert all unicode characters to their equivalent XML reference prior to uploading to OpenInvoice.
  • General: [bug-fix] standardize the shortcut for –skip_download to -d for all management commands.
  • W Energy: [enhancement] separate out processing for Revenue Checks and Revenue ACH Remittance.
  • Dev: [enhancement] add ability to anonymize a sample NACHA file. Rename process to sample_file_anonymizer.py
  • General: [enhancement] add error handler to ignore connection timeouts when disconnecting from an ODBC database.
  • JPMC: [enhancement] add ability to reformat NACHA CTX addenda records into ANSI ASC X12 EDI Interchange format.
  • W Energy: [enhancement] add ability to process Revenue ACH Remittance details.
  • General: [enhancement] changes to code that reads variables to allow tests to work for clients who don’t use U3Exchange for invoice integration.
  • Dev: [enhancement] convert pytest tests to django TestCase instances.
  • JPMC: [enhancement] add logging of total printed pages in JPMC revenue check output files.
  • Data Warehouse: [bug-fix] remove all special characters and non-ascii characters from invoice number before creating file system directory for clients saving images locally.

5.9.1

  • JPMC/NACHA: [enhancement] rework how NACHA files are processed when sending to JPMC. Add ability to recalculate entry_hash values and block_count after a file is modified.

5.9.2

  • W Energy: [bug-fix] fix issue with reading negative amounts in W Energy payment files.

5.9.3

  • General: [enhancement] update common credentials for AWS SMS
  • Verian: [enhancement] add config variable for specifying which CC types should be included for PAD AFEs
  • Verian: [enhancement] add new option for using REQUESTINGFORPERSON in the PO export file
  • W Energy: [bug-fix] fix the way currency values are displayed in the email notifications.
  • W Energy: [bug-fix] pull missing address line 3 from W Energy Check files.

5.9.4

  • Dev: [bug-fix] update to master_config.py so deployments will work for client’s who aren’t using GL_SERVICE

5.10

5.10.0

  • Data Warehouse: [enhancement] new command async_get_all to replace async_get_all_invoices and can be used to populate invoices, purchase orders, receipts, price books in data warehouse
  • Dev: [enhancement] add getErp() function to output the name of a client’s ERP in client_names script
  • JPMC: [enhancement] add process for generating positive pay files for import into JPMC from Bolo
  • Data Warehouse: [enhancement] add purchase orders, receipts, and price books to the data warehouse integration.
  • OpenInvoice: [enhancement] add support for JIBFlow invoices.
  • Dev: refactoring of OpenInvoice common objects for reuse.
  • OpenInvoice: [enhancement] added custom function option for setting invoice line-item description (invGetLineItemDescription())
  • Bolo: [enhancement] add process for generating positive pay files from Bolo.
  • JPMC: [bug-fix] fix issue in ACH file creation to truncate the additional text field at 40 characters.
  • Bolo: [bug-fix] update the default invoice-pay-cancel query for Welland to use SYSTEM_DATE value from VOUCHER table instead of the CHECK.VOID_DATE value to capture correct payment void date (CHECK.VOID_DATE is always set to the last day of the month when the payment was voided)
  • 3rd-Party Payments: [bug-fix] when a revenue payment file contains noting but skipped records, move source file to archive location after successfully processing it. Previous, the file was not being archived and would get processed repeatedly.
  • Dev: [enhancement] log time to process for run_a_report and run_po_report
  • Dev: [enhancement] log name of route along with name of file to make it easier to understand which generic process was being run in logs and error messages.
  • NACHA: [enhancement] optionally convert all NACHA output files to ASCII encoding, replacing non-ASCII characters with “?”. In some cases, JPMC only allows ASCII characters in the file.
  • NACHA: [enhancement] optionally handle flex-field data as addenda record counts or part of the vendor name depending on output of the source system.
  • NACHA: [enhancement] allow nacha file reader to operate on files encoded as utf-8 with a BOM as the first character.
  • Dev: [bug-fix] fix for test_config when running on linux system to not require value in smb_share.
  • JPMC: [enhancement] for Pay Connect, don’t allow processor to generate new data if there is already a file in the processing queue. Only upload a single file. Pay Connect can only handle 1 file per processing cycle.

5.10.1

  • General: [bug-fix] add code to deal with unicode characters in plain-text attachments when MIME encoding them for upload.
  • General: [enhancement] increase authentication timeout when connecting to FTP/SFTP servers.

5.10.2

  • Quorum: [bug-fix] fix for quorum vendor test for clients who have a custom vendor_file_name set.

5.10.3

  • JPMC: [bug-fix] fix for generating positive pay files from a DB query.
  • NACHA: [bug-fix] allow for processing NACHA batches that have no payment entries.
  • OpenInvoice: [bug-fix] fix unit test to work for clients who have a company override coming from an ADE
  • Dev: [enhancement] update unit tests to pass for clients who do not have an invoicing service defined.

5.10.4

  • Data Warehouse: [bug-fix] add missing pricingComment, linkedInvoices, orderSource, orderType fields to POs and PriceBooks

5.10.5

  • OpenInvoice: [enhancement] add support for sending AFE Owner in ocp:Owner field.
  • Dev: [enhancement] allow initial_data_warehouse_load.py to be run with the –hourly flag to run separate instances of async_get_all for each our of the day to reduce load when importing receipts.
  • Data Warehouse: [bug-fix] add missing referencingInvoices field to Field Ticket Receipts
  • Data Warehouse: [bug-fix] fix code for cleaning up invoice attachment files after processing is complete.

5.10.6

  • OpenInvoice: [bug-fix] fix for unhandled vendor sync error when vendor name contains a % sign.
  • OpenInvoice: [bug-fix] fix location of Owner element in AFE export.

5.10.7

  • Data Warehouse: [bug-fix] fixed issue for Field Ticket Receipts where the MajorAccount AccountNumber value was being overwritten by the account description.

5.10.8

  • Invoice Module: [enhancement] refactor InvoiceMonitorProcessor to allow the GL System to be responsible for getting the response files, instead of the Processor. Modify when response_known is set so errors that occur after locating a response don’t result in the response getting skipped in the future.
  • OGPro: [enhancement] add support for approved invoice import and invoice monitoring.
  • Verian: [enhancement] add ability to write the Verian PO files back out in their original import format.
  • OGSql: [enhancement] add support for creating AFE and CC exports from OGSQL
  • OGSql: [enhancement] add support for processing Approved Invoices
  • Dev: [enhancement] allow check_repo to work for other repository names
  • Dev: [enhancement] add deployment tool for quickbooks desktop connector.
  • Dev: [enhancement] add select function to SQLServerDB that allows for passing of arguments.
  • Dev: [bug-fix] fix issue with initial_data_warehouse_load that was causing skipped days at the end of years.
  • Bolo: [bug-fix] resolve issue caused by square brackets around table names when dynamically build queries for Welland clients
  • Bolo: [enhancement] add ability to apply customization logic at both the BoloCodeItem and BoloInvoice level
  • Bolo: [enhancement] add ability to send email notifications for AP and Revenue payments that have errors typically related to data synchronization.

5.11

5.11.0

  • QuickBooks Desktop: [enhancement] adding support for QB Enterprise integration
  • Dev: [enhancement] get impersonate_single working with quorum invoice files
  • S3: [enhancement] add Amazon S3 ServerConnector object
  • Dev: [enhancement] add new style fromObject() method to U3Exchange object (from V6)
  • Dev: [enhancement] rearrange when the getResponses() method is called so it can receive a list of invoices to search on (for querying responses from a DB, not just reading response files generated by the system)
  • Dev: [enhancement] allow the get_server and get_database functions to return the generator function, not just the results.
  • Dev: [enhancement] get all tests passing when no INVOICING_SERVICE is specified.
  • Dev: [enhancement] add U3TestCase object (from V6)
  • Dev: [bugfix] fix for tests when clients are using QUICKBOOKS_DESKTOP and AWS S3 Servers
  • Quorum: [enhancement] map account.subcode_number to INVENTORY_ID in invoice import file
  • Quickbooks Desktop: [enhancement] allow integration with OpenInvoice reference data elements
  • Data Warehouse: [bugfix] fix imports for Field Ticket Receipts when attachments are being downloaded. Add ReceiptCrew table to track crewMembers.
  • OpenInvoice: [bugfix] add handling for invoices that throw an AdpInvoiceException in a custom function.
  • Data Warehouse: [bugfix] fix imports for Price Books when download-attachments is set to True. No attachments are included with Price Books regardless.
  • Invoicing: [enhancement] remove Bolo-specific information from daily report messages of non-Bolo users.

5.11.1

  • OGSql: [enhancement] add 3rd-Party Payments functionality for OGSql
  • Dev: [enhancement] add file_tester script from v6 to check docstrings and search for debug statements.
  • Data Warehouse: [bugfix] increase length of DocumentCrossReference.DocumentNumber to 128 characters
  • Wells Fargo: [enhancement] allow process to dynamically convert from valid country name/abbr to ISO2 automatically
  • Engage Mobilize: [enhancement] add support for Engage invoice integration.
  • OGpro: [enhancement] add support for master data synchronization with OpenInvoice.
  • OGSql: [enhancement] add invoice received date to invoice import file.
  • OGSql: [bug-fix] include proper voucher timestamp on invoice payments and voids.
  • OGSql: [enhancement] add support for buffered file processor and revenue payments.
  • Wells Fargo: [enhancement] add support for producing Revenue Payments in the Payment Manager Flat File format.
  • Dev: [enhancement] add utility script for disabling all existing AFEs and Cost Centers in OpenInvoice
  • Dev: [enhancement] refactor findDataDifferences() utility function to work for either XML or JSON data and even for objects that can be built from both.
  • Dev: [enhancement] new utility function to create a decimal value from a currency string taking into account locale of the currency string.
  • OpenInvoice: [bug-fix] removed the AdpLocationOrWell class that was duplicated in the adp_invoice module and refactored code to utilize the object from adp_common.
  • OpenInvoice: [enhancement] add tools script to deactivate all existing AFEs and/or CCs via the OpenInvoice API. This function will also delete locations. Useful for clearing records for clients with exising OpenInvoice data.
  • OpenInvoice: [enhancement] add ability to parse ClearingData from JIBProdData element of JIBFlow invoices.
  • Bolo: [enhancement] allow Bolo revenue files to be decrypted on the fly when testing the buffered_revenue_check.
  • Dev: [enhancement] increase test coverage
  • EnergyLink: [enhancement] add ability to customize EnergyLink file output on the fly based on a client’s custom functions
  • Wells Fargo: [enhancement] allow payor bank account information to be pulled from ERP instead of being hard-coded in the config file.
  • Data Warehouse: [bug-fix] fix issue importing data for code items that are missing the property element.
  • Bolo: [enhancement] incorporate JIBFlow invoice handling into a standard process for Bolo invoices (instead of the need for custom functions), including how to handle Cash Calls.
  • Data Warehouse: [enhancement] record line-item.contacts to the database. Record action_destinations to the database. Record JIBFlow invoice data to the database. Record coding.location_or_well to the database.

5.11.2

  • Data Warehouse: [bug-fix] fix issue with saveAlert() function that was throwing an unhandled error with certain data.
  • Data Warehouse: [bug-fix] fix issues caused by changes to the JSON results received from Enverus for price-books and purchase orders.
  • JPMC: [bug-fix] add a 2 second wait to the positive-pay processor so it can create multiple files without overwriting a file’s timestamp.
  • OpenInvoice: [enhancement] add management command for disable_master_data, which can deactivate AFEs or CCs in OpenInvoice.
  • Data Warehouse: [bug-fix] properly record the invoice line-item.service_date value (not just service_start_date and service_end_date).
  • W Energy: [enhancement] add Invoice Integration support for W Energy as a GL System.
  • OGPro: [enhancement] get invoice monitor and invoice voucher monitor working for OGPro invoices.
  • Data Warehouse: [enhancement] add date and description values (whey they exist) to the DocumentCrossReference table
  • JPMC: [bug-fix] the CKO file footer amount was incorrectly being restricted to 99,999,999. Removed that restriction.
  • OGSql: [enhancement] add buffered revenue file processor.
  • Wells Fargo: [enhancement] add buffered revenue file processor. Supports the Wells Fargo Payment Manager Royalty payment supplement format.
  • OGSql: [bug-fix] fix problem with invoice voucher query.
  • W Energy: [enhancement] add AFE and Cost Center syncing.
  • OGPro: [enhancement] add invoice payment updates to integration.
  • OGSql: [enhancement] replace Unicode angled-double-quotes in invoice line descriptions with escaped ascii double-quotes.
  • OGSql: [bug-fix] fix syntax error in invoice-pay-cancel processor.
  • OpenInvoice: [enhancement] add error handling that allows for skipping image attachments that don’t actually exist in OpenInvoice. Resolves issue with OpenTicket attachments that get deleted and invoice in the UAT environment that don’t get their attachments copied over from prod.
  • OpenInvoice: [enhancement] allow for a custom function to be applied to the JIB Deck value for code-items.
  • OGSql: [bug-fix] fix error in daily invoice report.
  • General: [enhancement] move the writeXlsxField() function from integra_common to utils so it can be used by other ERPs that rely on XLSX files.
  • OGPro: [bug-fix] get Field and OperatingGroup CCs syncing and mapped properly in Invoice uploads.
  • OGSql: [beta] continue work on revenue payment processor.
  • OGSql: [bug-fix] fix issue with setting close_date value for Cost Centers when syncing to OpenInvoice.
  • W Energy: [enhancement] add approved invoice processor.
  • OGPro: [bug-fix] fix missing descriptions in invoice details. Fix syncing of AllocationDecks as Cost Centers.
  • OGSql: [bug-fix] fix default payee query to pull remittance email address instead of default company email.
  • W Energy: [bug-fix] change the way CC name and number are synchronized to allow for situations where the W cc.description and cc.name are repeated (a valid situation in W).
  • W Energy: [bug-fix] fix issue with recording vendor email address when more that one address is listed in the W address field.
  • Dev: [enhancement] get impersonate_single working for clients running W as their GL DB.
  • OpenInvoice: [bug-fix] allow for no results when querying OpenInvoice for existing AFEs and Cost Centers.
  • General: [enhancement] add better error handling and notification to MS Excel document writers
  • OGPro: [enhancement] remove redundant billing deck information on AFE and CC upload
  • Dev: [enhancement] added cron_monitor for linux systems
  • Verian: [enhancement] allow clients to define “PAD” AFEs in their config file using VERIAN_SERVICE.pad_afe_types list for assigning Pad-type cost centers to Pad-type AFEs in the cascaded coding.
  • OGSql: [enhancement] add logic to search for alternate addresses for AP and Revenue payees.
  • Dev: [bug-fix] ensure all calls to select(), update(), delete() _try_execute(), and getData() which include arguments to be interpolated are passing them using the args=() keyword.
  • OpenInvoice: [bug-fix] fix issue with broken link in Invoice Error Report.
  • OpenInvoice: [enhancement] add better error handling for problems with updating custom reference data elements.
  • OGSql: [bug-fix] update to getVoucherForInvoice to include the buyer company ID in the search criteria to handle situations where an invoice is accepted in OGSys in one company, deleted, and re-imported under another company.
  • OGPro: [bug-fix] add error handling to raise an error when connection issues occur while checking for deleted vouchers.
  • Data Warehouse: [bug-fix] handle situations where the source invoice object does not have a jib_op_data or jib_prt_data attribute
  • Wells Fargo: [bug-fix] fix for logic error causing PMP clients who are not also using PDP to have the Electronic Document Delivery value turned off.
  • OpenInvoice: [enhancement] get attachment name from AttachmentReference when it’s available - for JIBFlow invoices only. Required for Quorum integrations.
  • OpenInvoice: [enhancement] set invoice as jib_invoice by looking at header-level type instead of just relying on the existence of JIBOpData or JIBPrtData
  • OpenInvoice: [bug-fix] add logic to clean up xml and attachments when an invoice fails to download due to a problem with the attachment (when it’s not a removable-attachment).
  • OGSql: [bug-fix] add logic to skip AP Payment and Revenue Payment tests when client is not configured to use any banking service.
  • Dev: [bug-fix] require httplib2 >= 0.20 to ensure we don’t run into issues with TLS_V1
  • Data Warehouse: [enhancement] update the invoice sync query to pull down All invoices instead of just allViable. Also add option to the async_get_all job to pull down specific invoice statuses.
  • JPMC: [bug-fix] fix problem with NACHA CCD+ Addenda record creation.
  • QBO: [enhancement] master data sync for Quickbooks Online.
  • Dev: [enhancement] change all references to zip_code to postal_code to be consistent. Change all references to _isDir to isDir and _makeDir to makeDir, and bank_aba_number to bank_routing_number.
  • OGSql: [bug-fix] change SQL calls to TRIM() into LTRIM(RTRIM()) to work with older versions of SQL Server.
  • DataWarehouse: [bug-fix] add new tables for JIBOpLineData, JIBPrtLineData, JIBPrtHeaderData, and make updates to existing JIBOpData and JIBPrtData tables to properly match the OpenInvoice XML structure.
  • OpenInvoice JIBFlow: [bug-fix] properly handle JIBOpLineData, JIBPrtLineData, JIBPrtHeaderData, and fix coding level items (JIBOpData and JIBPrtData) to properly match the OpenInvoice XML schema. NOTE: this change may affect existing JIBFlow client implementations. Be sure to test when upgrading.

5.11.3

  • Wells Fargo: [enhancement] updates for WF Revenue Payment processor
  • W Energy: [enhancement] invoice processor and invoice payment processors working for W.
  • QBO: [enhancement] allow Quickbooks Online clients to get updated access tokens from https://qbo.u3exchange.com
  • OpenInvoice: [bug-fix] add missing OpenInvoice ID to text portion of email notification when an invoice gets rejected (was previously only on the HTML)
  • Dev: [enhancement] add SshServerConnector option
  • DataWarehouse: [bug-fix] handle situations where PriceBook records are getting updated but have no last_action_date value
  • OGSql: [enhancement] add ability to sync Reference Details with OpenInvoice
  • OGSql: [enhancement] add ability to sync JIB Decks with Cost Centers to OpenInvoice
  • OGSql: [enhancement] ready Revenue payment processor for go-live
  • QBO: [enhancement] add master data sync for AFEs (Classes) and Vendors

5.11.4

  • OGPro: [enhancement] update clean_invoice_number() function to strip out invalid characters
  • OGPro: [bug-fix] fix ogpro invoice test.
  • OGSQL: [bug-fix] update to the invoice logic to only set JIB Deck when a cost center is included
  • OGPro: [bug-fix] stop trying to set proc when source is None (issue with CustomReport test)
  • Data Warehouse: [bug-fix] Allow the import of location values that are missing the defaultFlag attribute.
  • Data Warehouse: [bug-fix] Fix issues with PO imports (attachments and contacts)

5.11.5

  • OGPro: [bug-fix] OGPro does allow for spaces in invoice numbers. Add that back in

5.11.6

  • OpenInvoice: [bug-fix] store JIB Deck values in sorted order when serializing so changes in order don’t result in multiple add/delete messages being sent back to OpenInvoice.
  • Wells Fargo: [bug-fix] fix issues with AP payment process that were introduced by prior changes to Revenue payment process.
  • Dev: [enhancement] add test for serialize/deserialize functions.

5.11.7

  • OGPro: [bug-fix] stop error in the invoice_pay_cancel process - note, this process is still not fully functional for OGPro
  • OGPro: [bug-fix] handle change in Quorum API for invoice response monitoring.

5.12

5.12.0

  • Dev: [enhancement] update to copyright
  • W Energy: [enhancement] automatically set Division Order Asset based on cost center in invoice
  • QBO: [enhancement] add ability to track vendors from multiple QuickBooks company files (realms). Added SourceSystemVendor and U3RecordID models.
  • Dev: [enhancement] move models.py to separate python package.
  • General: [enhancement] allow get_source_data to be called with multiple FileInfo() references.
  • Dev: [enhancement] swap use of ElementTree for defusedxml in harvest_common.py.
  • Dev: [enhancement] update to deploy script to match v6 for easier transition.
  • Dev: [enhancement] add additional tests for greater code coverage.
  • QBO: [enhancement] move common config related to QuickBooksOnline to common_config to make generating new client configs easier.
  • QBO: [enhancement] add ability to sync invoices from OpenInvoice to QBO.
  • Dev: [enhancement] for for tests. added mockAllFunction() to mock all instances of a function in any loaded u3exchange module. Useful to ensuring it gets mocked regardless of where it would be getting called from at the time. Added to the U3TestCase class.
  • Bolo: [bug-fix] fix issue for handling files that Bolo is unable to parse (file in the rejects folder).
  • Invoice Module: [enhancement] cache invoice status values to reduce the number of DB queries when retrieving invoice data from the tracking DB.
  • Engage: [enhancement] initial integration with Engage Mobilize E2E.
  • Invoice Module: [enhancement] allow run_afe_sync to be run with the –update_only option (skips downloading data from a source system)
  • W Energy: [enhancement] additional validation for AFEs to ensure activity date is not before AFE start date.
  • W Energy: [enhancement] cache getDOA() results to reduce number of DB calls.
  • W Energy: [enhancement] remove duplicate error messages from invalid invoice coding messages.
  • W Energy: [bug-fix] fix issue with run_monitor that was missing results for invoices that got passed to W.
  • Invoice Module: [enhancement] add buyer company number to invoice error notifications. Optionally, if the client has a custom mapping configured, include the company name as well.
  • Dev: [enhancement] get SSHServerConnector working for windows systems that don’t have scp installed.
  • Data Warehouse: [bug-fix] fix issue with Purchase Order sync when expected fields are missing from received data (changeRequestDate, changeSequenceNumber)
  • Invoice Report: [bug-fix] change report text to output name of GL system instead of “BOLO”. Add the “POSTED” status to the set of successful invoices.
  • W Energy: [bug-fix] add “Approved” status handler to invoice monitor process.
  • W Energy: [bug-fix] update logic for setting DO Asset value.
  • Dev: [bug-fix] fix syntax error in postgresql query builders .
  • Dev: [enhancement] add ability to specify a function for building arguments to be passed to custom report processes.
  • Dev: [enhancement] add report for monthly service volume.
  • OGSql: [enhancement] allow payees to have multiple names in the OGSql database (names 2+ must come from custom fields created by the client)
  • W Energy: [enhancement] output remittance annotation in both the Remittance Comment and the GL Comment fields of the Invoice export file.
  • Wells Fargo: [bug-fix] fix logic error that was keeping the proper edd_handling_code from being set in payment output files.
  • Data Warehouse: [bug-fix] alter Receipt unique index to include invoiced_status since Enverus does not update the last_action_date when the invoiced_status changes.
  • Dev: [enhancement] update the update_data_warehouse_schema script.
  • OpenInvoice: [enhancement] add code to sanitize attachment file-names so they won’t cause issues if suppliers put full paths into a file-name field.
  • Dev: [enhancement] update tests so they work if OpenInvoice isn’t the INVOICING_SERVICE
  • Data Warehouse: [bug-fix] allow the PO data warehouse code to handle POs that are missing expected data (for POs in a DRAFT status)
  • Dev: [enhancement] add ability to supply a filter attribute when calling the listFiles() function
  • Dev: [bug-fix] ensure functions that act on files check to see if the file exists before attempting an action
  • Dev: [enhancement] remove calls to assert in utils.py
  • JPMC: [bug-fix] fix for addenda records when sending NACHA to JPMC
  • QBO: [enhancement] add ability to create a QBO Sandbox from JSON output files generated from a client’s production system.
  • OGPro: [bug-fix] add ability to handle temporary invoice status of “Ready”.
  • Invoicing: [enhancement] include the Buyer Company ID in the output when an invoice fails to import for some reason.
  • W Energy: [enhancement] require vendors to also have the role.function value of 6
  • W Energy: [bug-fix] add error handling for temporary response statuses we don’t care about.
  • OpenInvoice: [bug-fix] fix for listing OpenInvoice ID in invoice import error messages.
  • QBO: [enhancement] add ability to customize AFE Numbers and maintain a mapping to the Number in OpenInvoice and the UID in QBO.
  • Dev: [bug-fix] fix syntax error in mockAllFunction (misspelling side_effect as side_effects)
  • OGPro: [enhancement] add ability to customize CCs prior to upload to Invoicing Service.
  • OpenInvoice: [enhancement] add more clear error messages for invoices that fail to be parsed.
  • Dev: [enhancement] refactor get-vendor-delta process.
  • JPMC: [enhancement] add invoice remittance annotation message to the PaySource ISO XML file in the Structured Additional Remit Info field for printing on checks.
  • QBO: [enhancement] add suppport for invoice-pay-cancel.
  • W Energy: [enhancement] require vendor to have payment terms and payment type configured.
  • OpenInvoice: [enhancement] add support for an AFE being valid for multiple companies.
  • JPMC: [enhancement] make the creditor_reference_info output optional in the ISO XML output file. Only print PO number when one exists, instead of including the NO PURCHASE ORDER AVAILABLE message.
  • OGPro: [enhancement] get AFE Type from OGPro API when available.
  • OGPro: [bug-fix] only insert a default JIB Deck if JIB Deck is missing AND Cost Center number exists in the coding.
  • QBO: [bug-fix] add logic to consolidate addresses for vendors who exist in multiple QBO company files but whose addresses don’t match. Avoids having them constantly show up as deltas in the export sync.
  • W Energy: [enhancement] treat invoices that fail submission once they reach W as having a tracking status of Posted, so they will be further updated by the run_monitor process later.

5.12.1

  • OpenInvoice: [enhancement] allow for overriding the invoice header-level description using a standard mapping value.
  • Dev: [enhancement] add a random number/password generator to utils.py

5.12.2

  • OpenInvoice: [enhancement] add a customize function to the AdpCostCenter object.
  • W Energy: [bug-fix] add handling for W invoice response status of “Voided”.
  • QBO: [bug-fix] expand the handleResponseError() function to deal with differences between QBO Sandbox environment responses and QBO Live environment responses.
  • OGPro: [enhancement] add support for JIBFlow invoices.

5.12.3

  • Dev: [bug-fix] remove unnecessary reference to u3_db in Processor that was duplicating the tracking DB connection.
  • Dev: [enhancement] made the “invoicing” option the default for the run_vendor_sync process so you don’t have to specify it every time you call that function
  • Dev: [enhancement] added the upload_only option to the run_vendor_sync process so it can be run without pulling new data from the source system
  • QBO: [bug-fix] fix code responsible for mapping vendors from the invoicing service to QBO. Includes checking for company name similarity as a backup.
  • QBO: [enhancement] have the setVendor and setGLAccount function record their errors as Responses so end-users get notified when a mismatch occurs
  • QBO: [bug-fix] fix the run_invoice_report job (was unable to get vendor names).
  • W Energy: [enhancement] add support for JIBFlow invoices.
  • OGSql: [bug-fix] fix error in run_vendor_sync for OGSql clients introduced after 5.12.2 change.
  • Dev: [enhancement] add nox configurations for comprehensive testing automation.
  • Dev: [enhancement] testing updates to work with nox. Remove unnecessary print statements.
  • Dev: [enhancement] changes to imports of collections to work when run in < python 3.10 and >= python 3.10
  • Dev: [enhancement] allow setting log level from an environment variable.
  • QBO: [bug-fix] remove setting of PO as a linked transaction in the Bill.
  • QBO: [enhancement] add PO Number to private note of Bill.

5.13

5.13.0

  • Dev: [enhancement] update task_monitor.py to be able to provide details on what actions are being run by batch files - for use where client’s are utilizing a virtual environment for running Python
  • Dev: [enhancement] code changes to support running in Python version > 3.8, including 3.9 and 3.10
  • Dev: [enhancement] addition of template files for running management jobs from a batch file that activates a virtual environment.
  • Data Warehouse: [enhancement] update the PostgreSQL Schema script for creating a Data Warehouse DB.
  • QBO: [enhancement] enable synchronization of Jobs/Projects to OpenInvoice Cost Centers.
  • Dev: [enhancement] speed up OpenInvoice tests for CC sync. Remove unused code. Add nocover statements where appropriate.
  • JPMC: [bug-fix] fix issue related to zip/postal_code change that was made in previous release.
  • QBO: [enhancement] allow VendorCredit objects to be created for Invoices with a negative total.
  • QBO: [enhancement] add better error handling for invoice import failures.
  • QBO: [bug-fix] resolve issue with duplicate vendors and their country-codes.
  • QBO: [bug-fix] resolve issue where voucher number was not being properly recorded after a Bill got uploaded to QBO.
  • Engage: [enhancement] add vendor sync capability
  • OGPro: [enhancement] add option to use the vendor Code instead of vendor ID when syncing.
  • Invoicing: [enhancement] add options to the get_source_data management script to only sync data of a given type (cc, afe, vendor, payment, gl codes)
  • OGPro: [enhancement] add ability to customize Allocation decks for CC sync purposes.
  • QBO: [enhancement] include CostCenter as Customer in QBO Invoice(Bill).

5.13.1

  • Data Warehouse: [bug-fix] fix prefix value so it works for PostgreSQL databases as well as SQL Server databases.
  • Invoice Integration: [enhancement] add ability to override the invoice date.
  • Dev: [enhancement] add environment variable that can be used for skipping sending emails - useful for nox testing.
  • Engage: [enhancement] update the AFE sync process to work with new relationship endpoint
  • 3rd-Party Payments: [bug-fix] change the location where originating ABA number comes from when updating details about the payment.
  • OGPro: [enhancement] add option to send back just the portion of the check that was applied to a given invoice instead of the full check amount when sending payment status updates.
  • QBO: [enhancement] add a separate email notification to the auth_notification_users when a QBO client needs to re-authorize U3Exchange.
  • Quorum: [bug-fix] fix issue with vendor sync that was introduced when the CompanyClass attribute was added.
  • W Energy: [bug-fix] fix issue with vendor sync that was introduced when the CompanyClass attribute was added.

5.13.2

  • Dev: [enhancement] add info object to helper.py to allow for easy access to the queries used by the client for AFE, CC, and Vendor exports.
  • Dev: [enhancement] make the default reply-to address u3exchange-support@unit3tech.com instead of support@unit3tech.com to avoid issues with Zendesk.
  • Data Warehouse: [enhancement] allow AWS S3 as a file storage location for Data Warehouse data and attachments.
  • OGSql: [enhancement] remove the creation of the image-ref zip file as it is not necessary in an OGSql integration.
  • OGSql: [enhancement] add ability to include the vendor’s country code when a custom vendor export query is used.
  • QBO: [enhancement] add ability to disable the vendor name sanity check logic. Enabling this is only needed in the first few days after go-live to ensure all the vendor IDs from the sandbox environment were properly updated.
  • QBO: [enhancement] add ability to disable the auth notification email for users who think it is too noisy.

5.13.3

  • QBO: [bug-fix] fix vendor names printing on daily report for clients with multiple realms.
  • Data Warehouse: [bug-fix] fix issue with rewriting sql queries for PostgreSQL data warehouses.
  • Data Warehouse: [enhancement] allow the invoice DB save to function even if the invoice is not considered valid for the GL system (but is valid in the source system).
  • OpenInvoice: [enhancement] add code to convert vendor country code from source system into ISO 2 output when possible to reduce import errors when using the unregistered vendor import format.
  • OGSql: [bug-fix] fix CC synchronization for inactive Cost Centers by adding a bogus expiration date when a CC is inactivated. This is required for the OpenInvoice synchronization to function as expected.
  • OGSql: [enhancement] allow for empty minor accounts in AP invoice coding.
  • JPMC: [bug-fix] fix issue with the JPMC Pay Connect sync process caused by changing the name of zip to postal_code everywhere but in u3exchange.models
  • OGSql: [enhancement] allow for setting the same voucher number for every invoice in a batch. This allows older versions of OGSql to auto-increment the voucher number if they are always set to 1.
  • OGSql: [enhancement] allow for customization of the OGSqlCostCenter objects similar to OGPro.
  • Dev: [bug-fix] fix helper.py to pull correct value from AFE_EXPORT and CC_EXPORT when they exist.
  • Invoicing: [enhancement] add output of locals() to all calls to invGetPaymentType().

5.13.4

  • OpenInvoice: [enhancement] add option to include CC Owner when syncing.
  • Dev: [enhancement] add the invoice_payment parameter to Info object in helper.py so you can easily see what the invoice payment query looks like for a given client.
  • Dev: [enhancement] remove the OPTIMIZE_FOR_SEQUENTIAL_KEY option from the default Data Warehouse schema script since most client systems don’t support it.
  • Invoicing: [enhancement] include the results of locals() in calls to custom payment type functions.
  • OGSql: [enhancement] allow invoicing integration to work for clients connecting to multiple OGSql databases
  • OGSql: [enhancement] allow option for setting which output field the received date value should be output to.
  • OGSql: [enhancement] add support for aggregate coding in invoices.
  • OGSql: [enhancement] update the default vendor export query to include country code.
  • Engage: [enhancement] add ability to update the post/failure status for invoices in Engage
  • Dev: [enhancement] add ability to specify days worth of u3exchange.log files to retain (default is 14) using U3EXCHANGE[“days_to_keep_log_files”] in config.py.
  • Dev: [enhancement] allow the task_monitor.py job to ignore (not warn) on tasks that are set up in prod but are intended to be run manually, not automatically. Just put the word “manual” in the Job name.
  • Data Warehouse: [enhancement] check for status updates for all receipts who’s status is not fully invoiced.
  • W Energy: [bug-fix] modify the accounting period query to only filter based on ap_invoices_lock is NULL.
  • QBO: [enhancement] add hook for a qboCustomizeInvoice() function in custom.py
  • QBO: [bug-fix] fix logic error in the way successful invoice responses were being recorded to the tracking database. This issue masked some failed invoices previously.

5.13.5

  • OGSql: [bug-fix] fix issue with vendor sync with country codes.
  • Invoice Integration: [bug-fix] add error handling for CC sync process when a CC number is duplicated. Process still completes, but error notification will get sent listing the duplicate CCs.
  • Data Warehouse: [enhancement] further restrict the NOT-FULLY_INVOICED Receipt process to only looking for APPROVED Receipts.

5.13.6

  • OpenInvoice: [bug-fix] fix issue with inclusion of owner in CC export.
  • Multiple: [enhancement] add error reporting (email) for database-specific errors to the get_source_data command.
  • OGPro: [enhancement] add ability to specify separate default deck value for JIB Flow invoices. Require a default deck value be assigned for all JIBFlow invoices since deck value is not otherwise included in the invoice XML.
  • QBO: [bug-fix] for invoices, output the code_item description value if it exists. If not, output the line-item description.

5.13.7

  • OGSql: [bug-fix] fix issue linking AFE owners
  • Dev: [bug-fix] remove unnecessary test for address name in GL_SERVER config.

5.14

5.14.0

  • Invoicing: [enhancement] add proxy model and web admin view for managing the export of invoices from OpenInvoice using a manual selection process.
  • Invoicing: [enhancement] modify the track_invoices command to perform async downloads of all approved, unexported invoices and record them to the tracking database.
  • Invoicing: [enhancement] update report to print name of GL system instead of just “Bolo”.
  • Invoicing: [enhancement] add in logic for determining if a failure response from the GL system should cause the invoice to be automatically re-exported. Useful for certain errors coming from OGPro. Can be applied to other GL systems in the future.
  • Engage: [enhancement] updates to the Engage Mobilize Invoicing integration to handle changes in master data synchronization.
  • OGSql: [bug-fix] fix issue with linking JIB Decks to AFEs based on the AFE’s valid companies.
  • OGSql: [enhancement] allow option to only include default decks when linking them to AFEs.
  • QBO: [enhancement] update to Vendor object to allow the missing_invoice_report.py process to work for QBO clients.
  • OpenInvoice: [enhancement] add ability to optionally set the received date of an invoice from the original submitted date, or the re-submitted date. Previously, re-submitted date would be used automatically if it existed.
  • Dev: [enhancement] allow impersonate single to run using the dev STATUS_DB for custom queries if necessary.
  • Bolo: [bug-fix] fix JIB Flow test to properly count line items for aggregated items when aggregate_match_description is also set to True.
  • Invoicing: [enhancement] add a hyperlink to the original invoice in OpenInvoice for Approved/Un-exported invoices when using the admin web interface.
  • Engage: [bug-fix] fix for handling existing data downloads with no records.
  • OGSql: [enhancement] add more options to customize the APX output file based on the OGSql configuration.

5.15

5.15.0

  • FTPS: [enhancement] add code to connected() function to test to see if connection still exists
  • Vendor Sync: [enhancement] increase field length for companies to 1000 characters.
  • Dev: [enhancement] force a reload of u3exchange.config after each test class is run
  • Quickbooks: [bug-fix] allow tracking of QBO class numbers by either their source system ID or a customized number
  • Quickbooks: [bug-fix] fix for creation of duplicate records in U3RecordID table for Classes.
  • OGSql: [enhancement] add ability to specify one or multiple companies associated with an AFE/CC.
  • OGSql: [enhancement] include optional output parameters for Allocation lines as well as regular detail lines.
  • OGSql: [bug-fix] add logic to aggregate multiple duplicate CCs into one CC with multiple valid_companies
  • OGSql: [enhancement] add support for running against multiple OGSql databases at once.
  • Web Interface: [enhancement] add web UI for allowing clients to select which invoices to export.
  • OpenInvoice: [enhancement] add helper command to generate a CSV of existing vendors from OpenInvoice for comparison with expected.
  • Reporting: [bug-fix] fix issue with daily report not printing vendor names in certain instances.

5.15.1

  • OGSql: [bug-fix] fix run_voucher_monitor, run_monitor, run_invoice_payment_processor, run_invoice_pay_cancel to work with multiple realm deployments.
  • Verian: [bug-fix] fix warning message in invoice test for python 3.10+ deployments

5.15.2

  • QBO: [enhancement] add ability to include CustomField values. Unfortunately these are not supported on the QBO API for Bills.
  • Dev: [enhancement] add ability to specify a search path when running task_monitor.py. Allows for multi-client Windows implementations to only report on a single client.
  • Invoicing: [enhancement] add ability to filter list of unexported invoices by the buyer company ID and limit the display to users who’s group match a multi-ERP client’s realms.
  • Invoicing: [bug-fix] fix for daily report so it does not list UNEXPORTED_APPROVED invoices in the “Unknown” status section. Add tracking of undiscounted_amount for UNAPPROVED_EXPORTED invoices.
  • OGSql: [bug-fix] fix vendor export for clients with multiple OGSql DBs where vendors that exist in more than one DB but have differing addresses were getting exported multiple times.
  • Web Interface: [enhancement] when tracking approved-unexported invoices, modify process so it won’t download details for invoices that are already in the tracking database. Also removes invoices from that tracking database is they have been disputed/unapproved/cancelled/deleted from OpenInvoice.
  • Dev: [enhancement] add connectivity tests for all database connections to the integration_tests.test_end_to_end test.
  • OpenInvoice: [enhancement] update the link location for hyperlinks pointing back to an invoice in OpenInvoice so it lands at a fully functional page.
  • Dev: [enhancement] allow for setting a full connection string in the config file for any ODBC connections to make it more transparent than relying on System or User DSNs.
  • Invoicing: [bug-fix] when checking for duplicate invoices in the tracking database, include a requirement that the buyer company be the same for an invoice to be considered a duplicate.
  • OpenInvoice: [enhancement] add logic to the getAde() function to specify where a value was set from. This utilizes the u3_code value of the custom_field_dict to build an attribute on obj name [u3_code]_set_from_ade = [some index value, 0, 1, etc]. Useful later in Custom.py functions.
  • QBO: [bug-fix] fix for run_invoice_pay_cancel processor to allow for situations where a payment covering multiple invoices gets cancelled.
  • OpenInvoice: [enhancement] allow for the creation of split coding template files from allocations.
  • OGSql: [bug-fix] fix for invoice report when a client does not have multiple OGSql DBs (realms).
  • QBO: [bug-fix] add time.sleep(0.125) to keep QBO API queries from exceeding the 500 requests/hr limit.

5.16

5.16.0

  • Dev: [enhancement] update helper.py to gracefully exit using q() even if start() was never run
  • Invoicing: [enhancement] add tracking of vendor name to the invoice status table to speed lookups
  • OpenInvoice: [enhancement] add notification_recipients list to Invoice object
  • OpenInvoice: [enhancement] allow getAde() to populate a list for any ADE that is not set to be unique per invoice.
  • OpenInvoice: [enhancement] modify the tracked invoice processor to always download a fresh copy of known invoices. Add notification tracking option. Client must implement a custom trackedInvoiceNotification() function in custom.py to use this feature.
  • OGSql: [bug-fix] Invoice Integration - limit volumes to 2 decimal places (an OGSql requirement)
  • OGSql: [bug-fix] 3rd-Party Payments - Revenue - add special handling rules for Overriding Royalty and Working Interests.
  • Invoicing: [refactor] move getRealm() to utils module.
  • OpenInvoice: [enhancement] add ability to track well allocations and generate split-coding template files for allocations
  • OGSql: [enhancement] add ability to pull well allocations for synchronization.
  • Invoicing: [enhancement] re-arrange the oder of fields on the unexported-approved invoice admin page.
  • OGSql: [bug-fix] fix issue with vendor sync that was causing repeated UPDATE files to be generated for vendors that exist in multiple OGSql realms but have addresses that are different.
  • Dev: [enhancement] modify utils.getConfig() to only work for strings that represent values in u3exchange.config
  • OGPro: [bug-fix] fix for issue where multiple invoices wouldn’t not all be processed in a single pass.
  • OGPro: [enhancement] add time.sleep() for processes that make many repeated API queries to Quorum to reduce the number of connection errors we’ve been seeing.
  • W Energy: [enhancement] allow Archived invoices to be re-exported to W without causing an import error in U3Exchange.
  • W Energy: [bug-fix] fix key error in validateCostCenter() function if no CCs are valid for all companies.
  • Invoicing: [enhancement] make the days-until-invoice-is-considered-stalled a config variable.
  • OGSql: [enhancement] add ability to include all the wells in an allocation cost center on an AFE if the AFE references an allocation.
  • OGSql: [enhancement] allow multi-realm clients to upload APX files to different dropoff locations per realm.
  • OGSql: [enhancement] allow clients to utilize the APX continuous import process for processing AP invoice files.
  • OGSql: [enhancement] allow APX output file encoding to be specified on a per-client basis instead of defaulting to utf-8
  • OpenInvoice: [enhancement] update the default invoice post message to include the voucher number if it exists.
  • Invoicing: [bug-fix] modify logic to only record a new response if it is a change to the current invoice’s status. Reduces the number of entries in the invoicelog table and stops redundant voucher queries from happening. Significantly speeds up the run_monitor job for OGSql clients.
  • Reporting: [enhancement] all the run_a_report process to optionally be run without needing to query any database.
  • Invoicing: [bug-fix] add a check for other tracked instances of an invoice that have the same status as the current tracked instance and mark it as a duplicate if so.
  • OGPro: [enhancement] add ability to specify the number of items to return in a query (default is 100).
  • OGSql: [bug-fix] allow clients to operate without forcing them to have a server_mapping defined on their OGSQL_SERVICE.
  • OGSql: [enhancement] add ability to include the alternate reference number in APX imports
  • OGPro: [enhancement] add ability to customize an invoice.
  • Dev: [enhancement] updates to make_config, bare_config, and bare_custom to speed deployment of new clients.
  • OGSql: [bug-fix] fix to aggregate coding logic to take into account the invoice line-item description.
  • OGSql: [enhancement] add global options to the OGSql invoice processor to set the APX content based on the combination of OGSql version and option status. Done to add consistency across all OGSql deployments.
  • OGSql: [enhancement] modify the invoice.validate() function to only record a warning message is some business rule gets violated. Allow OGSql APX import to notify user of all such errors instead.

5.17

5.17.0

  • OGSql: [bug-fix] fix invoice monitor job. Problem was introduced in 5.16.0 that caused some invoice response records to not get marked as known.
  • OGSql: [enhancement] speed up the run_monitor processes including: getResponse() function of the OGSql DB for clients with multiple databases; findResponse() function of the tracking DB for OGSql clients, and only recording unique responses from OGSql.
  • Invoicing: [enhancement] add indexes to the u3exchange_response table to speed up run_monitor for all clients.

5.17.1

  • Dev: [enhancement] updates to tools/bare_config.py to work better for OGSql
  • OGSql: [bug-fix] properly set invoice code-item gross value to nothing if gross is not included in the original invoice data (gross is only included in JIBFlow invoices). When set to nothing, OGSql will properly calculate gross based on the deck.

5.17.2

  • Bolo: [enhancement] add ability to customize AFEs and CCs in the from_row() functions.

5.17.3

  • Dev: [enhancement] add a Python 3.11 session for testing.
  • Bolo: [enhancement] add option to include a company/site override value in the custom AFE export query, instead of always using the value Bolo supplies for the AFE.
  • Bolo: [enhancement] AFE sync and CC sync enhancements to speed up processing. Add ability to customize AFEs and CCs prior to insert for tracking in the getAfes() and getCcs() functions.
  • Data Warehouse: [bug-fix] fix attachment cleanup for clients who are running on linux and downloading image attachments.
  • OGSql: [enhancement] add configuration value for specifying the currency exchange type of “E” or “P” for multi-currency clients.
  • Custom Report: [enhancement] add the current route to the processor’s current_file_info instance.
  • Quorum: [enhancement] remove quantity value from code_items that are tax values.

5.17.4

  • Bolo: [enhancement] add file-exists check to the invoice response monitor process to reduce errors caused by files being cleaned up prior to being able to parse the file.
  • Bolo: [enhancement] (Beta) addition of buffered data processor for AFEs to reduce the memory usage for Bolo clients during AFE sync.
  • Bolo: [enhancement] add ability to customize AFEs and Cost Centers prior to the sync process.
  • Invoice: [enhancement] refactor invoice pay cancel and invoice payment processors to use the U3Command.
  • OGPro: [enhancement] speedup for looping processes that don’t require additional API queries (expense decks).
  • OGPro: [bug-fix] fix expense deck parser to properly record Field decks so they can be linked to allocation AFEs and CCs.
  • Wells Fargo: [enhancement] strip tab characters from data in Wells Fargo payment output files.
  • OGSql: [bug-fix] fix payment date in invoice payment status updates.
  • OGSql: [enhancement] speed up for invoice payment status updates for clients using multiple OGSql databases.
  • OpenInvoice: [bug-fix] fix syntax error in the getReferenceData functions used by custom master data sync processes.

5.18

5.18.0

  • OpenInvoice: [bug-fix] fix another syntax error in the getReferenceData function used by custom master data sync process.
  • OGPro: [bug-fix] fix for 404 errors caused when a client has the gl_system_id_location field set to “code” for vendor sync.
  • OGSql: [bug-fix] fix for invoice payment process for clients with multiple source databases.
  • OGSql: [bug-fix] add back the process to set net_value from line-item.qty1 value.
  • Dev: [enhancement] increase test coverage.
  • Dev: [enhancement] added the delete_flag to Response table to assist with cleanup of duplicate responses.
  • OGPro: [enhancement] pick up deck code from JIBFlow partner data when it exists.

5.18.1

  • OGPro: [bug-fix] update invoice payment process to properly set the payment type instead of always defaulting to “Check”
  • OpenInvoice: [enhancement] add ability to set a customization function for the AdpInvoice object.
  • 3rd-Party Payments: [enhancement] remove unused code (BankDbWrapper).
  • OGPro: [bug-fix] set the default value for “acceptanceDate” to the invoice.occurrence_date value instead of invoice.approval_date. Note, if you upgrade an OGPro client from a previous version and they wish to continue using approval_date, add a custom mapping to maintain that functionality.
  • Quorum: [enhancement] addition of new fields in Quorum Enterprise AP Invoice import template (MTRL_TRANS_TYPE_CD, QNTY_2_AMT, QNTY_2_UOM_CD, SECTION_NO, and BUS_UNIT_CD_POST_TO).
  • Quorum: [enhancement] only set a UOM value if a quantity exists. Not all GL accounts allow/require UOM.
  • Dev: [enhancement] update to task_monitor.py to handle errors caused by permissions issues.
  • Web Interface: [enhancement] add ability to search and filter on vendor name.

5.18.2

  • Invoicing: [enhancement] for clients who are already storing vendor names in the tracking DB, speed up the daily report by not requiring a separate lookup call to get it.
  • QBO: [bug-fix] fix missing customization logic on Vendor Credits (negative invoices).
  • Dev: [bug-fix] update cron_monitor to work on saas system with virtual environments
  • OGPro: [enhancement] add option to exclude code-items on JIB invoices if they have a zero-dollar total and have a disputed amount, regardless of the situation with cost center or gl accounts.

5.18.3

  • Dev: [enhancement] add multiple configurations to the cover.bat script to increase test coverage. Combine multiple runs of tests into a single coverage report
  • Dev: [enhancement] update coverall.bat to utilize the updated cover.bat and rearrange output so file status can be seen.
  • Web Interface: [enhancement] change search filter to work on dates instead of vendor names.
  • Reports: [bug-fix] get run_a_report working for clients who use the monthly service report.
  • Dev: [enhancement] add flag to impersonate_single to allow it to run with the apply_invoice_filtering flag set to True
  • KEA: [enhancement] add tool to create a spreadsheet with links to downloaded images for KE Andrews-like clients.
  • OGPro: [enhancement] include the connection error message in the vendor sync errors.
  • OGSql: [bug-fix] updates to tests to resolve issues with non-OGSql clients.
  • OGSql: [enhancement] add ability to parse an APX file for use in JIBFlow integrations.
  • QBO: [bug-fix] fix issue that was masking the GL code lookup errors.
  • Quorum: [bug-fix] limit PONUM to 25 characters. No longer include CC number in the PROP_NO field.
  • OGSql: [bug-fix] set the payment time to 23:59 so items created and paid on the same day show up in the OpenInvoice journal correctly.

5.18.4

  • OGSys: [bug-fix] fix for test jobs.

5.18.5

  • Bolo: [bug-fix] fix for tests of the buffered data sync process.

5.18.6

  • OGPro: [enhancement] add better error handling and automated randomized re-try to the doGet() function.

5.19

5.19.0

  • General: [enhancement] add path info to task_monitor.py to all it to work properly for clients running on multi-client windows hosts (externally hosted SaaS systems)
  • Dev: [enhancement] update to bare config for creating new OGSql and OGPro deployments
  • OpenInvoice: [bug-fix] fix issue with getVendors() call that was introduced in 5.18
  • OpenInvoice: [enhancement] add indexes to tracking DB invoice table to speed up monitor and payment queries.

5.19.1

  • Bolo: [bug-fix] fix issue that wasn’t setting AFEs as Inactive in OI when they had a status of A but a close_date value in Bolo.
  • QBO: [enhancement] allow clients using the GL account numbers to make use of the major + minor numbers in OpenInvoice.
  • OGSql: [bug-fix] fix for single DB clients who are using the continuous integration option in OGSql

5.19.2

  • Web Interface: [enhancement] remove vendor name and vendor id from filter options on admin page
  • OGSql: [bug-fix] fix for clients using JIBFlow that have a realm ID that exists only in OpenInvoice, like JIB
  • Capital One: [enhancement] add support for Capital One as a revenue check endpoint
  • Bolo: [bug-fix] fix error caused by too many open cursors in invoice payment processor.
  • SFTP: [enhancement] add ability to specify disabled algorithms when connecting to older servers
  • Dev: [bug-fix] set invoicing service value to ADP when client is an OpenInvoice client. The ADP value works across all instances.
  • OpenInvoice: [bug-fix] take into account the EarlyPay due-date when determining eligibility for discount. OpenInvoice does not update the EligibleFlag value when an invoice is amended and re-exported after the due-date has passed.
  • Dev: [enhancement] allow a FileInfo() instance to define the source file encoding for anything passed in to the buffered_file_processor, instead of defaulting to UTF8.
  • 3rd-Party Payments: [enhancement] add parser for the JPMC Access AP6 file format.
  • OGSql: [enhancement] add robust built-in invoice number handling for dealing with all the situations we’ve otherwise had to add custom logic for each time.
  • OGSql: [enhancement] add support for JIBFlow sites in OpenInvoice.
  • Bolo: [bug-fix] stop trying to connect to an image staging and permanent server when client’s aren’t importing invoice images.

5.19.3

  • General: [enhancement] add event handler to the log server.
  • Invoicing: [bug-fix] add base-level code to set the gl_inv_num value on a u3exchange.invoice.Invoice when it is created from u3exchange.model.Invoice. Added base level method to u3exchange.invoice.Invoice to get the GL System Invoice Number either from this known value, or to generate it using the GL System’s custom invoice number function. Resolves issue that can occur when a client changes their custom invoice number logic after an invoice has already been imported by not yet paid.
  • Invoicing: [enhancement] add better logging to run_monitor process.
  • 3rd-Party Payments: [enhancement] addition of compressFile utils method to allow output files to be compressed in a standardized format for BOK output.
  • EnergyLink: [enhancement] add ability to specify a prefix for output file names, with the ability to interpolate a timestamp if required.
  • JPMC: [enhancement] updates to Access AP6 file processor [beta]
  • OGSql: [bug-fix] fix for APX output when a client has option 181 enabled (discounts)
  • OGSql: [enhancement] add ability to include full check amount in payment status updates. Also add ability to include OGsys AP voucher number in payment status update.
  • JPMC: [enhancement] add ability to output files as unencrypted zip files if necessary.
  • Quorum: [bug-fix] add code that can properly handle canceling payments on invoices that have more than one payment record recorded in the tracking database.
  • OGSql: [bug-fix] add code that can properly handle canceling payments on invoices that have more than one payment record recorded in the tracking database.
  • General: [enhancement] for all database queries that return one record, ensure we are explicitly creating and closing a cursor each time to reduce the number of open cursors on the database.
  • QBO: [bug-fix] fix issue with adding PO number to Bill private note when PO number is included in the invoice coding.
  • OpenInvoice: [enhancement] add ability to include sub-codes when generating COA sync files for OpenInvoice.
  • OpenInvoice: [enhancement] add ability to optionally force an invoice payment status update to be re-sent even if OI has already recorded the invoice as paid.
  • General: [enhancement] added a run_log_shipper command to send logfiles to Unit 3 for troubleshooting purposes.
  • 3rd-Party Payments: [enhancement] add option to explicitly specify file encoding on source files for the buffered_file_processor.
  • General: [bug-fix] fixes for several tests that would fail for clients using Bolo but not using an Invoice Integration service.
  • 3rd-Party Payments: [bug-fix] explicitly set the pinentry-mode to loopback for GPG encrypted files so clients using newer GPG deployments don’t get a GUI prompt for password protected keys. Also, stop printing the passphrase in the log output.
  • OGPro: [bug-fix] only record OGPro invoice validation errors to the tracking database. Warnings are only printed in the log file. For JIBFlow invoices, recording the warnings often resulted in the error message being truncated. Warnings do not stop an invoice from posting to OGPro.

5.20

5.20.0

  • General: [bug-fix] bump to 5.20 in version numbering. 5.19.4 should have been labeled 5.20.0 due to the database change to support subcode descriptions
  • OpenInvoice: [enhancement] add ability to customize the invoice payment data being sent to OpenInvoice with a custom function.
  • General: [enhancement] documentation updates.
  • Dev: [enhancement] updates to the bare_config.py file for help with generating initial client configs.
  • OGSql: [enhancement] add ability to customize the invoice payment information from a custom function.
  • OpenInvoice: [enhancement] change the handling for AFE and CC sync warnings to no longer leave the source file in the working directory to be processed again automatically. The new process will work best when a separate job is scheduled either weekly or nightly to –export_all.
  • JPMC: [bug-fix] fix issues with the AP6 Domestic/Foreign file process.
  • QBO: [enhancement] allow a client to sync Projects as AFEs to OpenInvoice.
  • Dev: [enhancement] add clearMemorizedValues() function to the U3TestCase setupClass method to ensure any functions that were previously populated by @memorized don’t have any stale values in cache that may affect test cases.
  • Dev: [enhancement] add modifyConfig() function to the U3TestCase that will allow any test cases to temporarily update values in u3exchange.config for testing.

5.20.1

  • OGSql: [bug-fix] fix issue in run_monitor that was missing invoice status updates for invoices whose gl_inv_num was not the same as the original invoice number.
  • Dev: [enhancement] update modifyConfig() to work for dict variables as well.
  • Dev: [enhancement] increase test coverage.
  • Quorum: [enhancement] allow a client to customize AFEs and CCs prior to syncing.

5.20.2

  • OGSql: [bug-fix] disable the output of PO number on invoices. For clients that have the option_inventory set to True, including an empty value seems to be the only way to get invoices to import successfully.
  • Dev: [enhancement] add more output to the info object for OGPro clients.

5.21

5.21.0

  • OGPro: [enhancement] add line contextual information to invoice error notification messages.
  • Invoicing: [enhancement] when available, add the response file name/ID to invoice error notification messages.
  • OGPro: [enhancement] increase the number of re-tries and the random wait time when API queries result in 503 messages from Quorum.
  • Data Warehouse: [enhancement] add column for tracking the gl_inv_num value in the Invoice table.
  • Data Warehouse: [enhancement] add helper script for populating the gl_inv_num value for invoices that have previously been processed by a GL system.
  • Dev: [enhancement] add helper script for generating a GL System output file from an Invoicing service file for pre/post upgrade comparison.
  • OGSql: [enhancement] output the line-item description as ASCII only text. Add logic to convert unicode characters to ASCII equivalent where possible.
  • OpenInvoice: [enhancement] when the “sync_locations_from_oi” option is True in run_cc_sync, query OpenInvoice for the current locations on a CC and Activate/Inactivate any new locations.
  • Bolo: [enhancement] add ability to include a location in the CC export query.
  • CapitalOne: [enhancement] add ability to process check image file from SFTP server.
  • General: [enhancement] pass the command options though to the Processor object and store as an instance variable.
  • General: [enhancement] add a RESTART IDENTITY to the import table cleanup query to keep auto incremented ID values from growing forever.
  • Invoicing: [enhancement] update the run_cc_sync command to use U3Command and no longer require the destination be specified on the command line - defaults to “invoicing” service.
  • Bolo: [enhancement] add ability to customize the buffered output when reading a TR2350 file using the buffered_file_reader.
  • OGPro: [bugfix] fix error caused when query limit set on OGPro API calls for vendor export.
  • OGPro: [bugfix] update the daily report so it no longer needs to query the OGPro API for vendors when the client already has the vendor_name field in their database.
  • OGSql: [bugfix] fix for isVoucherDeleted() that was resulting in a return value of True in cases where the invoice number had been modified from the original.
  • OGPro: [enhancement] make the default _clean_invoice_number limit OGPro invoice numbers to 20 characters.
  • Dev: [enhancement] update make_config and bare_config for more accurate initial config creation.
  • OpenInvoice: [enhancement] remove transactionDateTime value from invoice pay status posts. This allows OpenInvoice to automatically append the current datetime and avoid problems with records showing up out of order in the invoice Journal.
  • OGPro: [bug-fix] fix parsing issue when an AFE has a defaultCompany value defined.

5.21.1

  • BOK: [enhancement] Adding separate processors for Bank of Oklahoma/Bank of Texas.
  • OpenInvoice: [bug-fix] add ordering to location updates in AFE/CC sync. Activates will always be listed last. This fixes an issue where a location is getting both an Activate and Inactivate record due to it be in a different order in import and current tracking tables.
  • Bolo: [bug-fix] for TR2350 parser, change value on BT (Batch Trailer) line from check count/amount to total-payments count/amount.
  • OpenInvoice: [enhancement] add buyer company column to the daily invoice report output.
  • OGPro: [bug-fix] create unique OGProJIBDeck records for each deck that has a different cc number, deck code, and company code. Previous version wasn’t including company code.
  • OpenInvoice: [bug-fix] no longer explicitly set payment status transaction datetime as the time of actual payment. Allowing OpenInvoice to set the transaction datetime automatically resolves issues with payment status updates being recorded in the invoice journal in the wrong order.
  • Bolo: [bug-fix] only allow btu_gravity value to be stored when TR2350 file has a valid decimal value in that field.

5.21.2

  • Dev: [bug-fix] fix for problem tests
  • OGPro: [bug-fix] allow expense deck linking to work for Wells with a Type of something other than just “Well” or “Other”

5.21.3

  • Invoicing: [enhancement] add option for separate email recipient for missing invoice report.
  • OpenInvoice: [bug-fix] fix for missing “Decommission” option when syncing AFEs and CCs.
  • Invoicing: [enhancement] add logic to the run_voucher_monitor to locate and record a voucher number if an invoice doesn’t have one assigned.
  • OGPro: [enhancement] add $total and ordinal as expected fields on voucher and voucher groups to reduce unnecessary logging entries.
  • Dev: [bug-fix] fix get_master_types command so it returns the correct AFE Type format.
  • OpenInvoice: [enhancement] allow invoice processor to ignore bad attachments on invoices (attachments that cause specific 503 errors when trying to download).
  • Wells Fargo: [bug-fix] allow Payee objects without the overnight_spec to process (Bolo Payee objects do not have this)
  • OpenInvoice: [enhancement] add run_cancelled_invoice_processor command to clean up tracked status of invoices that have been cancelled, deleted, or disputed in OpenInvoice.
  • General: [enhancement] add error handling to file_is_complete check to all for re-tries when temporary network issues occur.
  • Dev: [enhancement] cron_monitor no longer reports a disabled get_source_data as a warning if the client’s ERP doesn’t require it.
  • Dev: [enhancement] added get_system_details command to generate a report of the running U3Exchange-specific environment on a client system.
  • Dev: [enhancement] modify task_monitor to report full schedule, no longer report a job who’s run date is in the future as a warning if it has not yet run.
  • OpenInvoice: [enhancement] add “import_accounts” = True/False option to the AFE_SYNC and CC_SYNC configs - allows a client to set the <ImportAccounts> tag to false in AFE/CC XML files so they can manually maintain GL account linkages in OI at the cost object (not Type) level and not have the sync process overwrite it. NOTE: this is not currently supported by OpenInvoice
  • OpenInvoice: [bug-fix] add code to re-write XML on disk when an invoice contains references to attachments that throw a 500 error in OpenInvoice when U3Exchange attempts to download them.
  • WellsFargo: [enhancement] get PositivePay file processor working with new-style file_sync.
  • JPMC: [enhancement] add buffered file processor for reading JPMC revenue check batch files.
  • OGPro [bug-fix] don’t include the grossTotal value in posts to the invoice import API when the invoice only has net amounts. This allows Quorum to calculate gross based on the deck for non-op wells.
  • DataWarehouse: [bug-fix] enable storing of invoice data in OGPro format (Invoice and AggregateCoding tables were previously empty for OGPro clients).
  • OGSql: [bug-fix] add check for valid payment date in payment record for invoice pay status updates.
  • Dev: [enhancement] added PostgreSQL commands for the clean-all.sql to allow easy refresh of datawarehouse data without dropping the database.
  • Dev: [enhancement] added script to perform a quick file comparison (diff) of any two files.
  • OpenInvoice: [bug-fix] wrap the results of the accounting period mapping custom results in getDate()
  • OGPro: [bug-fix] capture error messages on the import object, not just the Invoice and Details objects to resolve issues where no invoice error message was being recorded on certain rejects.
  • DataWarehouse: [bug-fix] fix recording of the gl_inv_num value on the Invoice table.
  • OpenInvoice: [enhancement] add function to remove duplicate Cost Objects prior to import into tracking DB tables to avoid throwing errors for items that can be handled automatically.

5.21.4

  • Invoicing: [bug-fix] update missing_invoice_report to work properly for OGPro clients.
  • Dev: [enhancement] add script for displaying client integration endpoints quickly.
  • Dev: [enhancement] add script to generate an integration testing framework spreadsheet based on client config.
  • Dev: [enhancement] add helper script to update voucher numbers for invoices originally processed in one ERP and then moved to another.
  • OGPro: [bug-fix] fix handling for AFEs with close dates assigned in ODA.
  • JPMC: [enhancement] make the default behavior to include negative sign after amounts in check files.
  • TCP: [enhancement] add support for outputting payments for Texas Capital Bank.
  • Dev: [enhancement] documentation updates.
  • Wells Fargo: [bug-fix] add missing virtual card payment details to summary message.
  • Integra: [enhancement] updates to Integra processing to work with version 5.20+
  • Dev: [enhancement] remove multiple uses of eval() and replace with u3exchange.core.getAttr()
  • General: [enhancement] update getDateOrNone() so it works with a datetime string that has no space or indicator between the date and time components.
  • General: [enhancement] add deprecation warning to getDateFromString() - replace with getDateOrNone() going forward.
  • General: [enhancement] add utility function for generating an output file name from a processor’s current_file_info instance.
  • Dev: [enhancement] add dynamic imports for ServerConnectors based on standard naming convention of u3exchange.general.general_processors and get_general_connector()

5.22

5.22.0

  • Dev: [bug-fix] update to class name in info object output. Fix issue with printing default export query for Bolo vendors.
  • Data Warehouse: [enhancement] fix for command line string to allow process to work on both python 3.7 and python 3.11 deployments.
  • Integra: [enhancement] updates for default queries and handling of valid companies from the EXPORT_COMPANIES list.
  • Bolo: [enhancement] create a separate function to generate the vendor export query as SQL text for use in manage.py shell with helper.py.
  • Bolo: [enhancement] move the logic to check for valid companies on a cost center earlier in the processing logic to shortcut instances where we’re searching for other CC details for CCs that are going to be skipped from the export anyway.
  • Bolo: [enhancement] added an optional update to the way image reference links are generated for Bolo clients, allowing for clients to set up a prefix in DM1117 so image reference links will work in both AP1301 and AP3340(?)
  • Dev: [enhancement] add U3Process tracking table and logic to specify when a management command should not be run due to an other process running which may cause a conflict.
  • Integra: [bug-fix] make the default encoding cp1253 for reading the FoxPro DBF files.
  • Invoicing: [enhancement] add ability to automatically deal with situations where a single invoice has multiple ready-for-payment records in the tracking database.
  • Dev: [enhancement] add option to include environment variables in output from get_system_details.
  • Integra: [bug-fix] correct logic for setting Cost Center valid companies and Active/Inactive status.
  • Dev: [enhancement] add logic to deploy.py script to compare deployed directory structure to stable to highlight any files that may need to be pruned.
  • Dev: [enhancement] add list of conflicting processes for multiple management commands.

5.22.1

  • Data Warehouse: [enhancement] add AssignedByBuyer and AssignedBySeller site codes to ActionTarget. Add phone and emails to contacts too. Change Invoice.buyer_id from bigint to nvarchar(50) in database.
  • OpenInvoice: [bug-fix] for AFE and CCs with linked owners, fix process that reads and writes the XML files to properly include owner in the output.
  • General: [enhancement] update SMTP logic to work with direct SSL connections, not just Start TLS.
  • General [enhancement] reduce warning messages when they aren’t necessary.
  • Data Warehouse: [enhancement] allow diff.exe (or diff) to be used to generate the diff between two instances of an invoice.
  • Integra: [enhancement] exclude non-vendors from the NAME table when syncing vendors.
  • OGPro: [enhancement] add “Agreements” as a valid well CC type.
  • OGSql: [enhancement] add ability to include CC owner in exports.
  • Quorum: [enhancement] add additional mappings for Units of Measure.
  • Dev: [enhancement] add script to generate a docker container for a client - build_container.py
  • Data Warehouse: [enhancement] added logic to allow the data warehouse job to continue processing downloaded files in the event that one or two of the downloads contain invalid data. Errors will be reported at the end of processing.
  • OGSql: [enhancement] add ability to include CC company in exports.
  • Procore: [enhancement] add support for Procore as a Purchase Order Service.
  • Quorum: [bug-fix] Update truncation logic for string inserts to limit the size by number of bytes instead of number of characters.
  • General: [enhancement] add logic for utilizing OAuth 2.0 Client Configuration flow.
  • OGSql: [enhancement] add ability to skip invoices that are marked as already paid, but still track them for payment status updates.
  • Bolo: [bug-fix] For EI Data Bridge clients, change the default query for invoice with voided payments to report the system date as the void date instead of the last day of the month, so voids show up in OpenInvoice when clients expect them to.
  • OGPro: [enhancement] include gross value when the CC is an allocation CC. ODA won’t calculate gross automatically for Allocations.
  • OGPro: [enhancement] give clients the option to leave checkStubDescription blank when no remittance-annotation is explicitly included. Default behavior is to use invoice description unless client sets OGPRO_SERVICE.always_include_check_stub_description to False.
  • Invoicing: [enhancement] add ability to check for deleted invoices in OpenInvoice to the missing_invoice_report job. Also include a disclaimer not to rely on that report for reconciliation purposes.
  • Invoicing: [enhancement] updated the missing_invoice_report to check for canceled OI invoices. Added disclaimer stating this report should not be relied on for reconciliation purposes.
  • OGPro: [enhancement] add more robust logic for locating invoice responses for invoices that ODA has truncated the vendor ID on.
  • Data Warehouse: [bug-fix] add new lineNumber field to PriceBookEntry table.
  • OpenInvoice: [enhancement] allow for an unlimited number of custom_supplemental_code mappings.
  • OpenInvoice: [bug-fix] add error handling for when invoice post processor runs for an invoice that has been canceled/deleted from OpenInvoice.
  • Data Warehouse: [enhancement] add bulk inserts on tables where returning the unique sequence number is not necessary. Helps speed up inserts.
  • Data Warehouse: [enhancement] mad the invoice diff an optional element to include. In some situations, the diff results in too much data and needs to be ignored.
  • OGSql: [enhancement] add ability to link AFEs to sites in OpenInvoice.
  • Procore: [enhancement] add ability to filter new PO sync based on vendors being explicitly enabled in Procore using the Tags/Keywords field in Procore.
  • Data Warehouse: [enhancement] updates to the PriceBook data to support new elements added by Enverus
  • OpenInvoice: [bug-fix] fix for clients using the Decommission option on closed cost objects.
  • Quickbooks Online: [enhancement] add support for including image attachments on invoice/bill import.
  • Quorum: [bug-fix] fix issue with inactivating Cost Centers in OpenInvoice.
  • Verian: [enhancement] add better error handling/reporting for bad POs.
  • OGSql: [bug-fix] restrict linked sites to EXPORT_COMPANIES for the AFE and CC sync process.
  • Quorum: [enhancement] add location_code field for QuorumInvoice instances.
  • W Energy: [bug-fix] fix issue with setting accounting period when date value is a datetime instance as opposed to a date instance.
  • OGPro: [enhancement] add more robust error handling to vendor query to deal with instances where ODA incorrectly responds with a 401 for a legitimate vendor’s entity record.

5.22.2

  • Data Warehouse: [bug-fix] update PriceBook tracking tables to include identity columns for keys, as well as add new columns for itemMasterCode and itemMasterId

5.22.3

  • General: [bug-fix] update the SftpServerConnector.isFile() function to check for file versus directory.
  • General: [bug-fix] fix the working path in FileTypeProcessor.
  • Procore: [bug-fix] properly handle timezone on last-update-dates when syncing POs.
  • Procore: [bug-fix] set a default value for units when there is not one set in Procore.
  • Bolo: [bug-fix] fix for multi-CC mapping for AFEs.
  • JPMC: [enhancement] add passthrough processor for payment files.
  • Quorum: [enhancement] strip commas from invoice numbers - Quorum doesn’t properly quote them in its payment response csv files.
  • Quorum: [enhancement] add passthrough processor for payment files.
  • OpenInvoice: [enhancement] increase test coverage.
  • OGPro: [bug-fix] fix issue with run_vendor_sync introduced in 5.22.1
  • OGPro: [enhancement] allow aggregate coding to work for OGPro integrations.
  • Data Warehouse: [enhancement] add job to search for missing invoices and generate a file of document IDs that can be fed back in to async_get_all in order to populate the missing data.
  • Data Warehouse: [bug-fix] update to the download process so it can handle more than 10,000 invoices in one run.
  • Invoicing: [enhancement] remove message about monitor.py job from the stalled invoice notification.
  • Dev: [enhancement] added -b (no_base) flag to deploy.py to allow for config/custom only deployments (excludes the base system files).
  • OpenInvoice: [bug-fix] fixed issue with new custom_supplemental_code handler.
  • OpenInvoice: [enhancement] added a getUsers() function to the OpenInvoice ServerConnector instance to utilize the new API GET endpoint for users.

5.22.4

  • General: [enhancement] documentation update. Copyright update.

5.22.5

  • Dev: [enhancement] update to Docker Template
  • OpenInvoice: [enhancement] update to getReferenceDetails() to work with built-in data types.
  • Integra: [bug-fix] fix issue with generating file names for output.
  • OGSql: [bug-fix] fix issue with setting duplicate status when looking for voided payments
  • Quorum: [bug-fix] fix issue with setting duplicate status when looking for voided payments
  • Quorum: [enhancement] add ability for parsing vendors.csv to work with non-standard header names.
  • General: [enhancement] add logic to cron_monitor to not report a disabled run_invoice_pay_cancel as a warning message for OGPro clients.
  • OpenInvoice: [enhancement] add ability to generate a UserBatch from a tab-separated-values file.
  • Dev: [enhancement] add cipher detail in SftpServerConnector.getInfo()
  • Invoicing: [bug-fix] have the U3ExchangeBase.from_xml_file() return None when the file-path doesn’t contain a valid file or the XML is invalid.
  • OGPro: [enhancement] allow clients to set custom CC types.
  • Procore: [enhancement] add logic to handle blanket/limit POs
  • OpenInvoice: [enhancement] add logic to handle blanket/limit POs. Ignore warnings on PO sync when Service code is empty (limit orders).
  • OGSql: [enhancement] get_ogsql_info output changes: clean up initial voucher number. Output an empty list when no allocation types are present. Output a custom payment query when client’s DB instance has no Approved_For_Posing field in Ap_Invoice table.

5.22.6

  • Dev: [enhancement] add columns() function to helper.py to see which fields exist for a given table in the GL_DB_SERVER
  • Data Warehouse: [enhancement] fix for getting updates to not-fully-invoiced field ticket receipts from the OpenTicket API query.
  • Bolo: [enhancement] add ability to set multiple valid companies on an AFE.
  • Integra: [bug-fix] strip white-space off of vendor IDs in payment status update query.
  • Dev: [enhancement] add user info to the get_system_details command.
  • TCB: [enhancement] add support for SMB connection.
  • Invoicing: [bug-fix] update missing_invoice_report to build report message as a list of strings for better handle errors caused by unexpected characters in error messages.
  • Invoicing: [bug-fix] when incrementing the quantities during aggregate coding, there was existing logic that would not increment the quantities if the descriptions were the same and the quantity values were the same. However, this assumption should only apply in cases where the two codes are from the same line item. Added logic to check the code’s line-item-number. If they differ, quantities are now incremented.
  • Integra: [enhancement] When querying the Integra data for multiple companies, add the ability to query each company separately instead of as a single UNION. This allows for the process to complete and report errors in cases where a new export company is added in the u3exchange config but Avatar has not yet added the new company data to their export. Previously, the data sync would just fail.
  • Integra: [bug-fix] add ability to handle situations where a data table contains no data.
  • Integra: [enhancement] add ability to link AFEs and CCs to multiple sites when a client has multiple Integra companies.
  • OGPro: [bug-fix] handle situations where ODA responds with a blank (no error message) import and also has no content. This situation will cause the invoice to automatically be re-exported.
  • TCB: [bug-fix] fix for handling working and output file names in AP Check Export process.

5.22.7

  • Dev: [bug-fix] update to helper.py for select() to work for integra clients.
  • Dev: [enhancement] add better error handling to the get_all_config_options_for_service tool.
  • OpenInvoice: [enhancement] add option to exclude location values altogether.
  • 3rd-Party Payments: [enhancement] add a retry/timeout for the pgp_encrypt_file() function to allow for slow key agent services on newer OpenPGP systems.
  • Integra: [enhancement] add more descriptive error handling message when invoice fails a FIELD requirement.
  • OGSql: [enhancement] update the default AFE/CC export queries to properly locate default deck and limit output to export companies.
  • Quorum: [enhancement] add ability to map data to the trans_vol field and properly aggregate trans_vol when clients are using aggregate coding logic.
  • Quickbooks: [enhancement] add a retry/timeout to the invoice attachment upload process to deal with situations where Intuit is slow creating a new invoice.
  • TCB: [bug-fix] fix summary message generated when payment files are processed.
  • OpenOrder: [enhancement] add logic to stop notifying sysadmin separately from end-user when a PO fails to import due to a business rule issue that the end-user needs to resolve.
  • Dev: [enhancement] update to unittest patch import statement so it works with updated versions of U3Exchange going forward.
  • OpenInvoice: [enhancement] add ability to exclude locations altogether from the AFE and CC sync process.
  • Bolo: [enhancement] add a Bolo Land check processor.
  • Integra: [enhancement] make stripping vendor ID’s leading zero an option when processing invoice payments.
  • Dev: [enhancement] make testing image attachments contingent on whether or not client is actually configured to download attachments.
  • Data Warehouse: [bug-fix] add error handling to deal with attempts to record a receipt record that already exists.
  • Integra: [enhancement] output the JOWNER field (mapped to distribution_company) to the Invoice XLSX output file.
  • Integra: [enhancement] add logic to handle invoice payment records when Integra is exporting line-item details in the payment files.
  • 3rd-Party Payments (Bolo): [bug-fix] fix the count and total in the revenue batch footer lines for buffered_revenue_check.
  • Quickbooks: [bug-fix] only attempt to upload attachments to invoices that are actually downloaded to begin with. Allows for excluding snapshots if necessary.
  • Quorum: [bug-fix] add logic to add a serial number to a filename when attempting to archive a file that already exists in the archive directory.
  • OpenInvoice: [bug-fix] add logic to ensure invoice due-date override values are treated as date objects.
  • Bolo + 3rd-Party Payments: [enhancement] add logic to ignore AP payments whose remittance detail amounts do not add up the full payment amount. This can happen for Welland Export clients whose database has not yet fully synced with Bolo at the time the payment job is run.
  • General: [bug-fix] fix the way the U3DjangoCommand determines whether or not a process was run from manage.py test.
  • General: [bug-fix] add self.punt() to the get_specific_invoice command so it properly cleans up its u3process entry.
  • Integra: [bug-fix] include NADR1 value as Address1 for vendors by default.
  • Integra: [bug-fix] add logic to limit invoice numbers to 20 characters (the Integra limit).
  • Integra: [enhancement] all logic to allow for void dates on invoice payments. Integra does not currently include these in their export data.
  • Integra: [enhancement] specify a list of valid table names that are used by the integration and ignore any data files from Integra that are not in the valid table name list.
  • 3rd-Party Payments: [bug-fix] add proper handling of creating batch footer totals from integers on revenue payments created using the buffered write process. Resolves issue caused when penny amount was between 1 and 9 cents.
  • Quickbooks: [enhancement] add logic to allow for syncing Customers as Cost Centers, not just Jobs.
  • Quickbooks: [enhancement] add logic to pull Department/Location information from QBO as well as use Department references in Bills.
  • Quickbooks: [enhancement] allow clients to optionally download snapshots and attachments from OI and upload one or both to QBO linked to Bills.
  • General: [bug-fix] fix for process tracking and checking for running conflicts. Requires cleanup on u3process records.
  • OpenInvoice: [bug-fix] When an invoice due-date value is supplied (rare), force that value to be treated as a datetime.date object.
  • OpenInvoice: [enhancement] add ability to customize AFE data prior to uploading to OpenInvoice with a custom function.
  • Bolo: [bug-fix] only allow the response phase to be either V or S (typically pulled from the first character in BTAB files). Fixes issue with improperly formatted files that get rejected by Bolo.
  • Quickbooks: [enhancement] add ability to download and track Inventory Items.
  • Quickbooks: [enhancement] add ability to track ItemBasedExpenseDetail in Bills.
  • OGPro: [enhancement] modify the isVoucherDeleted() function to search for voucher by voucher ID instead of vendor and invoice number. This drastically speeds up the response.
  • Data Warehouse: [bug-fix] update schema to make JIBPrtHeaderDataKey and JIBPrtLineDataKey Identity fields.
  • Data Warehouse: [enhancement] add tool for removing duplicate DB entries.
  • OpenInvoice: [bug-fix] fix for Reference Detail error handling.
  • JPMC: [bug-fix] fix setting customer_id on 2nd+ revenue check files when a source file is too big to send as a single file.
  • JPMC: [enhancement] add ability to include extra remittance info in the 76 record for AP checks.
  • OGPro: [bug-fix] update the shouldInvoiceBeReexported() function to return True when the import fails with an “An unexpected error” from ODA.

5.22.8

  • OpenInvoice: [enhancement] allow for track_invoices to not mark invoices as exported if set_as_exported is False.
  • Bolo: [enhancement] allow for processing of Land Checks.
  • OpenInvoice: [enhancement] for JIBFlow invoices, set coding JIB Deck value when not already set and a deck_value exists in the JIBPrtData element.
  • Quickbooks: [enhancement] update error handling on getQueryResults() method.
  • General: [enhancement] Task Monitor - report a warning when a trigger is set to expire.
  • General: [enhancement] Task/Cron Monitor - report a warning when a certificate is about to expire.
  • General: [enhancement] raise errors related to insufficient free space when trying to post data on an SFTP server.
  • Data Warehouse: [bug-fix] add missing isDisputed field to the PriceBookEntry table.
  • JPMC: [enhancement] add ability to convert a JPMC check register file into an Excel spreadsheet and send via email.
  • OpenInvoice: [enhancement] add optional flags to the get_specific_invoice job to all downloads to be made in the hold directory as opposed to the ApprovedInvoice directory, as well as to download all the attachments associated with the given invoice.
  • Quickbooks: [bug-fix] fix issue with sorting of source system vendors when downloading from multiple QBO company files. Resolves issue of creating multiple supplier IDs for vendors that exist in multiple QBO company files.
  • OGPro: [bug-fix] update to logic for tracking invoice imports so the original invoice number gets properly recorded in the tracking database.
  • Quickbooks: [enhancement] track both DisplayName and CompanyName for vendors. Add ability to customize the vendor object on import.
  • Quorum: [enhancement] add ability to specify payment_type_cd value on an invoice.

5.22.9

  • 3rd-Party Payments: [bugfix] Bolo - fix for error handling when a failure occurs in a custom function while reading TR2350 files.
  • Invoicing: [enhancement] allow invoices to have more than 9 custom_supplemental_code values.
  • Invoicing: [enhancement] update to the aggregate coding logic to optionally not roll up lines when the units and/or unit prices are different.
  • Invoicing: [enhancement] add ability to send specific invoice pay cancel messages to OpenInvoice.
  • General: [enhancement] add logic to close source system connections as soon as source system reads are complete instead of waiting until the end of the process.
  • Invoicing: [enhancement] add batch inserts for linked GL account tracking to reduce database writes.
  • OGPro: [enhancement] slow down API calls to reduce occurrence of 429 errors.
  • Quorum: [enhancement] allow clients to set PROP_NO in invoice export files using a custom function.
  • Quorum: [enhancement] allow clients to optionally have less than 4 character minor numbers in invoice export files.

5.23

5.23.0

  • Invoicing: [enhancement] include original invoice instance in call to custom clean_invoice_number functions.
  • General: [bug-fix] add timeout for SMB connections.
  • Data Warehouse: [enhancement] add check_for_missing_data command.
  • OGPro: [enhancement] add handling for Well Allocation Decks that have the same code as existing Wells.
  • General: [bug-fix] allow u3django_command to track process IDs and clean up tracking DB when a process no longer exists on the syste.
  • 3rd-Party Payments: [enhancement] fix for display of dollar amounts in 3rd-Party Payments summary messages.
  • OpenInvoice: [enhancement] Add error handling for AFE/CC sync to create a separate xml file with just the failures from a previous run so we don’t need the weekly full export anymore.
  • OpenInvoice: [bug-fix] fix issue with tracking Entity Code on AFEs.
  • OpenInvoice: [bug-fix] fix syntax error when re-writing invoice XML after a bad attachment gets removed.
  • Data Warehouse: [bug-fix] allow price book imports to work when pricing_options are not specified in OpenInvoice.
  • Data Warehouse: [enhancement] speed up processing for existing invoices.
  • OGSql: [enhancement] strip commas, equal sign, and single quotes from invoice numbers by default.
  • QBO: [bug-fix] don’t clean out source data records unless new records have been collected. Fixes issue with invalid deactivates when an realm connection fails.
  • Quorum: [enhancement] track OpenInvoice unique invoice ID in REF_NO field by default.

5.23.1

  • General: [bug-fix] allow SMB connections to work on Windows with a UNC path instead of a drive letter.
  • QuickBooks: [enhancement] remove explicit calls to a specific QBO API version number.
  • General: [enhancement] copyright update.

5.23.2

  • OpenInvoice: [enhancement] update to AFE/CC sync error handling to ignore AFEs and CCs that are invalid.
  • JPMC: [bug-fix] fix parsing of JPMC PaySource Response files to include all errors, not just first error.
  • OGPro: [enhancement] add option to not include all vendor detail when pulling vendor records from ODA. Useful for reports like missing_invoice_report that don’t require full details.
  • OGSql: [enhancement] add logic to mark zero dollar invoices as paid in OpenInvoice.
  • OGSql: [bug-fix] add logic to set valid companies to all export companies when no specific company information is specified in OGSql

0 Comments

Article is closed for comments.
Powered by Zendesk