Hero image for Blueprint Before Bots: Mastering PDD and SDD Documentation for Enterprise RPA

Blueprint Before Bots: Mastering PDD and SDD Documentation for Enterprise RPA

RPA UiPath PDD SDD Documentation Enterprise Automation

“Just build it, we’ll figure out the details later.”

Famous last words before a failed RPA project.

The difference between a successful automation and a maintenance nightmare often comes down to what happens before the first line of code is written. That’s where PDD and SDD come in.


The Cost of Skipping Documentation

Let’s start with reality:

ScenarioWithout PDD/SDDWith PDD/SDD
Requirement changes mid-projectComplete rework, “that’s not what I meant”Reference the signed-off document
Developer leaves the teamMonths of reverse-engineeringNew developer reads the SDD
Bug in production”What was this supposed to do?”Check the business rules in PDD
Scaling to new regionsStart from scratchAdapt existing templates
Audit/compliance reviewPanic and scrambleHand over documentation

The Math:

  • Time to write PDD: 4-8 hours
  • Time to write SDD: 8-16 hours
  • Time wasted on one major misunderstanding: 40+ hours

Documentation isn’t overhead. It’s insurance.

Where PDD & SDD Fit in the RPA Lifecycle

┌──────────────────────────────────────────────────────────────────────────┐
│              RPA Project Lifecycle & Documentation                       │
├──────────────────────────────────────────────────────────────────────────┤
│                                                                          │
│ DISCOVERY     DESIGN        BUILD         TEST         DEPLOY    OPS     │
│ ────────      ──────        ─────         ────         ──────    ───     │
│                                                                          │
│  Process      Solution      Coding        UAT          Go-Live   Support │
│  Analysis     Design        & Unit        &            &         & Main- │
│                             Testing       Sign-off     Hypercare tenance │
│                                                                          │
│      │           │           │            │           │        │         │
│      ▼           ▼           │            │           │        │         │
│  ┌──────┐    ┌──────┐        │            │           │        │         │
│  │ PDD  │    │ SDD  │        │            │           │        │         │
│  └──────┘    └──────┘        │            │           │        │         │
│      │           │           │            │           │        │         │
│      ▼           ▼           ▼            ▼           ▼        ▼         │
│  ●……………●     ●……………●      ●……………●      ●……………●     ●……………●   ●         │
│  GATE 1      GATE 2        GATE 3      GATE 4       GATE 5             │
│ Business      Tech          Code         UAT         Prod              │
│ Sign-off    Sign-off       Review      Sign-off     Release            │
│  ●……………●     ●……………●      ●……………●      ●……………●     ●……………●   ●         │
│                                                                          │
│  ➜ Key Milestones:                                                       │
│    • PDD Sign-off before development starts (Gate 1)                     │
│    • SDD Sign-off before coding starts (Gate 2)                          │
│    • No scope changes after Gate 2 without Change Request                │
│                                                                          │
└──────────────────────────────────────────────────────────────────────────┘

PDD vs SDD: What’s the Difference?

┌─────────────────────────────────────────────────────────────────────────────┐
│                      PDD vs SDD Overview                                    │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│ ┌──────────────────────────┐             ┌──────────────────────────┐       │
│ │  PDD                     │             │  SDD                     │       │
│ │  Process Definition      │             │  Solution Design         │       │
│ │  Document                │             │  Document                │       │
│ ├──────────────────────────┤             ├──────────────────────────┤       │
│ │                          │             │                          │       │
│ │ WHAT the process does    │             │ HOW automation will work │       │
│ │                          │             │                          │       │
│ │ Written by: BA / SME     │             │ Written by: RPA Dev      │       │
│ │                          │             │                          │       │
│ │ Audience: Business       │             │ Audience: Technical      │       │
│ │                          │             │                          │       │
│ │ When: Discovery Phase    │             │ When: Design Phase       │       │
│ │                          │             │                          │       │
│ │ Approval: Business Owner │             │ Approval: Tech Lead      │       │
│ │                          │             │                          │       │
│ └────────────┬─────────────┘             └─────────────┬────────────┘       │
│              │                                         │                    │
│              │        ┌────────────────────────┐       │                    │
│              └───────▶│  Development           │◀──────┘                    │
│                       └────────────┬───────────┘                            │
│                                    │                                        │
│                                    ▼                                        │
│                        ┌────────────────────────┐                           │
│                        │  Deployed              │                           │
│                        │  Automation            │                           │
│                        └────────────────────────┘                           │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Quick Comparison

