Introduction to IDP

Choose PowerCred.io for hassle-free document processing. Our smart tool uses the latest AI to read and understand any document, no matter the language or format. It’s quick, accurate, and easy to use, freeing you from the burden of manual work. With PowerCred.io, you get more time for what really matters in your business. Simplify and automate your document tasks with us—let's make every document work for you.

About IDP

PowerCred's Intelligent Document Parser (IDP) sets a new standard in data extraction. It seamlessly handles an array of document formats, languages, and types with ease. But what sets IDP apart is its ability to go beyond pre-defined output formats. With the innovative Bring-Your-Own-Schema feature, users can finely tune output fields to meet their specific requirements. This level of customization ensures that IDP is not just a solution, but the solution for diverse data processing needs. Dive deeper below to discover more about the built-in output formats and witness the true power of IDP.

Executing the API

1. Generate Session ID

  1. Our Get Token API is designed to support multiple sessions of one specific user. Here's a short example:
    A user initiates a document upload process with their phone number (9890123456) serving as a unique identifier. During this process, they are expected to upload two types of documents: one for identity verification and another for income verification. However, they discover that they only have their identity document ready and lack the necessary income documentation (like a payslip or bank statement). Consequently, they abandon the upload process midway.
    After some time, the user acquires the required income document and decides to resume the upload journey. Upon returning, a new session is initiated for the document upload, resulting in the generation of a new session ID. Despite this, the user's unique identifier (the phone number 9890123456) remains unchanged.
    Thus, both session IDs are associated with the same user, based on the unique identifier (the phone number). All data collected during these sessions are aggregated under this singular user ID, ensuring a cohesive view of the user's activities and document submissions.
  2. Our "Get Token" API features an option to include a callback URL, enhancing its versatility and functionality for developers. This addition allows for two primary methods of consuming the output from most of our APIs:
    1. Call GET HTTP API: This approach is useful for continuous monitoring of the processing status. Developers can repeatedly call this GET HTTP API to check on the progress. The API should be polled until the data has been fully processed by our system. Once processing is complete, the API will return a JSON response containing the relevant data.
    2. Callback URL: For a more automated process, developers have the option to specify a callback URL when they initiate the API call. This URL is utilized by our system to automatically send the processed data once it's ready. It's crucial that the specified callback URL is publicly accessible and configured to accept HTTP POST requests, as our system does not support the GET method for callbacks. This method ensures that developers receive the processed data directly and efficiently, without the need for continuous polling.

2. Start Document Processing

Our Intelligent Document Parser is designed to handle documents in any format and language that uses the Latin alphabet, streamlining the document processing experience to its core simplicity. This innovative system eliminates the need for document annotation, sampling, labeling, or any form of preliminary training. Users simply need to select the type of document they're uploading, upload the document itself, and that's it!

Our technology is adept at adapting to format variations and changes effortlessly, ensuring a seamless and efficient processing experience without the necessity for any retraining. It's a straightforward and effective solution that works like magic!

To facilitate the document processing, we have 2 APIs:

  1. Parse Document API: Accessible at Parse Document API, this API requires four parameters:

    1. id: The session ID created during the Generate Session ID step.

    2. document_type: Supports 10 distinct document types, with details available here.

    3. (Optional) file_url OR file: Accepts PDF, JPG, or PNG files either as a direct multipart upload or via a valid HTTP(S) URL.

    4. (Optional) schema_file: Allows for a custom schema or output format selection for data extraction. Default schema files are listed here. The schema can be uploaded together with the document.

  2. Get Document Data API: Found at https://powercred.readme.io/reference/method_get_get, this API takes three parameters:

    1. id: The session ID from the Generate Session ID step, used during document upload.
    2. (Optional) document_type: Specifies the document type from our list of 10. If unspecified, returns all documents associated with the session ID.
    3. (Optional) return_json: When set to true, returns the extracted document data in JSON format. By default (false), it provides excel_url (a link to download the data in Excel format) and input_url (a link to download the original uploaded file).

Invoice

Invoice Items

Field NameTypeExampleDescription
item_namestring"Laptop"Name of the item
item_descriptionstring"15-inch, 8GB RAM"Description of the item
item_quantityfloat1Quantity of the item
unit_pricefloat1200.00Price per unit
total_pricefloat1200.00Total price for the item

