---
title: Document & Batch Workflow
description: How are uploaded documents or batches processed in the Parashift Platform? What workflow steps (Separation, Classification, Extraction) exist, and how are they represented in our data model?
---

[Skip to content](https://support.parashift.io/document-workflow#main-content)

[Contact us](https://support.parashift.io/kb-tickets/new?hsLang=en) [Customer support portal](https://support.parashift.io/tickets-view?hsLang=en)

[![parashift\_logo\_white-2](https://support.parashift.io/hs-fs/hubfs/parashift_logo_white-2.png?width=250&height=45&name=parashift_logo_white-2.png)](https://support.parashift.io/?hsLang=en)

Open main navigation

Close main navigation

- [Contact us](https://support.parashift.io/kb-tickets/new)
- [Customer support portal](https://support.parashift.io/tickets-view)

 How can we help you?

- There are no suggestions because the search field is empty.

1. [Support Center](https://support.parashift.io/?hsLang=en)
2. [Configuration Guides](https://support.parashift.io/configuration-guides?hsLang=en)
3. [Workflow (Upload Configuration, Separation, Classification)](https://support.parashift.io/configuration-guides?hsLang=en#workflow-upload-configuration-separation-classification)

# Document & Batch Workflow

## How are uploaded documents or batches processed in the Parashift Platform? What workflow steps (Separation, Classification, Extraction) exist, and how are they represented in our data model?

Every uploaded document and batch runs through the same workflow steps. Depending on the use case some steps can be turned off or be very extensive.

#### **Workflow Description**

Below is a high-level diagram that explains the different workflow steps:

![](https://support.parashift.io/hubfs/Basics%20Batch%20%26%20Document%20Workflow-png-1.png)

- **Inbound**  
  This is a technical step that prepares incoming files for further processing. Files are converted into an internal working format and enhanced to remove skew, rotation, or background.  
  One key task here is **Optical Character Recognition (OCR)**, which converts text on images into machine-readable text.
- **Separation**  
  If you work only with already separated documents (e.g., single-page PDFs), you can skip this step. Otherwise, a batch (multiple documents uploaded together) is separated into individual documents.
  
    - Separation can be purely manual or automated by various methods.
    - You can also revisit separation later if a user notices a document is not properly separated.
- **Classification**  
  If you already know which document type you’re processing, this step can be skipped. Otherwise, documents are classified into different document types. Users interact only with exceptions that aren’t classified automatically.
- **Extraction**  
  This is the most important step for many users, though it can be skipped if you only need separated and classified documents. Data is extracted from the document based on configured fields. Users can capture fields manually or validate fields with low prediction confidence.
  
    - Parashift offers many configuration options and standard document types/fields out of the box.

### Data Model

Three attributes describe a document’s current status and workflow step:

| **Attribute** | **Allowed Values** | **Description** |
| --- | --- | --- |
| status | pending, in\_progress, done, failed | Overall document status, typically in\_progress or done |
| workflow\_step     | inbound, inbound\_processing, ocr, classification, classification\_validation, extraction, extraction\_validation, outbound\_processing, done, qc     | The current workflow step |
| workflow\_status | started in\_progress retry failed done | The current status of the workflow\_step |

### **Examples of Common Workflow & Status Combinations**

| **status** | **workflow\_step** | **workflow\_status** | **Description** |
| --- | --- | --- | --- |
| done | done | done | The document is completely processed. All data, including export files, document type, and field data, can be retrieved. |
| in\_progress | classification\_validation extraction\_validation | in\_progress | The document is waiting for user interaction. Data can be fetched but may change after validation. |
| failed | (any step)     | (any)     | Processing failed. Check the uploaded file for correctness or contact Parashift Support. |

### Example API Calls

- **Filter for done documents** 

```
https://api.parashift.io/v2/documents?filter[status]=done
```

- **Filter for done documents that were not yet exported**

```
https://api.parashift.io/v2/documents?filter[exported_at_blank]=true&filter[status]=done
```

- **Fetch field data for a specific document**

```
https://api.parashift.io/v2/documents/123456/?include=document_fields&extra_fields[document_fields]=extraction_candidates
```

- **Mark a document as exported** 

```
https://api.parashift.io/v2/documents/123456/mark_as_exported
```

- **Count documents awaiting Extraction Validation**

```
https://api.parashift.io/v2/documents?filter[workflow_step]=extraction_validation&filter[workflow_status]=in_progress&stats[total]=count    
```

- [Getting Started](https://support.parashift.io/getting-started?hsLang=en)
- [User Guides](https://support.parashift.io/user-guides?hsLang=en#main-content)

    - [General](https://support.parashift.io/user-guides?hsLang=en#general)
    - [Validation](https://support.parashift.io/user-guides?hsLang=en#validation)
    - [Platform Workshops](https://support.parashift.io/user-guides?hsLang=en#platform-workshops)
- [Configuration Guides](https://support.parashift.io/configuration-guides?hsLang=en#main-content)

    - [Document Type & Fields](https://support.parashift.io/configuration-guides?hsLang=en#document-type-fields)
    - [Automation](https://support.parashift.io/configuration-guides?hsLang=en#automation)
    - [Tenant (User management)](https://support.parashift.io/configuration-guides?hsLang=en#tenant-user-management)
    - [Workflow (Upload Configuration, Separation, Classification)](https://support.parashift.io/configuration-guides?hsLang=en#workflow-upload-configuration-separation-classification)
- [Release Notes](https://support.parashift.io/release-notes?hsLang=en)
- [API Documentation](https://support.parashift.io/api-documentation?hsLang=en#main-content)

    - [Platform API Configuration](https://support.parashift.io/api-documentation?hsLang=en#platform-api-configuration)
    - [Technical API Documentation](https://support.parashift.io/api-documentation?hsLang=en#technical-api-documentation)
- [Professional Services](https://support.parashift.io/professional-services?hsLang=en#main-content)

    - [Project-based Service Packages](https://support.parashift.io/professional-services?hsLang=en#project-based-service-packages)
    - [Subscription-based Service Packages](https://support.parashift.io/professional-services?hsLang=en#subscription-based-service-packages)

[![Knowledge Base Home](https://support.parashift.io/hubfs/parashift_logo_black-2.svg "Knowledge Base Home")](https://support.parashift.io/?hsLang=en)

[Platform Live Status](https://status.parashift.io/)   |   [API Documentation](https://docs.parashift.io/)

<https://www.parashift.io/> [mailto:support@parashift.io](mailto:support@parashift.io) <https://www.linkedin.com/company/parashiftag>

Copyright © 2025, Parashift AG