AspectPDDSDD
FocusBusiness processTechnical solution
LanguageBusiness terminologyTechnical terminology
AuthorBusiness Analyst, SMERPA Developer, Solution Architect
Primary ReaderBusiness stakeholders, Process ownerDevelopment team, Support team
TimingBefore development startsBefore coding starts
Sign-offBusiness owner, Process ownerTechnical lead, Architecture review
UpdatesWhen business process changesWhen technical implementation changes

A Note on Agile RPA Development

ℹ️ Agile Consideration: The PDD → SDD → Development flow described here follows a traditional V-Model / Waterfall approach, which is the enterprise standard for regulated environments.

In Agile RPA settings (startups, fast-paced teams), documentation is often streamlined:

Traditional (Enterprise)Agile (Lightweight)
Full PDD (20-30 pages)User Stories + Process Map
Formal SDD (30-50 pages)Technical Notes in Wiki
Sign-off meetingsPR reviews with documentation
Separate documentsLiving documentation in Git

When to use which:

ContextRecommended Approach
Regulated industry (Finance, Healthcare)Full PDD/SDD
Audit requirementsFull PDD/SDD
Large team (5+ developers)Full PDD/SDD
Complex integrationsFull PDD/SDD
Small team, fast iterationAgile lightweight
POC/PrototypeAgile lightweight

💡 This article focuses on the Enterprise Standard (full PDD/SDD), which is appropriate for most production RPA deployments. Even in Agile environments, the concepts here apply—just the formality level varies.


Part 1: The Process Definition Document (PDD)

The PDD is your contract with the business. It captures exactly what the process does today (As-Is) and what the automated version will do (To-Be).

PDD Structure Overview

┌─────────────────────────────────────────────────────────────────────────────┐
│                       PDD Document Structure                                │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  1. Executive Summary                                                       │
│     └── One-page overview for executives                                    │
│                                                                             │
│  2. Process Overview                                                        │
│     ├── Process name, owner, department                                     │
│     ├── Business context and objectives                                     │
│     └── Scope (in-scope / out-of-scope)                                     │
│                                                                             │
│  3. As-Is Process                                                           │
│     ├── Current process flow diagram                                        │
│     ├── Step-by-step description                                            │
│     ├── Systems and applications used                                       │
│     └── Pain points and inefficiencies                                      │
│                                                                             │
│  4. To-Be Process                                                           │
│     ├── Automated process flow diagram                                      │
│     ├── Human touchpoints (where manual intervention needed)                │
│     └── Expected improvements                                               │
│                                                                             │
│  5. Business Rules                                                          │
│     ├── Decision logic tables                                               │
│     ├── Validation rules                                                    │
│     └── Exception conditions                                                │
│                                                                             │
│  6. Data Requirements                                                       │
│     ├── Input data (sources, formats, examples)                             │
│     ├── Output data (destinations, formats)                                 │
│     └── Data transformations                                                │
│                                                                             │
│  7. System Landscape                                                        │
│     ├── Applications list with versions                                     │
│     ├── Access requirements (credentials, permissions)                      │
│     └── System dependencies                                                 │
│                                                                             │
│  8. Metrics & KPIs                                                          │
│     ├── Current performance baseline                                        │
│     ├── Target metrics post-automation                                      │
│     └── How success will be measured                                        │
│                                                                             │
│  9. Appendices                                                              │
│     ├── Sample documents                                                    │
│     ├── Screenshots                                                         │
│     └── Glossary                                                            │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

Section Deep Dives

1. Executive Summary

One page maximum. Written last, read first.

## Executive Summary