Invoice Information

Field NameTypeExampleDescription
invoice_numberstring"INV-100"The invoice number
supplier_namestring"Tech Solutions Ltd."Supplier's name
supplier_addressstring"123 Tech Street"Supplier's address
receiver_namestring"Global Enterprises"Receiver's name
receiver_addressstring"456 Enterprise Blvd."Receiver's address
supplier_emailstring"[email protected] "Supplier's email address
nett_valuefloat1200.00Net value before taxes
tax_amountfloat120.00Tax amount
gross_valuefloat1320.00Total value including taxes
balance_duefloat1320.00Total amount due
delivery_charge_amountfloat20.00Delivery charge amount
other_charge_amountfloat10.00Other additional charges
invoice_currencystring"USD"Currency of the invoice
invoice_delivery_datedate"2023-04-01"Date when the invoice is delivered
payment_due_datedate"2023-04-15"Due date for payment
invoice_datedate"2023-03-30"Date when the invoice was issued
purchase_order_numberstring"PO-456"Purchase order number

Bank Statements

Accounts

Field NameTypeExampleDescription
account_holder_namestring"Jane Doe"The name of the account holder.
account_numberstring"123456789"The bank account number.
bank_addressstring"123 Bank Street"The address of the bank.
account_holder_addressstring"456 Holder Ave"The address of the account holder.
statement_start_perioddate"January 2023"The start period of the bank statement.
statement_end_perioddate"December 2023"The end period of the bank statement.

Transactions

Field NameTypeExampleDescription
datedate"2023-07-15"The date of the transaction.
descriptionstring"Grocery Store Purchase"Description of the transaction.
debit amountfloat100.00The amount debited in the transaction (if applicable).
credit amountfloat-The amount credited in the transaction (if applicable).
type (debit/credit)string"debit"Indicates whether the transaction is a debit or a credit.
balancefloat950.00The account balance after the transaction.

Passport

Field NameTypeExampleDescription
passport_numberstring"A12345678"The unique identifier number of the passport.
passport_holder_namestring"John Doe"The name of the passport holder.
passport_holder_addressstring"123 Main St, City"The address of the passport holder.
passport_holder_gender(male/female)string"male"The gender of the passport holder.
passport_holder_date_of_birthdate"1980-01-01"The date of birth of the passport holder.
passport_issuing_countrystring"CountryName"The country that issued the passport.
passport_issuance_datedate"2010-01-01"The date when the passport was issued.
passport_expiration_datedate"2020-01-01"The date when the passport expires.

Payslip

Field NameTypeExampleDescription
employer_namestring"Acme Corporation"The name of the employer.
employee_namestring"Jane Doe"The name of the employee.
gross_salaryfloat5000.00The total gross salary before deductions.
net_salaryfloat4500.00The net salary after deductions.
allowancesfloat500.00The total amount of allowances.
deductionsfloat500.00The total amount of deductions.
deduction_descriptionstring"Tax, Health Insurance"Description of the deductions.
year_to_date_salaryfloat20000.00The cumulative salary for the year to date.
payslip_monthdate"January 2023"The month and year the payslip is for.
credit_bank_namestring"Global Bank"The name of the bank where the salary is credited.
credit_bank_account_numberstring"123456789"The bank account number where the salary is credited.
hr_email_informationstring"[email protected]"The HR department's email for inquiries.
country_of_employmentstring"United States"The country in which the employee is employed.
currency_of_payslipstring"USD"The currency in which the payslip amounts are denominated.
language_of_payslipstring"English"The language in which the payslip is issued.

Certificate of Employment

