Installation
The plugin can easily be installed via the Shopware Plugin Manager in Extensions->My extensions
How to start
To start, you'll need to follow three simple steps:
- Sign up for Adobe Developer if you don't have an account already: https://auth.services.adobe.com/index.html
- Create your first project in the Adobe Developer Console: https://developer.adobe.com/console
- Get your API credentials and paste them in the section "API credentials"
Configuration
To customize the plugin settings, click the context menu button to go to its configuration. Below you will find a description of the most important features.
API Settings
- Split mode - before starting the analysis, the PDF file is divided into individual pages, and each page is then analyzed separately to identify the tables contained within it. To optimize the use of credits on your Adobe account, you can choose the internal page splitting option performed using the FPDI library or utilize the Adobe service. You can choose between two modes:
- Internal by FPDI - if you choose this option, internal splitting may sometimes fail, especially if the PDF document has an unusual layout or uses a compression technique. In such cases, the file will be forwarded to the Adobe service to ensure process continuity and proper data preparation for analysis.
- External by Adobe - the PDF document will be split in an external Adobe service
To start using the plugin, you need to configure:
- Supplier list - add a list of suppliers from whom you want to automatically import information about the quantity of received goods based on data from PDF files
- Structs - for each supplier, define structs that will be used to recognize tables in PDF files. Structs are used to identify tables based on established rules and allow adaptation to various invoice formats. In most cases, defining a single structure for each invoice is sufficient to recognize the table with product list.
- Table columns - for each struct, define a list of columns that will be used to map data in the tables. The column list helps determine where the data to be mapped is located. The list of defined columns should be the same as the list of columns in the table with product list on your invoice.
- Data mapping - define mapping rules to recognize values read from the invoice, enabling their automatic identification and processing. While defining mapping rules, you can specify, among other things, regular expressions, search priorities, and capture groups to improve the effectiveness of data recognition.
- Invoice processing - after defining the mapping, you can upload PDF documents, which will be automatically processed - the system will recognize and process the data according to the established rules
How to use
To upload and process a PDF docoument, follow these steps:
- Navigate to Catalogues -> Stockly -> Imports and click the button Upload PDF file
- In the popup window, choose the relevant Supplier, select the PDF file, and click Upload
- After upload, go on uploaded file and then click Start analysis to initiate the processing
- Review recognized data - after the analysis is complete, go to the Data tab. Here, you will see a list of detected rows from the invoice tables. The system will attempt to match each row to a corresponding product. If necessary, you can manually select a different product.
- Set mapping values for future imports - if the invoice contains the new product identifiers, you can assign mapping values to ensure the system correctly recognizes the product in future imports
- Finalize the stock update - next to each row, there is an Import button. Clicking it will add the corresponding stock to the selected product. The import button is only visible if a product is selected.
Important notes
After processing the document, the recognized rows will appear in the Data tab along with the status, which depends on how the product was recognized:
- Recognized - status means recognizing the product based on a unique identifier such as: productNumber, manufacturerNumber, ean or supplier identifier.
- Ambiguous - status means that the list of found products contains at least two suggestions found based on the product name
- Suggested - status means that the list of found products contains one suggestion found based on the product name
- Not recognized - status means that no product could be matched
- Manually selected - status means manual selection of the product
- Confirmed - status means that the row has been checked and confirmed by user
- Rejected - status means that the row has been rejected by the user
- Imported - status means that the stock from the row has been imported