**Process Name:** Invoice Processing - Accounts Payable
**Business Owner:** Jane Smith, AP Manager
**Automation Candidate Score:** 85/100

### Current State
- 500 invoices processed manually per week
- Average processing time: 12 minutes per invoice
- Error rate: 3.2%
- FTE involved: 2.5

### Proposed Automation
- Bot processes 450 invoices (90% straight-through)
- Human handles 50 exceptions (10%)
- Processing time: 2 minutes per invoice (83% reduction)
- Expected error rate: 0.5%

### Expected Benefits
- Annual time savings: 1,300 hours
- Cost savings: $52,000/year
- Improved accuracy and audit trail

2. As-Is Process Flow

Use swimlane diagrams to show who does what:

┌───────────────────────────────────────────────────────────────────────┐
│              As-Is: Invoice Processing Flow                           │
├───────────────┬───────────────────────────────────────────────────────┤
│               │                                                       │
│  Mailroom     │ ┌───────┐                                             │
│               │ │Receive│                                             │
│               │ │Invoice│───────┐                                     │
│               │ │(Email)│       │                                     │
│               │ └───────┘       │                                     │
│               │                 │                                     │
├───────────────┼─────────────────┼─────────────────────────────────────┤
│               │                 │                                     │
│  AP Clerk     │                 ▼       ┌────────┐                    │
│               │             ┌───────┐   │Download│                    │
│               │             │ Open  │──▶│PDF     │                    │
│               │             │ Email │   └───┬────┘                    │
│               │             └───────┘       │                         │
│               │                             │                         │
│               │      ┌───────┐     ┌───────┐│    ┌───────┐            │
│               │      │Enter  │     │Valid- │▼    │Extract│            │
│               │      │in SAP │◀────│ate vs │◀────│Data   │            │
│               │      │       │     │PO     │     │Manua- │            │
│               │      └───────┘     └───────┘     │lly    │            │
│               │        │                         └───────┘            │
│               │        ▼                                              │
│               │      ◇ Amount                                         │
│               │     ╱ ╲ > $10k                                        │
│               │    ◇   ◇───────────────────┐                          │
│               │     ╲ ╱                    │                          │
│               │      ◇ No                  │                          │
├───────────────┼──────┼─────────────────────┼──────────────────────────┤
│               │      │                     │                          │
│  AP Manager   │      ▼                     │                          │
│               │    ┌────┐                  ▼                          │
│               │    │Done│              ┌────────┐                     │
│               │    └───┐│              │Review &│                     │
│               │        └┘              │Approve │                     │
│               │                        └────┬───┘                     │
│               │                             │                         │
│               │                             ▼                         │
│               │                          ┌────┐                       │
│               │                          │Done│                       │
│               │                          └────┘                       │
└───────────────┴───────────────────────────────────────────────────────┘

Pain Points Identified:
• Manual data entry from PDF → Error-prone, time-consuming
• Email inbox management → Invoices get lost
• No tracking until entered in SAP → Visibility gap

Standard BPMN Notation Reference:

[!TIP] Use proper BPMN 2.0 symbols for professional process maps:

┌─────────────────────────────────────────────────────────────────────┐
│                       BPMN Symbol Reference                         │
├─────────────────────────────────────────────────────────────────────┤
│                                                                     │
│  ( )  Start Event       ┌─────────┐ Task/Activity                   │
│                         │         │                                 │
│  (◎)  End Event         └─────────┘                                 │
│                                                                     │
│  ◇    Gateway           ┌ ─ ─ ─ ─ ┐ System (dashed border)          │
│       (Decision)        │         │                                 │
│                         └ ─ ─ ─ ─ ┘                                 │
│                                                                     │
│  ───────────────────────────────────    Swimlane (role/department)  │
│                  Sales Dept                                         │
│  ───────────────────────────────────                                │
│                                                                     │
│  Common Gateways:                                                   │
│  ◇  Exclusive (XOR) - Only one path                                 │
│  +  Parallel (AND) - All paths execute                              │
│  O  Inclusive (OR) - One or more paths                              │
│                                                                     │
└─────────────────────────────────────────────────────────────────────┘