Field NameTypeExampleDescription
employer_namestring"Acme Corp"The name of the employer.
employer_addressstring"123 Acme Way, City"The address of the employer.
employee_namestring"John Doe"The name of the employee.
employee_idstring"EMP123456"The identification number of the employee.
employment_start_datestring"2023-01-01"The start date of employment (unformatted).
employment_start_date_formatteddate"2023-01-01"The start date of employment (formatted).
employment_end_datestring"Present" or "2023-12-31"The end date of employment or "Present" if currently employed.
employee_designationstring"Software Engineer"The job title or designation of the employee.
hr_namestring"Jane Smith"The name of the HR representative.
hr_contactstring"123-456-7890"Contact information for the HR representative.
compensationfloat50000.00The annual or monthly salary of the employee.
compensation_frequency (weekly, biweekly, monthly etc)string"monthly"The frequency of compensation payments.
total_allowances_amountfloat5000.00The total amount of allowances.
allowances_descriptionstring"Housing, Transportation"Description of the allowances provided.
total_bonuses_amountfloat10000.00The total amount of bonuses received.
work_responsibilitiesstring"Develop and maintain software applications."Brief description of the employee's job responsibilities.
certificate_requested_bystring"Employee"Who requested the employment certificate.
certificate_issued_forstring"Visa Application"The purpose for which the certificate was issued.
country_of_employmentstring"United States"The country where the employee is employed.
currency_of_compensationstring"USD"The currency in which the compensation is paid.
document_issue_date_originalstring"2024-02-01"The original issue date of the document (unformatted).
document_issue_date_formatteddate"2024-02-01"The issue date of the document (formatted).

ITR Information

Field NameTypeExampleDescription
tax_identification_number(TIN)string"123-456-789"The unique tax identification number of the taxpayer.
namestring"John Doe"The name of the taxpayer.
employer_namestring"Acme Corporation"The name of the taxpayer's employer.
employer_addressstring"123 Acme Way, City"The address of the taxpayer's employer.
signatorystring"Jane Smith"The name of the person who signs the ITR.
signatory_designationstring"Chief Financial Officer"The designation of the signatory.
gross_compensationfloat75000.00The total gross compensation received by the taxpayer.
total_taxable_incomefloat70000.00The total income considered taxable under tax regulations.

Utility Bill Information

Field NameTypeExampleDescription
statement_datedate"2023-01-01"The date the utility bill statement was issued.
namestring"John Doe"The name of the individual or entity responsible for the bill.
coveragestring"January 2023"The period covered by the utility bill.
due_datedate"2023-02-01"The due date for payment of the utility bill.
previous_balancefloat100.00The balance from the previous billing period.
previous_paymentfloat100.00The payment made towards the previous balance.
current_balancefloat150.00The current balance due, including any new charges.
please_pay_identifierstring"Please Pay"A unique identifier or message indicating payment is due.

Credit Card Statements

Account Information

Field NameTypeExampleDescription
account_holder_namestring"Jane Doe"The name of the credit card account holder.
account_numberstring"1234 5678 9012 3456"The credit card account number.
bank_addressstring"123 Bank Street, City"The address of the bank issuing the credit card.
account_holder_addressstring"456 Holder Ave, City"The address of the credit card account holder.
statement_start_perioddate"January 2023"The start date of the statement period.
statement_end_perioddate"February 2023"The end date of the statement period.

Transactions

Field NameTypeExampleDescription
datedate"2023-01-15"The date of the transaction.
descriptionstring"Supermarket"A brief description of the transaction.
debit amountfloat100.00The amount charged to the account (for purchases).
credit amountfloat-The amount credited to the account (for payments/returns).
type (debit/credit)string"debit"Indicates whether the transaction is a charge or a credit.
balancefloat950.00The account balance after the transaction.

Loan Statements

Account Information

Field NameTypeExampleDescription
account_holder_namestring"Jane Doe"The name of the loan account holder.
account_numberstring"9876543210"The loan account number.
bank_addressstring"123 Bank Lane, City"The address of the bank issuing the loan.
account_holder_addressstring"456 Holder St, City"The address of the loan account holder.
bank_namestring"City Bank"The name of the bank issuing the loan.
loan_amountfloat50000.00The total amount of the loan.
outstanding_loan_amountfloat45000.00The remaining amount of the loan to be repaid.
monthly_installmentsfloat500.00The amount of the monthly installment payments.
tenure_paid(number of months)integer10The number of months of the tenure already paid.
tenure_pending(number of months)integer50The number of months of the tenure remaining to be paid.
Please pay by datedate"2023-02-15"The due date for the next payment.

Transactions

Field NameTypeExampleDescription
datedate"2023-01-15"The date of the transaction.
descriptionstring"Payment"A brief description of the transaction.
amountfloat500.00The amount of the transaction.
type (debit/credit)string"debit"Indicates whether the transaction is a debit (payment) or a credit (refund/adjustment).
balancefloat44500.00The loan balance after the transaction.