Updates since v4.17.6
- 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
- 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.
- 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
- 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.
- OpenInvoice: fix for AFE location issue that was introduced in commit 079a1807 (9/11/18)
- 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.
- 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
- 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
- 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.
- 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.
- OpenInvoice: add ignorable warning message when processing AFEs with multiple default locations.
- 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.
- Dev: Add ability to optionally leave SMB connections open.
- Quorum: explicitly connect to source server prior to attempting invoice payment file download.
- 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
- 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
- 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 email@example.com contact address.
- 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.
- 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.
- 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.
- 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.
- Quorum: [enhancement] add revenue file processor to 3rd-Party Payments module
- Data Warehouse: [enhancement] allow specification of start_date and/or end_date
- 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.
- 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)