3. Business Rules Table

Capture every decision the human makes:

Rule IDConditionActionException Handling
BR-001Invoice amount matches PO ± 2%Proceed to posting-
BR-002Invoice amount differs > 2% from POFlag for manual reviewCreate exception queue item
BR-003Vendor not found in SAPSearch by tax IDIf still not found, escalate to AP Manager
BR-004Invoice date > 90 days oldReject automaticallySend rejection email to vendor
BR-005Duplicate invoice number detectedSkip processingLog and notify AP Clerk
BR-006Amount > $10,000Requires manager approvalRoute to approval workflow

🚨 Critical: Business rules are the #1 source of scope creep. Get sign-off on this table.

4. Data Requirements

Input Data
FieldSourceFormatRequiredExampleValidation
Invoice NumberPDFStringYesINV-2024-00123Alphanumeric, max 20 chars
Vendor NamePDFStringYesACME CorporationMatch against vendor master
Invoice DatePDFDateYes2024-01-15Not future, not > 90 days old
AmountPDFDecimalYes1,234.56Positive, max 2 decimal places
PO NumberPDFStringConditionalPO-2024-001Required if amount > $500
CurrencyPDFStringYesUSDISO 4217 code
Output Data
FieldDestinationFormatExample
SAP Document NumberSAP, Excel ReportString5100001234
Posting DateSAPDate2024-01-16
Processing StatusOrchestrator QueueEnumSuccessful / Failed / Pending
Error MessageOrchestrator QueueString”Vendor not found”
Test Data Strategy

[!IMPORTANT] Test Data is Where Projects Stall
Many projects are delayed because UAT environment lacks realistic data.

EnvironmentData SourceMasking Required?Notes
DevelopmentSyntheticNoCreate 50 sample invoices
UATCopy of Prod (masked)YesUse data masking tool
ProdLive dataN/A-

Data Masking Requirements:

  • PII fields (vendor contacts, bank accounts) must be masked
  • Referential integrity preserved (masked vendor ID must exist in vendor master)
  • Edge cases included: multi-line invoices, foreign currencies, credit notes

5. System Landscape

SystemVersionPurposeAccess MethodCredentials
OutlookM365Email inboxDesktop AppService account
SAP ECC6.0 EHP8ERP postingSAP GUI 7.70Service account
SharePointOnlineDocument storageBrowser/APIService account
Oracle DB19cVendor validationODBCRead-only account

Access Requirements:

  • SAP: Transaction codes FB60, FBL1N, XK03
  • Outlook: Shared mailbox access
  • SharePoint: Contribute permission to AP folder
  • Network: Access to file share \server\ap\invoices

6. Metrics & KPIs

MetricCurrent (Baseline)TargetMeasurement Method
Processing time per invoice12 minutes2 minutesOrchestrator logs
Error rate3.2%< 0.5%Exception count / total
Invoices processed per day100400Queue completion count
SLA compliance (48h)85%98%Timestamp analysis
FTE effort2.5 FTE0.5 FTETime tracking

Part 2: The Solution Design Document (SDD)

The SDD is your technical blueprint. It’s the developer’s bible and the support team’s lifeline.

SDD Structure Overview

