Intelligent document processing in enterprise resource planning
The present disclosure involves systems, software, and computer implemented methods for intelligent document processing in enterprise resource planning. One example method includes automatically determining that a document file is ready to be processed in an ERP (Enterprise Resource Planning) system. The document file is automatically processed and a request is sent to the ERP system to automatically create or update ERP data in the ERP system based on the document file. Status information is received from the ERP system regarding the request to create or update ERP data in the ERP system. The status information received from the ERP system is logged and information indicating that the document file has been processed in the ERP system is automatically recorded.
1 . A computer-implemented method for overcoming a field count upload limitation of an upload API (Application Programming Interface) of an ERP (Enterprise Resource Planning) system comprising:
automatically receiving, by a first artificial intelligence (AI) service of an AI system, ERP (Enterprise Resource Planning) master data from an ERP system, wherein the first AI service is included in a set of multiple cooperating AI services of the AI system that each perform a defined service and wherein a field count upload limitation of the upload API of the ERP system comprises a maximum number of fields restriction for an input document of a document upload feature of the ERP system;
automatically providing, by the first AI service, the ERP master data to a machine learning extraction service of the AI system that is trained to generate structured ERP data in different types of standardized machine-readable data-interchange formats from different types of unstructured document data from different types of document files;
receiving, by the machine learning extraction service, the ERP master data;
incorporating, by the machine learning extraction service, the ERP master data into the machine learning extraction service to increase accuracy of unstructured data extraction by the machine learning extraction service;
automatically determining, by a second AI service of the set of cooperating AI services, that a document file is ready to be processed in the ERP system, wherein the document file includes unstructured ERP data in a total number of fields that exceeds the maximum number of fields restriction of the field count upload limitation of the ERP system;
automatically processing the document file in response to determining that the document file is ready to be processed in the ERP system, wherein automatically processing the document file comprises:
sending a request, by a third AI service of the set of cooperating AI services to the machine learning extraction service of the AI system, to extract structured ERP information from the document file;
automatically extracting, by the machine learning extraction service, the unstructured ERP data from each field of the document file, including from fields occurring after a count of fields equal to the maximum number of fields has been processed;
generating, by the machine learning extraction service, structured information in a queryable JSON (JavaScript Object Notation) format from the unstructured ERP data extracted from the document file, wherein the structured information in the queryable JSON format includes ERP object header field information and line item information;
enriching, by the machine learning extraction service, the structured information with received ERP master data that corresponds to the unstructured ERP data automatically extracted from the document file;
providing, by the machine learning extraction service and to the third AI service, enriched structured information; and
overcoming the maximum number of fields restriction of the document upload feature of the ERP system by automatically sending, by the third AI service, a request to the ERP system using at least one ERP data creation API that is different from the upload API to automatically create or update ERP data in the ERP system based on information from each field in the document file, wherein the request sent to the ERP system includes the enriched structured information that includes information automatically extracted from the document file that has been structured in the queryable JSON format and enriched with ERP master data;
receiving, by the third AI service, status information from the ERP system regarding the request to create or update ERP data in the ERP system;
logging, by the third AI service, the status information received from the ERP system; and
automatically recording, by the third AI service, that the document file has been processed in the ERP system.
2 . The computer-implemented method of claim 1 , wherein the document file is automatically extracted from an email message and placed in a predetermined folder on a client machine.
3 . The computer-implemented method of claim 2 , wherein automatically recording that the document file has been processed in the ERP system comprises automatically recording that the email message has been processed.
4 . The computer-implemented method of claim 2 , wherein the predetermined folder corresponds to an ERP object type.
5 . The computer-implemented method of claim 1 , wherein the request sent to the ERP system is to create or update an ERP object in the ERP system using information from the document file.
6 . The computer-implemented method of claim 1 , wherein sending the request to the ERP system includes sending the document file to the ERP system for storage of the document file in the ERP system.
7 . The computer-implemented method of claim 1 , wherein the request is to automatically create a sales order object in the ERP system using information from a received customer purchase order document.
8 . The computer-implemented method of claim 1 , wherein the request is to automatically create a purchase order object in the ERP system using information from a received purchase order template.
9 . The computer-implemented method of claim 1 , wherein the request is to automatically create a stock transfer order object in the ERP system using information from a received stock transfer order template.
10 . The computer-implemented method of claim 1 , wherein the request is to automatically create or upload a supplier invoice to the ERP system.
11 . The computer-implemented method of claim 1 , wherein the request is to automatically upload a proof of delivery note to the ERP system.
12 . The computer-implemented method of claim 1 , wherein the request is to automatically create an expense line item in the ERP system based on a travel receipt.
13 . The computer-implemented method of claim 1 , wherein the request is to automatically create a contact or lead in the ERP system based on a business card.
14 . The computer-implemented method of claim 1 , wherein the document file is photographed using a mobile application and sent to the ERP system for processing.
15 . The computer-implemented method of claim 1 , wherein the machine learning extraction service is trained to identify and extract information from different types of documents that include data for different types of ERP objects.
16 . The computer-implemented method of claim 1 , wherein the request to the ERP system to automatically create or update ERP data is sent with a request to associate a created ERP object with an existing ERP object in the ERP system.
17 . The computer-implemented method of claim 1 , wherein:
the second AI service automatically determines that the document file is ready to be processed based on determining that the document file is located in a folder associated with a first type of ERP object;
the third AI service is configured to send requests to the ERP system for the first type of ERP object; and
the set of cooperating AI services includes other AI services configured to send requests to the ERP system for other types of ERP objects other than the first type of ERP object.
18 . A computer-implemented system for overcoming a field count upload limitation of an ERP (Enterprise Resource Planning) system comprising:
one or more computers; and
a computer-readable medium coupled to the one or more computers having instructions stored thereon which, when executed by the one or more computers, cause the one or more computers to perform operations comprising:
automatically receiving, by a first artificial intelligence (AI) service of an AI system, ERP (Enterprise Resource Planning) master data from an ERP system, wherein the first AI service is included in a set of multiple cooperating AI services of the AI system that each perform a defined service and wherein a field count upload limitation of an upload API of the ERP system comprises a maximum number of fields restriction for an input document of a document upload feature of the ERP system;
automatically providing, by the first AI service, the ERP master data to a machine learning extraction service of the AI system that is trained to generate structured ERP data in different types of standardized machine-readable data-interchange formats from different types of unstructured document data from different types of document files;
receiving, by the machine learning extraction service, the ERP master data;
incorporating, by the machine learning extraction service, the ERP master data into the machine learning extraction service to increase accuracy of unstructured data extraction by the machine learning extraction service;
automatically determining, by a second AI service of the set of cooperating AI services, that a document file is ready to be processed in the ERP system, wherein the document file includes unstructured ERP data in a total number of fields that exceeds the maximum number of fields restriction of the field count upload limitation of the ERP system;
automatically processing the document file in response to determining that the document file is ready to be processed in the ERP system, wherein automatically processing the document file comprises:
sending a request, by a third AI service of the set of cooperating AI services to the machine learning extraction service of the AI system, to extract structured ERP information from the document file;
automatically extracting, by the machine learning extraction service, the unstructured ERP data from each field of the document file, including from fields occurring after a count of fields equal to the maximum number of fields has been processed;
generating, by the machine learning extraction service, structured information in an extensible Markup Language (XML) format from the unstructured ERP data extracted from the document file;
enriching, by the machine learning extraction service, the structured information with received ERP master data that corresponds to the unstructured ERP data automatically extracted from the document file;
providing, by the machine learning extraction service and to the third AI service, enriched structured information; and
overcoming the maximum number of fields restriction of the document upload feature of the ERP system by automatically sending, by the third AI service, a request to the ERP system using at least one ERP data creation API that is different from the upload API to automatically create or update ERP data in the ERP system based on information from each field in the document file, wherein the request sent to the ERP system includes the enriched structured information that includes information automatically extracted from the document file that has been structured in the XML format and enriched with ERP master data, wherein the at least one ERP data creation API comprises a SOAP (Simple Object Access Protocol) API;
receiving, by the third AI service, status information from the ERP system regarding the request to create or update ERP data in the ERP system, wherein the status information includes ERP object identifiers of objects created or updated in the ERP system in response to the request to create or update ERP data;
logging, by the third AI service, the status information received from the ERP system; and
automatically recording, by the third AI service, that the document file has been processed in the ERP system.
19 . The system of claim 18 , wherein the document file is automatically extracted from an email message and placed in a predetermined folder on a client machine.
20 . A computer program product encoded on a non-transitory storage medium, the product comprising non-transitory, computer readable instructions for causing one or more processors to perform operations comprising:
automatically receiving, by a first artificial intelligence (AI) service of an AI system, ERP (Enterprise Resource Planning) master data from an ERP system, wherein the first AI service is included in a set of multiple cooperating AI services of the AI system that each perform a defined service and wherein a field count upload limitation of an upload API of the ERP system comprises a maximum number of fields restriction for an input document of a document upload feature of the ERP system;
automatically providing, by the first AI service, the ERP master data to a machine learning extraction service of the AI system that is trained to generate structured ERP data in different types of standardized machine-readable data-interchange formats from different types of unstructured document data from different types of document files;
receiving, by the machine learning extraction service, the ERP master data;
incorporating, by the machine learning extraction service, the ERP master data into the machine learning extraction service to increase accuracy of unstructured data extraction by the machine learning extraction service;
automatically determining, by a second AI service of the set of cooperating AI services, that a document file is ready to be processed in the ERP system, wherein the document file includes unstructured ERP data in a total number of fields that exceeds the maximum number of fields restriction of the field count upload limitation of the ERP system;
automatically processing the document file in response to determining that the document file is ready to be processed in the ERP system, wherein automatically processing the document file comprises:
sending a request, by a third AI service of the set of cooperating AI services to the machine learning extraction service of the AI system, to extract structured ERP information from the document file;
automatically extracting, by the machine learning extraction service, the unstructured ERP data from each field of the document file, including from fields occurring after a count of fields equal to the maximum number of fields has been processed;
generating, by the machine learning extraction service, structured information in a queryable JSON (JavaScript Object Notation) format from the unstructured ERP data extracted from the document file, wherein the structured information in the queryable JSON format includes ERP object header field information and line item information;
enriching, by the machine learning extraction service, the structured information with received ERP master data that corresponds to the unstructured ERP data automatically extracted from the document file;
providing, by the machine learning extraction service and to the third AI service, enriched structured information; and
overcoming the maximum number of fields restriction of the document upload feature of the ERP system by automatically sending, by the third AI service, a request to the ERP system using at least one ERP data creation API that is different from the upload API to automatically create or update ERP data in the ERP system based on information from each field in the document file, wherein the request sent to the ERP system includes the enriched structured information that includes information automatically extracted from the document file that has been structured in the queryable JSON format and enriched with ERP master data;
receiving, by the third AI service, status information from the ERP system regarding the request to create or update ERP data in the ERP system;
logging, by the third AI service, the status information received from the ERP system; and
automatically recording, by the third AI service, that the document file has been processed in the ERP system.