User guide 3.x

Invoice Capture is a web application to manage invoices - usually PDF documents - in OpenKM. It helps in sending and receiving invoices related to a company and, eventually, cataloging them automatically. 

Currently, English and Spanish translations are available, but the application can be easily translated into other languages.

Metadata used by catalog

The application uses metadata in combination with Automation to automatically catalog invoices.

The application can create different types of documents - invoices, delivery notes, etc. - by creating different groups of metadata that are dynamically loaded in the entry data form.

Some of the default metadata fields are:

  • Company Tax number (required)
  • Company name (required)
  • Company internal code (not required)
  • Invoice number (not required)
  • Invoice status (possible values: sent, received, etc)
  • Date (required)
  • User
  • VAT
  • Total cost

The invoices are cataloged in OpenKM by default with the following folder structure: /okm:root/{root.destination.folder}/{tax number}/{year}/{month} where {tax number}{year} and {month} correspond with metadata field values.

The root.destination.folder is set in the file named invoice-capture.properties. Here you set the name of the folder directly.

Configuration preliminaries

The roles used by the application are:

  • ROLE_ADMIN
  • ROLE_STANDARD
  • ROLE_ADVANCED

Create missing roles

Go to the OpenKM Administration > Authentication > Roles

  • ROLE_STANDARD
  • ROLE_ADVANCED

Use a user account with ROLE_ADMIN to:

  • Create companies.
  • Create users.
  • Assign users to companies.

A company can have multiple users, but a user belongs to only one company.

Create automation

Go to the OpenKM Administration > Automation and register an automation for cataloging documents.

You have to create 5 automations in post mode:

 

Automation createAutomation definition

Go to OpenKM administration, select the Automation option and New rule, fill in the name "Invoice catalog standard add", select the event "Add metadata group", and check the "Active" box.

  • Add validation: Select PathContains option, activate it, and select the "standard.import.node" folder defined in the invoice-capture properties.
  • Add action: Select InvoiceCatalog option and activate it.

Go to OpenKM administration, select the Automation option and New rule, fill in the name "Invoice catalog advanced add", select the event "Add metadata group", and check the "Active" box.

  • Add validation: Select PathContains option, activate it, and select the "advanced.import.node" folder defined in the invoice-capture properties.
  • Add action: Select InvoiceCatalog option and activate it.

Go to OpenKM administration, select the Automation option and New rule, fill in the name "Invoice catalog standard set", select the event "Set metadata group", check the "Active" box and select Post.

  • Add validation: Select PathContains option, activate it, and select the "standard.import.node" folder defined in the invoice-capture properties.
  • Add action: Select InvoiceCatalog option and activate it.

Go to OpenKM administration, select the Automation option and New rule, fill in the name "Invoice catalog advanced set", select the event "Set metadata group", and check the "Active" box.

  • Add validation: Select PathContains option, activate it, and select the "advanced.import.node" folder defined in the invoice-capture properties.
  • Add action: Select InvoiceCatalog option and activate it.

Go to OpenKM administration, select the Automation option and New rule, fill in the name "Invoice upload", select the event "Document create", and check the "Active" box.

  • Add validation: Select PathContains option, activate it, and select the "standard.import.node" folder defined in the invoice-capture properties.
  • Add action: Select InvoiceUpload option and activate it.

In the file invoice-capture.properties (found in Tomcat's folder) you define the UUIDs for both folders created in OpenKM:

standard.import.node = bb381ac2-f3f6-42b4-8df6-fbd0e87054ce
advanced.import.node = 76d1c3c7-d085-47ec-a153-c146e63ee9d9

The value of the UUID of the nodes depends on your OpenKM instance.

Register metadata

Go to the OpenKM Administration > Metadata and register the metadata definition below

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE property-groups PUBLIC "-//OpenKM//DTD Property Groups 3.9//EN"
    "http://www.openkm.com/dtd/property-groups-3.9.dtd">
<property-groups>

<property-group label="Document type" name="okg:invoice_doc_type">
    <select label="Type" name="okp:invoice_doc_type.type" type="simple" optionsQuery="select DTP_METADATA_GROUP, DTP_TYPE from INV_DOCUMENT_TYPE order by DTP_TYPE desc"/>
</property-group>

</property-groups>

Standard mode

A user works in standard mode when they are a member of ROLE_STANDARD

A user with this role is assigned to one company, and they are able to catalog invoices just for that company.

In standard mode, users are able to catalog invoices and search for invoices by their assigned company, document type, year, and month.

Catalog invoices with metadata

1. Click on STEP 1 option located on the top-left menu

2. Add invoices from your local disk by clicking on the Add files button, and upload them by clicking on the Upload button for each one (or by clicking on the Upload all button).

3. Once you have uploaded the invoices, click on the STEP 2 option on the top-left menu.

4. Set invoice metadata for each uploaded invoice in the previous step. To confirm the changes, click on the Add button. This button will be enabled when the form is fully completed.

In the metadata form, the Company name field is the company assigned to this user.

Search for invoices

1. Click on the SEARCH option on the top-right menu

2. Fill in the year and month fields, then click on the Search button.

3. A list of invoices filtered by the user's companies, document type, year, and month will be shown.

A row in a table with fields TypeNameSizeAuthorDate, Tax number, VAT, and Total is shown for each invoice.

In each row, you can see a Download button to download the invoice.

Advanced mode

A user works in advanced mode when they are a member of ROLE_ADVANCED

A user with this role can catalog invoices for the company assigned to the user.

In advanced mode, users are able to catalog invoices and search for invoices by companies (providers), document type, year, and month.

Catalog invoices with metadata

Same as explained above for standard mode.

In the metadata form, the Company name field is a list of companies created by an admin user.

Search for invoices

Same as explained above for standard mode.

Admin mode

A user works in admin mode when they are a member of ROLE_ADMIN.

By default, the app contains an admin user named admin.

In admin mode, users are able to catalog invoices, manage companies, manage users, and search for invoices by year and month.

Companies management

1. Click on the COMPANY option on the top-right menu.

2. Fill in the required fields: Tax number and Name, and optionally Internal code, to create a new company, and finally click on the Add button.

3. In the list of companies, you can edit or delete them by clicking on the Edit or Delete button respectively.

Users management

1. Click on the USERS option on the top-right menu.

2. Fill in the required fields: Id, Password, and Name; assign a role, and optionally assign a company to create a new user; finally click on the Add button.

3. In the list of users, you can edit or delete them by clicking on the Edit or Delete button respectively.