┌─────────────────────────────────────────────────────────────────────────────┐
│                       SDD Document Structure                                │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  1. Solution Overview                                                       │
│     ├── Architecture pattern (REFramework, Linear, etc.)                    │
│     ├── High-level flow diagram                                             │
│     └── Key design decisions                                                │
│                                                                             │
│  2. Component Design                                                        │
│     ├── Workflow inventory                                                  │
│     ├── Each workflow: purpose, inputs, outputs                             │
│     └── Reusable components / libraries                                     │
│                                                                             │
│  3. Queue Design                                                            │
│     ├── Queue configuration                                                 │
│     ├── Queue item schema                                                   │
│     └── Retry strategy                                                      │
│                                                                             │
│  4. Exception Handling                                                      │
│     ├── Business exceptions list                                            │
│     ├── System exceptions handling                                          │
│     └── Retry vs fail decision matrix                                       │
│                                                                             │
│  5. Configuration & Assets                                                  │
│     ├── Config.xlsx structure                                               │
│     ├── Orchestrator assets                                                 │
│     └── Environment-specific settings                                       │
│                                                                             │
│  6. Selector Strategy                                                       │
│     ├── Critical selectors                                                  │
│     ├── Fallback approaches                                                 │
│     └── Known selector risks                                                │
│                                                                             │
│  7. Logging Strategy                                                        │
│     ├── Log fields definition                                               │
│     ├── Log level by environment                                            │
│     └── Key log messages                                                    │
│                                                                             │
│  8. Security Considerations                                                 │
│     ├── Credential storage                                                  │
│     ├── Data handling (PII, sensitive)                                      │
│     └── Audit trail                                                         │
│                                                                             │
│  9. Deployment & Maintenance                                                │
│     ├── Deployment steps                                                    │
│     ├── Rollback procedure                                                  │
│     └── Monitoring and alerts                                               │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

[!NOTE] For Very Large Projects: Consider HLD/LLD Split

On multinational or cross-platform projects (10+ developers), the SDD may be split:

DocumentScopeAudience
HLD (High-Level Design)Architecture, integration pointsArchitects, PMs
LLD/DSD (Detailed Design)Component-level specs per workflowDevelopers

For typical RPA projects (1-3 developers), a single SDD is sufficient.

Section Deep Dives

1. Solution Architecture

Pattern Selection:

PatternWhen to Use
REFramework + QueueHigh volume, needs scalability, multiple performers
REFramework + TabularFixed dataset (Excel), single performer
Linear ProcessSimple, sequential, < 50 transactions
State MachineComplex branching, non-linear flow

Architecture Diagram:

┌─────────────────────────────────────────────────────────────────────────────┐
│                   Invoice Processing Architecture                           │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│ ┌────────────┐                                                              │
│ │  Outlook   │                                                              │
│ │  Inbox     │                                                              │
│ └──────┬─────┘                                                              │
│        │                                                                    │
│        │                                                                    │
│ ┌──────▼─────┐    ┌──────────────────────────────────────────────────────┐  │
│ │ DISPATCHER │    │ Orchestrator Queue                                   │  │
│ │ (Scheduled │    │ "Invoice_Processing"                                 │  │
│ │  6 AM)     │    │                                                      │  │
│ └──────┬─────┘    │ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐                  │  │
│        └─────────▶│ │Item 1│ │Item 2│ │Item 3│ │...   │                  │  │
│                   │ └──────┘ └──────┘ └──────┘ └──────┘                  │  │
│                   └───────────────────────┬──────────────────────────────┘  │
│                                           │                                 │
│                       ┌───────────────────┼───────────────────┐             │
│                       │                   │                   │             │
│                       │                   │                   │             │
│                ┌──────▼─────┐      ┌──────▼─────┐      ┌──────▼─────┐       │
│                │ PERFORMER  │      │ PERFORMER  │      │ PERFORMER  │       │
│                │ Robot 1    │      │ Robot 2    │      │ Robot 3    │       │
│                └──────┬─────┘      └──────┬─────┘      └──────┬─────┘       │
│                       │                   │                   │             │
│                       └─────────┬─────────┴─────────┬─────────┘             │
│                                 │                   │                       │
│                                 │                   │                       │
│                            ┌────▼──────────────┐    │                       │
│                            │   SAP ECC 6.0     │    │                       │
│                            │ (Transaction FB60)│    │                       │
│                            └───────────────────┘    │                       │
│                                                     │                       │
│ ┌───────────────────────────────────────────────────▼─────────────────────┐ │
│ │ Monitoring: Orchestrator Dashboard + Email alerts on failure            │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘

2. Component Design (Workflow Inventory)

