This requires the Purchase Invoice Processing to be enabled
With with CocoonFLOW invoice processing addon enabled you can upload invoices from suppliers and have them entered into the system.
Uploading Files For Processing
Files uploaded here must be in PDF format.
To upload purchase invoices for processing:
- Click the [ BROWSE ] button at the top of the screen
- Select the file to upload from the files accessible from your device
- Click the [ PROCEED ] button
Once uploaded your file will be displayed in the uploaded files list as PENDING.
Once completed the status will be update.
You can use the [ REFRESH ] button to update the list to check the latest status.
After the invoice has been processed, the purchase invoice will be added to the purchase invoice screen in the finance module.
Uploaded files can contain more than one invoice is your supplier provides a single file with multiple invoices.
The more invoices contained in a file and the more line items on each invoice, will cause CocoonFLOW to take longer to process the uploaded file.
If the file is too large/complex for CocoonFLOW to process it in a timely manner, the upload will error with the message "App\Jobs\Finance\ReadPurchaseInvoice has timed out."
If this happens, the following is suggested:
- Split files containing more than one invoice into multiple files containing only 1 invoice each
How Purchase Invoice Processing Works
CocoonFLOW will attempts identify if more that one invoice was included in the uploaded file and separate them out.
CocoonFLOW will attempt to read the header of the invoice identifying the following information:
- Consignment Reference
- Bill of Lading reference
- Airwaybill Reference
- Supplier name
- Currency of the invoice
- Issued date
- Due Date
The rate information will then be read.
CocoonFLOW supports invoices that container line items for different consignments and will attempt to identify the consignment ref for each line item.
The invoice header information will be used to attempt to match to an existing purchase order.
If a purchase order can be identified the purchase invoice will be linked to it automatically.
The header information is then used to attempt to match to an existing purchase invoice that may have been created by entering a purchase invoice reference against costs in the system.
If no existing purchase invoice is found, one will be created.
The supplier for the invoice will attempt to be matched to an organisation in the address book.
The supplier is matched using:
- The name of the organisation in the address book
- The identity Name on Invoice
If it cannot be found based on the name in the invoice, a new organisation will be created with the role "SUPPLIER, UNCATEGORISED".

The name must be matched exactly as printed on the invoice
CocoonFLOW will then attempt to match the line item descriptions from the uploaded invoice to the relevant cost linked to the identified consignment and supplier.
If no cost can be matched, a new cost record will be created and linked.
Any newly created costs will be available on the rates screen to manage.
These will be indicated by a red flag icon.
Any issues with the cost will be highlighted in red.
If a cost is duplicated because it was not able to be matched then the originally entered costs should probably be deleted and the new costs linked to the purchase invoice, used.
Improving Cost Matching
When CocoonFLOW is not able to match a rate to a rate code you will need to use the cost properties to select the correct code.
CocoonFLOW will then learn this mapping so uploaded purchase invoices that have the same label in the future will be mapped to the correct code.
This will also improve the matching for existing costs on consignments as well.