System limits

This topic lists known limits, quotas and constraints of Kofax AP Essentials services. System limits apply to the AP Essentials web interface (Admin Center, Office, and Mobile Approval), the API, AP Essentials Connect, custom integrations, and anywhere you access AP Essentials.

File size limitations

Description Limit Note
Max file size for input files 50 MB

This is the maximum size allowed for documents that are sent to Kofax AP Essentials for processing.

If the limit is exceeded, the document receives the status, input failed.

Max file size for storage upload 25 MB

If the limit is exceeded, you receive a notification that the upload failed.

Max file size for master data upload

200 MB

If the limit is exceeded, you receive a notification that the upload failed.

Document limitations

Description Limit Note
Maximum number of pages in a document 2,000 pages If the limit is exceeded, the document receives the status, input failed.
Maximum number of pages in an invoice containing line items from a new supplier where all pages are interpreted 100 pages on the first invoice from a new supplier.

2,000 pages on subsequent invoices from the same supplier.

If the document has more than 100 pages, only the first page is interpreted on the first invoice received from a new supplier.

The next time an invoice is received by the same supplier, and the supplier is properly identified, up to 2,000 pages can be interpreted.

Maximum number of pages in a remittance advice 2,000 pages


Resource Limit
Users 3,000 per organization
User groups 1,000 per organization

Each organization, such as a partner account or customer account, can have up to 3,000 users. Each organization can also have up to 700 user groups.

For example, assume you have a partner account with ten customer accounts. Each customer can have up to 3,000 users. The partner account itself can also have up to 3,000 users. In total, the partner account and its customer accounts in this example can have up to 33,000 users. In other words, the limitation is not cumulative across multiple accounts. Rather, it is limited per organization.

User settings

Some settings on user accounts have character length limitations.

Setting Limit
User name 150 characters
Full name 150 characters
Email address 100 characters
Phone number 128 characters

Users, customers, buyers, and sellers

Resource Limit
  • 2,000 per partner

  • 5,000 per customer group

  • 30,000 per customer account

User groups
  • 2,000 per partner

  • 2,000 per customer group

  • 2,000 per customer account

  • 10,000 per partner

  • 5,000 per customer group

Customer groups 500 per partner
Buyers 10,000 per customer account
Sellers 10,000 per customer account

Each limit is contained within its respective owner. In other words, the user count of a customer account is not deducted from the user count of its parent partner account.

Master data

Each master data type has a maximum number of items allowed.

Master data type Maximum count allowed Maximum file size
Accounts (general ledger) 100,000 200 MB
Currencies 500 200 MB
Supplier banks 300,000 200 MB
Suppliers *


200 MB
Generic master-data objects 500,000

You can have up to 40 different generic master-data types, each with up to 500,000 objects.

200 MB
Purchase orders


Up to 200,000 purchase orders are allowed for each buyer or customer account.

After the initial upload, you cannot add, update, or delete more than 5,000 purchase orders per upload.

Each purchase order can have a maximum of 5,000 order lines.

200 MB


When uploading customer master data on the seller level, the total count from all sellers of the parent account cannot exceed 1,000,000.

After the initial upload, you cannot add or update more than 2,000 customers per upload.

200 MB

* When importing suppliers for PROCESS DIRECTOR AP, each buyer is limited to 150,000 suppliers.

Max length of master data field values

The values of the master-data fields below cannot exceed the maximum length specified in this table:

Field Maximum length
Generic master-data objects
Type name 50
Value 150
Name 150
Description 200
Code 40
Name 100
Accounts (general ledger)
Code 100
Name 220
Group 100
Description 500
Supplier number 200
Name 400
Description 2000
Organization number 100
Tax registration number 200
Tax code 200
Payment term 300
Payment method 200
Currency code 50
Location 300
Street 500
Postal code 100
City 200
State 100
Country name 100
Telephone number 250
Fax number 250
Supplier banks
Bank name 200
Bank number type 20
Bank number 50
Account number type 20
Account number 250
Purchase orders
Order number 50
Supplier number 200
Supplier name 400
Currency code 40
Contact name 200
Description 1500
Status text 100
RequisitionedBy 254
CreatedBy 254
Purchase orders lines
Order line number 40
Article number 1500
Article description 5000
Supplier article number 300
Category number 80
Category description 1500
Unit 50
Status text 100
DeliveryNoteNumber 50
DeliveryDate1 8
DeliveryDate2 8
UniqueArticleNumber 20
Purchase order search query
Sort field 500
Customer number 100
Name 100
TaxRegistrationNumber 30
OrganizationNumber 30
Street 100
PostalCode 20
Country 100
City 100
State 50
TelephoneNumber 30
FaxNumber 30