WorkflowTypePurposeInputOutput
Main.xamlEntry PointREFramework orchestration--
InitAllSettings.xamlInitializationLoad config, initialize appsConfig pathConfig dictionary
GetTransactionData.xamlGet DataFetch next queue itemQueue nameTransaction item or Nothing
Process.xamlProcessMain processing logicTransaction itemSuccess/Exception
SAP_Login.xamlUtilityLogin to SAPCredential nameBoolean (success)
SAP_PostInvoice.xamlUtilityPost invoice in SAPInvoice dataSAP document number
ExtractPDF_Data.xamlUtilityExtract data from PDFPDF pathInvoice object
ValidateInvoice.xamlValidationApply business rulesInvoice objectValidation result + errors
SendExceptionEmail.xamlNotificationEmail on exceptionsException details-

3. Queue Design

Queue Configuration:

SettingValueRationale
Queue NameInvoice_ProcessingClear, matches process name
Max Retries2Transient errors (network, SAP busy) may resolve
Auto RetryYesSystem exceptions auto-retry
Unique ReferenceYesPrevent duplicate invoice processing
SLA4 hoursBusiness requirement

Queue Item Schema:

{
  "Reference": "INV-2024-00123",
  "SpecificContent": {
    "InvoiceNumber": "INV-2024-00123",
    "VendorName": "ACME Corporation",
    "VendorID": "V001234",
    "InvoiceDate": "2024-01-15",
    "Amount": 1234.56,
    "Currency": "USD",
    "PONumber": "PO-2024-001",
    "PDFPath": "\\\\server\\ap\\inbox\\INV-2024-00123.pdf",
    "EmailSubject": "Invoice from ACME Corporation",
    "ReceivedDate": "2024-01-15T08:30:00Z"
  }
}

Output Data (set on completion):

{
  "Status": "Successful",
  "SAPDocumentNumber": "5100001234",
  "PostingDate": "2024-01-16",
  "ProcessingDuration_ms": 45000
}

4. Exception Handling Strategy

Business Exceptions (Do NOT Retry):

CodeExceptionActionNotification
BE-001Vendor not foundSet failed, logEmail to AP Clerk
BE-002Duplicate invoiceSet failed, logLog only
BE-003Amount mismatch > 2%Set failed, logEmail to AP Clerk
BE-004Invoice too old (> 90 days)Set failed, logAuto-rejection email
BE-005Missing required fieldSet failed, logEmail to AP Clerk

System Exceptions (Retry):

CodeExceptionMax RetriesAction After Max
SE-001SAP login failed3Fail, alert support
SE-002SAP transaction timeout2Fail, log details
SE-003Network error2Retry after 60s
SE-004PDF file not accessible2Fail, alert support
SE-005Orchestrator connection lost3Retry after 30s

Decision Matrix:

┌─────────────────────────────────────────────────────────────────┐
│             Exception Handling Decision Matrix                  │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│ Exception Occurs                                                │
│       │                                                         │
│       ▼                                                         │
│ ┌───────────────┐     Yes   ┌───────────────────────────┐       │
│ │Is it a known  │──────────▶│Business Exception         │       │
│ │Business Rule  │           │• Don't retry              │       │
│ │violation?     │           │• Set item Failed          │       │
│ └───────────────┘           │• Log reason               │       │
│       │                     │• Notify if needed         │       │
│       │ No                  └───────────────────────────┘       │
│       ▼                                                         │
│ ┌───────────────┐     No    ┌───────────────────────────┐       │
│ │Is app still   │──────────▶│App Exception              │       │
│ │responsive?    │           │• Kill app                 │       │
│ │               │           │• Restart app              │       │
│ └───────────────┘           │• Retry transaction        │       │
│       │                     └───────────────────────────┘       │
│       │ Yes                                                     │
│       ▼                                                         │
│ ┌───────────────┐     Yes   ┌───────────────────────────┐       │
│ │Retry count    │──────────▶│System Exception           │       │
│ │exceeded?      │           │• Fail item                │       │
│ │               │           │• Escalate alert           │       │
│ └───────────────┘           └───────────────────────────┘       │
│       │                                                         │
│       │ No                                                      │
│       ▼                                                         │
│ ┌───────────────┐                                               │
│ │Retry with     │                                               │
│ │exponential    │                                               │
│ │backoff        │                                               │
│ └───────────────┘                                               │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

