Document Usage Guidance
This document lists all of the possible messages and errors that can be returned to the Auto AP Invoice Review screen or sent as an email.
Emails and review screen messages can contain multiple messages shown here.
A review screen record corresponds to a single Kofax job and a single Epicor invoice.
Any error/message with Please contact IT staff attached to the end is not part of normal processing and suggests there is a technical problem to be solved.
Data fields and variables used in errors/messages are encapsulated with curly brackets.
P2P Scheduled Processes
Function:
Create weekly folders in SharePoint document storage.
Messages:
MESSAGE | Error creating SharePoint folders, please forward to IT staff: {ex.Message} |
INFO | A SharePoint error occurred while connecting to the server or creating the document folder. |
KEY | ex = Exception returned from SharePoint. |
Download Email Attachments
Function:
Move valid email attachments from the ingest email account to the Kofax watched directory.
Messages:
MESSAGE | Could not find Connector account associated with {apUDParams.EmailUser}. Please create account and retry. |
INFO | The JPGAL Connector configuration entered in the user codes does not exist. |
KEY | apUDParams = Auto AP Invoice process parameters. |
FORMAT |
MESSAGE | Found multiple Connector accounts associated with {apUDParams.EmailUser}. Please delete or change the account name of all but one and retry. |
INFO | The JPGAL Connector configuration entered in the user codes has multiple matches. |
KEY | apUDParams = Auto AP Invoice process parameters. |
MESSAGE | Error getting Connector access for ({apUDParams.EmailUser}): {clientError} |
INFO | An error has been returned by the server when connecting to the email server. |
KEY | apUDParams = Auto AP Invoice process parameters. clientError = Error returned by the server. |
MESSAGE | Cannot find email inbox |
INFO | Email account does not contain a valid inbox folder. |
KEY | N/A |
MESSAGE | Cannot find email Archive |
INFO | Email account does not contain a valid archive folder. |
KEY | N/A |
MESSAGE | Error creating mail folder ({newFolderName}): {ex.Message} |
INFO | An error has occurred creating a mail folder for use in the email ingest process. |
KEY | newFolderName = folder to be created. ex.Message = error returned by server. |
MESSAGE | could not find sender |
INFO | The email object being ingested does not contain a valid sender. |
KEY | N/A |
MESSAGE | could not find sender email address |
INFO | The email object being ingested does not contain a valid sender email address. |
KEY | N/A |
MESSAGE | Cannot determine file type of attachment |
INFO | Process does not recognise the file type of an email attachment being ingested. |
KEY | N/A |
MESSAGE | Attachment ({attachment.Name}) is too large ({attachmentSizeKB}KB) |
INFO | The email attachment being ingested is bigger than the configured max ingest size. |
KEY | attachment.Name = file name of attachment. attachmentSizeKB = size of attachment. |
MESSAGE | Error - attachment content is null |
INFO | The email attachment being ingested contains no data. |
KEY | N/A |
Process Open Review Screen Records
Function:
When Kofax has finished processing a PDF and all data is valid. It created a review screen record (UD104). This scheduled process parses the data in these records, checks for errors and creates invoices. It also processes review screen records marked for reprocessing.
Messages:
MESSAGE | INVOICE HEADER CREATED - Manually complete invoice (Misc Invoice) |
INFO | The Kofax data has been marked as a Misc Invoice, so the process has created an invoice header matching the ingested Kofax data. |
KEY | N/A |
MESSAGE | INVOICE CREATED AND SUBMITTED FOR POSTING |
INFO | The process has found a found a collection of receipt lines that match the ingested total and has created an invoice with these lines and submitted it for posting. However, the process has not found a posted invoice yet. |
KEY | N/A |
N/A |
MESSAGE | INVOICE CREATED - Manually post invoice |
INFO | The process has found a found a collection of receipt lines that match the ingested total and has created an invoice with these lines. However, automated posting has been disabled, so the user needs to post the created invoice. |
KEY | N/A |
MESSAGE | Document type not found - please set the Document type to either AP Invoice/Misc AP Invoice/Credit Note and reprocess |
INFO | The document type field does not match any of the valid values. |
KEY | N/A |
MESSAGE | This has been marked as a credit note. Please manually create the credit note and mark it as complete. |
INFO | The Kofax data has been marked as a credit note. The current process does not handle credit note creation. |
KEY | N/A |
MESSAGE | Error updating ud104, please contact IT staff: {objectPrint(ex)} |
INFO | Epicor has returned an error when trying to update the review screen record. This suggests a technical problem and is not part of normal processing. |
KEY | objectPrint(ex) = a readable version of the exception returned by Epicor. |
MESSAGE | Supplier reference ({ipHeader.VendorRef}) not found. Please create a cross reference for the desired supplier and reprocess. |
INFO | The supplier reference from the ingested Kofax data, does not match any supplier cross reference in Epicor. This should be extremely rare as the supplier reference is validated in Kofax. |
KEY | ipHeader.VendorRef = the vendor reference stored in the review record. |
MESSAGE | Cross reference ({ipHeader.VendorRef}) found but supplier not found. Please contact IT support |
INFO | The supplier reference record exists but is not properly linked to a supplier. This suggests a technical problem and is not part of normal processing. |
KEY | ipHeader.VendorRef = the vendor reference stored in the review record. |
MESSAGE | Invoice Date ({ipHeader.UDInvoiceDate}) could not be parsed as a date so Process Date ({ipHeader.ImportDate}) was used instead |
INFO | The unparsed invoice date could not be converted to a string. So, the process will use the ingest date as the invoice date instead. |
KEY | ipHeader.UDInvoiceDate = unparsed invoice date from the Kofax data. ipHeader.ImportDate = the date the data was ingested from Kofax. |
N/A |
MESSAGE | Error calculating due date: {ex.Message} |
INFO | Epicor returned an error during due date calculation. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message portion of the exception returned by Epicor. |
MESSAGE | An invoice with this vendor and invoice num already exists. If this invoice still needs to be created, please manually enter this invoice and mark it as complete. |
INFO | A posted AP Invoice with the same VendorNum and InvoiceNum from the Kofax data already exists. So, the process cannot create an invoice based on this data and assumes it was ingested by mistake. |
KEY | N/A |
MESSAGE | This is a duplicate of a complete record and therefore cannot be processed. If this invoice still needs to be created, please manually enter this invoice and mark it as complete. |
INFO | A complete review screen record with the same VendorNum and InvoiceNum from the Kofax data already exists. So, the process assumes it was ingested by mistake. |
KEY | N/A |
MESSAGE | REPLACED - A NEWLY IMPORTED INVOICE RECORD HAS REPLACED THIS ONE - PLEASE DO NOT MODIFY THIS RECORD |
INFO | If the VendorNum and InvoiceNum ingested from Kofax already exists on an incomplete review record, this message and the replaced checkbox is set on the pre-existing record. Future processing should be done on the newer record. |
KEY | N/A |
N/A |
MESSAGE | Replaced old dashboard record |
INFO | If the VendorNum and InvoiceNum ingested from Kofax already exists on an incomplete review record, this message is set on the new record. Future processing should be done on this record. |
KEY | N/A |
N/A |
MESSAGE | Could not attach pdf to invoice header: {ex.Message} |
INFO | Epicor returned an error when trying to attach the PDF to a created invoice header. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message portion of the exception returned by Epicor. |
MESSAGE | Error Creating Invoice Head: {ex.Message} |
INFO | Epicor returned an error when attaching the PDF to a created invoice header. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message portion of the exception returned by Epicor. |
MESSAGE | Misc AP Invoice - Header created. Please manually match lines and post invoice. |
INFO | The Kofax data has been marked as a Misc Invoice, so the process has created an invoice header matching the ingested Kofax data. |
KEY | N/A |
MESSAGE | Created invoice could not be found (VendorNum: {ipHeader.VendorNum} InvoiceNum: {ipHeader.InvoiceRef}). Please contact IT staff. |
INFO | Once the process has created an invoice header it searches for the created record for future changes and to confirm it was created. This error is returned if it cannot find the header in the database. |
KEY | ipHeader.VendorNum = the VendorNum on the review record, ingested from Kofax. ipHeader.InvoiceRef = the InvoiceNum on the review record, ingested from Kofax. |
MESSAGE | Supplier marked for hold review. |
INFO | The supplier has been marked with a "HOLD" attribute. Therefore, after creation it has been placed on hold for a user to review. |
KEY | N/A |
MESSAGE | INVOICE HEADER CREATED BUT HELD - |
INFO | The invoice header has been successfully created but a problem was found during the after-creation checks. The invoice header has been placed on hold for a user to review. |
KEY | N/A |
MESSAGE | Error during after creation checks. Please review and post. |
INFO | Epicor returned an error during the after-creation checks. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | Error creating new group {newGroupID}: {ex.Message} |
INFO | While creating an invoice or moving it to a user managed invoice group, the process will create invoice groups. This is returned when an Epicor returned an error during this. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | No PONum provided - Email sent to supplier |
INFO | The Kofax data has been marked as an AP Invoice but the PONum field is empty or 0. Therefore an email has been sent to the supplier. This notifies the user of that action. |
KEY | N/A |
MESSAGE | Supplier on PO does not match supplier on Invoice. Please change one and reprocess this record |
INFO | The Kofax data contains a valid PONum but the purchase order contains a different supplier than the Kofax data. |
KEY | N/A |
MESSAGE | PO is {status}. Please resolve this and reprocess this record. |
INFO | The PONum ingested in the Kofax data is valid but that purchase order has not been approved. |
KEY | status = the current status of the PO, it could be: Unapproved, Rejected or Pending. |
MESSAGE | PO {ipHeader.PONum} exists but has not been receipted, please receipt this PO. |
INFO | The PONum ingested in the Kofax data is valid but no receipts are associated with it. |
KEY | ipHeader.PONum = the PONum on the review record, ingested from Kofax. |
MESSAGE | Receipt (PONum: {ipHeader.PONum}) does not contain any uninvoiced lines. Please add lines and reprocess or manually process invoice. |
INFO | The PONum ingested in the Kofax data is valid and associated with at least one receipt but there are no receipt line associated with it that have not already been invoiced fully. |
KEY | ipHeader.PONum = the PONum on the review record, ingested from Kofax. |
MESSAGE | Receipt (PONum: {ipHeader.PONum}) does not contain any valid receipt lines. Please add lines and reprocess or manually process invoice. |
INFO | The PONum ingested in the Kofax data is valid and associated with at least one receipt but there are no receipt line associated with it that have not already been invoiced fully. |
KEY | ipHeader.PONum = the PONum on the review record, ingested from Kofax. |
MESSAGE | PO ({ipHeader.PONum}) does not exist. Please add a valid PONum and reprocess this record. |
INFO | The PONum ingested in the Kofax data does not exist as a purchase order in the database. |
KEY | ipHeader.PONum = the PONum on the review record, ingested from Kofax. |
MESSAGE | Error finding matching receipt lines: {ex.Message} |
INFO | This encapsulates all errors returned by the matching algorithm while it is building the data for matching and performing the search for a match |
KEY | ex.Message = the message portion of the exception returned by the matching algorithm. |
MESSAGE | No uninvoiced receipts found |
INFO | This error occurs when the matching algorithm is building the list of receipts for matching but can't find any uninvoiced receipts. This should be rare as it is the second time the check is performed. |
KEY | N/A |
MESSAGE | No remaining receipt lines after filtering |
INFO | After building a raw list of receipt lines for matching it filters the date down to only valid choices (e.g. matches the PONum provided and standalone value is less than the upper limit of matching target). |
KEY | N/A |
MESSAGE | A combination of receipts cannot be found if zero value receipt lines exist |
INFO | A receipt line with a total value of zero exists in the list of valid lines for matching, there is no way for the algorithm to determine if this line should be receipted. Therefore it throws this error. |
KEY | N/A |
MESSAGE | Unexpected error occurred during line match up: mAPUninvoicedRcptLines null. Please contact IT staff. |
INFO | An errored occurred while the matching algorithm was running. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | Multiple single lines can match within variance total. |
INFO | There are multiple single line values that are valid choices to match with. For example:
|
KEY | N/A |
MESSAGE | Too many possible receipts ({APUninvoicedRcptLinesList.Count}>{apUDParams.MaxSampleSize}), please manually process this invoice. |
INFO | The number of candidate receipt lines is greater than the configured maximum. |
KEY | APUninvoicedRcptLinesList.Count = the number of candidate receipt lines. apUDParams.MaxSampleSize = the configured maximum number of receipt lines that can be used as candidates simultaneously. |
MESSAGE | Down Limit: {_p.DownLimit} is bigger than set sum {setsum}, no solutions exists |
INFO | The total value of all the candidate receipt lines added together is less than the bottom of the valid total range.
|
KEY | _p.DownLimit = the bottom of the valid total range. setsum = the total value of all candidate receipt lines added together. |
MESSAGE | Recursion algorithm timed out. |
INFO | The matching algorithm took longer than allowed. |
KEY | N/A |
MESSAGE | No match could be found |
INFO | The matching algorithm searched all possible candidates but could not find a combination of receipts that total was within the valid range. |
KEY | N/A |
MESSAGE | More than one match can be found |
INFO | The matching algorithm searched all possible candidates and found multiple combinations of receipts that total was within the valid range. However, it has no way to determine which is the correct combination. |
KEY | N/A |
MESSAGE | Cannot parse matching results. |
INFO | Process could not parse the results returned by the matching algorithm. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | No valid receipt lines found |
INFO | The receipt lines returned by the matching algorithm are invalid. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | INVOICE HEADER CREATED - Matching Error. Please manually complete invoice ({opError}) |
INFO | The matching algorithm has returned an error but the process has created an invoice header to work from. |
KEY | opError = error returned by the matching algorithm. |
MESSAGE | Gross target total ({ipHeader.GrossVendorAmt}) is greater than the created total ({ipHeader.MatchedAmt}) but within variance. |
INFO | The target total is greater than the created total but still within variance. |
KEY | ipHeader.GrossVendorAmt= ingested target total, including tax. ipHeader.MatchedAmt = total value of created invoice. |
MESSAGE | Gross target total ({ipHeader.GrossVendorAmt}) is less than the created total ({ipHeader.MatchedAmt}) but within variance. |
INFO | The target total is less than the created total but still within variance. |
KEY | ipHeader.GrossVendorAmt= ingested target total, including tax. ipHeader.MatchedAmt = total value of created invoice. |
MESSAGE | Created total ({ipHeader.GrossVendorAmt}) is above variance limit ({upLimit}). Please review tax configuration and post. |
INFO | When a match has been found an invoice is created with the matched receipt lines.
The process then calculates a upLimit and downLimit based on the total of the created invoice and configured tolerance levels. This upLimit and downLimit create a new valid range. The process then checks if the ingested gross total is in this range, if it is above that range it returns this error.
The error points towards the tax configuration, as the automated process created the lines without tax, allowing Epicor's tax engine to calculate the tax. So, a discrepancy in the tax configuration is a likely cause for the variance.
For example:
|
KEY | ipHeader.GrossVendorAmt = ingested target total, including tax. upLimit = the top of the valid total value range. |
MESSAGE | Invoice total ({ipHeader.GrossVendorAmt}) is below variance limit ({downLimit}). Please review tax configuration and post. |
INFO | When a match has been found an invoice is created with the matched receipt lines.
The process then calculates a upLimit and downLimit based on the total of the created invoice and configured tolerance levels. This upLimit and downLimit create a new valid range. The process then checks if the ingested gross total is in this range, if it is below that range it returns this error.
The error points towards the tax configuration, as the automated process created the lines without tax, allowing Epicor's tax engine to calculate the tax. So, a discrepancy in the tax configuration is a likely cause for the variance.
For example:
|
KEY | pHeader.GrossVendorAmt = ingested target total, including tax. downLimit = the bottom of the valid total value range |
MESSAGE | Error filling variance gap, please manually complete invoice |
INFO | If the created total value of an invoice does not exactly match the ingested total but is within variance, the process modifies one of the lines to make the total of the created invoice match the ingested total.
This message is returned when Epicor returns an error during this transaction. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | Supplier marked for review. Please review and post. |
INFO | The supplier has been marked with a "HOLD" attribute. Therefore, the invoice has been placed on hold for a user to review after creation. |
KEY | N/A |
MESSAGE | CIS Supplier. Please review and post. |
INFO | The supplier has been marked as a CIS supplier. Therefore, the invoice has been placed on hold for a user to review after creation. |
KEY | N/A |
MESSAGE | Error during after invoice creation checks: {blex.Message} |
INFO | The invoice header has been successfully created but Epicor returned an error during the after-creation checks. The invoice header has been placed on hold for a user to review. |
KEY | blex.Message = the message attached to the error returned by Epicor. |
MESSAGE | APInvGrp does not exist |
INFO | The process could not find the invoice group to be posted. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | No Invoices in the APInvGrp |
INFO | The process could not find any invoices in the invoice group to be posted. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | Error during submitting for posting: {ex.Message} |
INFO | Epicor has returned an error when trying to post the invoice group. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message attached to the error returned by Epicor. |
MESSAGE | Failed to move group: {ex.Message} |
INFO | Epicor has returned an error when trying to move the invoice to a group for user processing. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message attached to the error returned by Epicor. |
Supplier Reminders
Function:
This process checks for review records that require supplier action that have not received a reminder in more days than the configured reminder gap.
For more information about automated reminder processing, please review this document:
Messages:
MESSAGE | Invoice does not contain PONum. It has been {apUDParams.ReminderGap} days since the final reminder was sent to the supplier. Please manually process invoice. |
INFO | The number of configured reminders have been sent, so the record has been reassigned to the AP team. |
KEY | apUDParams.ReminderGap = the configured gap between reminders in days. |
MESSAGE | No PONum provided. Another reminder sent to supplier. |
INFO | The supplier has not sent a valid PONum and the reminder gap has elapsed again but not reached the limit in number of reminders sent. this message is just for record keeping, no email is sent. |
KEY | N/A |
N/A |
MESSAGE | Error checking records for No PO follow ups: {ex.Message} |
INFO | Epicor has returned an error when checking for supplier reminders. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | {Calculated Supplier Email} |
INFO | This is the email reminder sent to the supplier. |
KEY | N/A |
Mark Posted Invoices as Complete
Function:
This process searches for posted invoices that match open review screen records and mark them as complete.
Messages:
MESSAGE | COMPLETE - FOUND POSTED INVOICE |
INFO | - |
KEY | N/A |
N/A |
MESSAGE | Error checking records for automatic completion, please forward to IT staff: {ex.Message} |
INFO | Epicor has returned an error when marking review records as complete. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message attached to the error returned by Epicor. |
Update completion date for manually completed review records
Function:
This process searches for review screen records that have been manually marked as complete and sets the completion date.
Messages:
MESSAGE | Error adding dates to records manually marked as complete, please forward to IT staff: {ex.Message} |
INFO | Epicor has returned an error when adding completion dates to manually completed records. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message attached to the error returned by Epicor. |
Reassign incomplete records.
Function:
When invoices are submitted to Epicor for posting, they are unassigned from any group. This is to ensure that they are not manually changed. This checks for records that have been unassigned for 2 days or more and reassigns them to the AP team.
Messages:
MESSAGE | UNKNOWN EXTERNAL ERROR - Record has been idle for 2 days. Please review created record/invoice and manually process |
INFO | An invoice that was submitted to for posting has not been posted for 2 days, so it has been reassigned to the AP team. |
KEY | N/A |
MESSAGE | Error reassigning open buyer errors, please forward to IT staff: {ex.Message} |
INFO | Epicor has returned an error when checking for incomplete records. This suggests a technical problem and is not part of normal processing. |
KEY | ex.Message = the message attached to the error returned by Epicor. |
Buyer Reminders
Function:
This process checks for review records that require buyer action that have not received a reminder in more days than the configured reminder gap.
For more information about automated reminder processing, please review this document:
Messages:
MESSAGE | Another reminder sent to buyer. |
INFO | The buyer has not resolved the error with the PO and the reminder gap has elapsed again but not reached the limit in number of reminders sent. This message is just for record keeping, no email is sent. |
KEY | N/A |
N/A |
MESSAGE | It has been {apUDParams.ReminderGap} days since the final buyer reminder. Please manually resolve error. |
INFO | The number of configured reminders have been sent, so the record has been reassigned to the AP team. |
KEY | apUDParams.ReminderGap = the configured gap between reminders in days. |
MESSAGE | Error checking records for buyer follow ups, please forward to IT staff: {ex.Message} |
INFO | Epicor has returned an error when checking for buyer reminders. This suggests a technical problem and is not part of normal processing. |
KEY | N/A |
MESSAGE | {Calculated Buyer Email} + {Review screen record message} |
INFO | This is the email reminder sent to the buyer. |
KEY | N/A |