AP Essentials Connect plug-in

Resource Limit
Plug-in file size 50 MB

When uploading a plug-in ZIP file to the Resource view in Admin Center, the combined file size of the ZIP-file contents cannot exceed 50 MB.

API throttling

API throttling is the process of limiting the number of API requests you can make during a certain period. AP Essentials throttles key API methods to promote stability and fair usage of the system. If a request is throttled, HTTP error code 429 is returned.

Throttling rates

This table lists throttling rates on a per-hour basis unless otherwise noted. The context of "Organization ID" in this table depends on the context of the method. For example, Organization ID can refer to a customer account or the buyer/seller (if buyers or sellers are in use).

Method Maximum requests per hour Throttled by
Authenticate 1,000 UserName
IsAuthenticated 1,000 Organization ID and Current user
SignOut 1,000 Organization ID and Current user
Touch 1,000 Organization ID and Current user
Customer master data
DeleteMasterDataCustomers 10 Organization ID
AddOrUpdateMasterDataCustomers 10 Organization ID
DeleteMasterDataCustomersById 500 Organization ID
AddOrUpdateSingleMasterDataCustomer 100 Organization ID and Current user
SearchMasterDataCustomers 500 Organization ID and Current user
StartMasterDataCustomerUpload 1 request every 2 hours Organization ID
CompleteMasterDataCustomerUpload 1 request every 1 hour 55 minutes Organization ID
Generic master data objects
SetMasterDataObjects 60 Organization ID and Master data object type
AddOrUpdateMasterDataObjects 60 Organization ID and Master data object type
DeleteMasterDataObjects 60 Organization ID and Master data object type (a collection of object types can be specified )
GetMasterDataObjects 300 Organization ID and Master data object type
GetAvailableMasterDataObjectTypesByCustomerId 2,000 Customer ID and Current user
SearchMasterDataObjects 2,000 Organization ID and Current user
GetMasterDataObjectsMatchingSearchValue 2,000 Organization ID, Master data object type and Current user
Purchase order master data
SetPurchaseOrders 60 Organization ID
AddOrUpdatePurchaseOrders 120 Organization ID
DeletePurchaseOrders 120 Organization ID
GetPurchaseOrders 100 Organization ID
SearchPurchaseOrderFilteredLines 400 Organization ID and Current user
SearchPurchaseOrders 400 Organization ID and Current user
Supplier master data
SetSuppliers 100 Organization ID
AddOrUpdateSuppliers 400 Organization ID
AddOrUpdateSupplierWithBankAccounts 400 Organization ID
DeleteSuppliersById 100 Organization ID
DeleteSuppliers 200 Organization ID
GetSuppliers 200 Organization ID
GetSupplier 100 Organization ID
SearchSuppliers 60 Customer ID and Current user
SearchSuppliersQuery 400 Organization ID and Current user
SearchSuppliersWithQueryResult 600 Customer ID and Current user

Monitoring API Throttling via HTTP Headers

When you make HTTP requests to an endpoint that supports throttling, AP Essentials provides throttling information in the HTTP header. These headers are returned simultaneously:

  • X-RateLimit-WindowSize — Throttling involves setting a limit on the number of requests allowed within a designated time frame, such as one hour. The X-RateLimit-WindowSize header denotes the duration of this window in seconds.

  • X-RateLimit-Reset — This header shows how many seconds are left until the end of the current throttling window.

  • X-RateLimit-Limit — This header shows how many requests can be performed within the throttling window.

  • X-RateLimit-Remaining — This header shows how many requests remain before throttling is applied.

Consider this example:

X-RateLimit-WindowSize: 3600
X-RateLimit-Reset: 3300
X-RateLimit-Limit: 400
X-RateLimit-Remaining: 397

These headers indicate a time window of 3,600 seconds (1 hour). The window will reset in 3,300 seconds (55 minutes). Within this 3,600-second window, a total of 400 requests are permitted. Currently, you have the capacity to make 397 more requests within the remaining 3,300 seconds (55 minutes). To clarify, you can make up to 400 requests per hour, and so far, you have made three requests in the first five minutes. If you attempt to exceed the limit of 400 requests within the one-hour period, your requests will be throttled until the time window resets.