5. Configuration & Assets

Config.xlsx Structure:

SheetPurpose
SettingsGeneral settings (URLs, timeouts, toggles)
ConstantsValues that never change across environments
AssetsNames of Orchestrator assets to retrieve

Settings Sheet Example:

NameValueDescription
OrchestratorQueueNameInvoice_ProcessingQueue to process
MaxRetryNumber3Max retries per transaction
SAPTimeout_seconds60SAP operation timeout
EmailRecipients_OnErrorap-support@company.comError notification emails
LogLevelInfoTrace/Info/Warn/Error

Orchestrator Assets:

Asset NameTypeScopeDescription
SAP_ServiceAccountCredentialProcessSAP login credentials
Outlook_ServiceAccountCredentialProcessEmail account credentials
AP_SharePoint_URLTextPer-environmentSharePoint site URL
Feature_SendErrorEmailsBoolPer-environmentEnable/disable error emails

6. Selector Strategy

Critical Selectors:

ApplicationElementSelectorStability RiskFallback
SAPInvoice Number field<sap id='usr/ctxt*'/>Low-
SAPPost button<sap name='btn[11]'/>MediumKeyboard shortcut F8
OutlookInbox folder<wnd cls='NetUIHWND' name='*Inbox*'/>Low-
PDFAmount fieldAnchor-basedHighRegEx extraction

Selector Best Practices Applied:

  • Using wildcards for dynamic parts
  • Avoiding idx where possible
  • Using anchor-based approach for PDF data
  • Defining keyboard shortcuts as fallback

7. Logging Strategy

Log Fields (Add Log Fields activity):

FieldTypeWhen AddedPurpose
ProcessNameStringInitFilter by process
TransactionIDStringEach transactionTrace specific item
InvoiceNumberStringEach transactionBusiness correlation
VendorNameStringEach transactionBusiness correlation
AmountDecimalEach transactionAnalytics
EnvironmentStringInitDistinguish Dev/UAT/Prod

Key Log Messages:

WhenLevelMessage Template
Process startInfo”Process started. Version: {version}“
Queue item retrievedInfo”Processing invoice {InvoiceNumber} from {VendorName}“
Validation passedTrace”Validation passed for {InvoiceNumber}“
SAP posting successInfo”Posted to SAP. Document: {SAPDocNumber}“
Business exceptionWarn”Business exception: {ExceptionType} - {Details}“
System exceptionError”System exception in {Workflow}: {Message}“
Process endInfo”Process complete. Processed: {Count}, Failed: {FailCount}“

8. Security Matrix

[!IMPORTANT] For Security Audits: Document every credential and data access point.

Security Matrix:

Asset NameAsset TypeAccess LevelUsers/ProcessesStorage LocationRotation Policy
SAP_ServiceAccountCredentialRead/WriteInvoice_ProcessOrchestrator90 days
Outlook_ServiceAccountCredentialReadInvoice_ProcessOrchestrator90 days
DB_ConnectionStringCredentialRead-onlyInvoice_ProcessCyberArk365 days
SharePoint_SiteURLTextRead/WriteInvoice_ProcessOrchestratorN/A
Invoice_PDFsDataReadBot only\\server\ap\N/A

Data Classification:

Data TypeClassificationHandling
Vendor bank accountConfidentialNever log, mask in exceptions
Invoice amountsInternalLog for audit, no external sharing
Processing statusInternalCan display in dashboards

Part 3: Best Practices and Anti-Patterns

Documentation Anti-Patterns

Anti-PatternProblemSolution
Outdated docsDocumentation written once, never updatedInclude doc updates in Definition of Done
Novel-length PDD50+ pages no one readsKeep it concise, use tables and diagrams
Missing business rules”I thought that was obvious”Table every single decision
Copy-paste SDDSame template, wrong detailsReview each section for THIS project
Developer-only SDDSupport team can’t understandInclude troubleshooting guide
No version control”Which version is current?”Store docs in Git/SharePoint with versions

[!WARNING] Documentation “Rots” Faster Than Code
An SDD that hasn’t been updated with Change Requests is more dangerous than no documentation at all—it will mislead maintainers.

Golden Rule: Add documentation updates to your Definition of Done (DoD). No ticket can be closed without updating the SDD.

Documentation Maintenance Workflow

┌─────────────────────────────────────────────────────────────────┐
│              Documentation Lifecycle                            │
├─────────────────────────────────────────────────────────────────┤
│                                                                 │
│  ┌────────────┐   Review    ┌────────────┐   Approve    ┌───────────┐
│  │ Draft      │ ──────────▶ │ Review     │ ───────────▶ │ Final     │
│  │  v0.1      │             │  v0.9      │              │ v1.0      │
│  └────────────┘             └────────────┘              └───────────┘
│        ▲                                                      │
│        │                                                      │
│        │              Development & UAT                       │
│        │                                                      │
│  ┌───────────────────────────────────────────────────────┐    │
│  │ Change Request or Bug Fix                             │    │
│  │                                                       │    │
│  │  1. Update code                                       │    │
│  │  2. Update SDD (if technical change)                  │◀───┘
│  │  3. Update PDD (if business rule change)              │
│  │  4. Increment version (v1.1, v1.2, ...)               │
│  │  5. PR review includes doc review                     │
│  │                                                       │
│  └───────────────────────────────────────────────────────┘
│                                                                 │
│ Version History Table:                                          │
│ ┌──────────┬────────────┬──────────┬─────────────────────────┐  │
│ │ Version  │ Date       │ Author   │ Changes                 │  │
│ ├──────────┼────────────┼──────────┼─────────────────────────┤  │
│ │ 1.0      │ 2024-01-15 │ J. Smith │ Initial release         │  │
│ │ 1.1      │ 2024-02-01 │ A. Lee   │ Added BR-007            │  │
│ │ 1.2      │ 2024-03-10 │ J. Smith │ Updated SAP selectors   │  │
│ └──────────┴────────────┴──────────┴─────────────────────────┘  │
│                                                                 │
└─────────────────────────────────────────────────────────────────┘

Templates & Checklists

PDD Review Checklist

  • Executive summary is complete and accurate
  • As-Is process is documented with flow diagram
  • To-Be process shows clear automation boundaries
  • All business rules are captured in table format
  • Input/output data is fully specified with examples
  • All systems and access requirements are listed
  • Success metrics are defined and measurable
  • Business owner has signed off

SDD Review Checklist

  • Architecture pattern is justified
  • All workflows are listed with inputs/outputs
  • Queue schema is fully defined
  • Exception handling covers all known scenarios
  • Config settings are documented
  • Critical selectors are documented with fallbacks
  • Logging strategy includes transaction correlation
  • Deployment steps are clear and tested
  • Technical lead has signed off

Conclusion

Documentation isn’t glamorous. It won’t demo well in sprint reviews. But it’s the difference between:

  • A project (runs for 6 months, then abandoned)
  • A product (runs for years, maintained, evolved)

The investment:

  • PDD: 4-8 hours upfront
  • SDD: 8-16 hours upfront

The return:

  • Fewer misunderstandings (saves 20+ hours per incident)
  • Faster onboarding (saves 40+ hours per new team member)
  • Easier maintenance (saves countless hours over lifetime)
  • Audit-ready documentation (potentially priceless)

Write the docs. Your future self will thank you.


Real-World Example: Bank Reconciliation RPA

Want to see PDD and SDD templates applied to a real project? Check out the Bank Reconciliation automation:

AspectDetails
ProcessBank Statement Reconciliation
PatternDispatcher-Performer with Orchestrator Queue
Matching LogicExact Match, Fuzzy Match, BATCH, SPLIT
TechnologyUiPath REFramework, SQL Server, OCR, Regex
ROI81.8% with 14.7 month payback

👉 View Project with PDD/SDD Downloads

💡 Tip: Use these documents as templates for your own projects. Replace the specific details while keeping the structure.