RPA Solution Design Document (SDD)
A Solution Design Document (SDD) describes how an RPA developer will build the automation to execute the process described in the PDD. Where the PDD answers "What does the process do?", the SDD answers "How will the bot do it?"
The SDD is written by the RPA developer before building starts. It acts as the technical blueprint for the automation and serves as documentation once the bot is in production.
Why the SDD Matters
Without an SDD, bot development is undocumented and impossible to maintain. When a developer leaves the project, a new developer has no record of design decisions, why certain approaches were chosen, or how the bot handles edge cases. The SDD preserves that knowledge.
Who Creates the SDD?
The RPA developer (or Solution Architect) creates the SDD using the PDD as input. Business stakeholders and the project manager review and approve it. Development begins only after sign-off.
SDD Structure
Section 1: Solution Overview
- Automation Name: AP Invoice Processing Bot v1.0
- RPA Tool: UiPath Studio 2024.x
- Bot Type: Unattended
- Trigger: Scheduled — runs at 9 AM, 1 PM, and 5 PM daily
- Runtime Environment: Virtual machine VM-AP-01 (Windows Server 2022)
- Estimated Development Time: 15 working days
- Expected Processing Speed: 1 invoice per minute (6× faster than human)
Section 2: High-Level Architecture
TRIGGER: Orchestrator Schedule (3×/day)
│
▼
MAIN WORKFLOW
├── Initialize: Load config from Orchestrator Assets
├── Open Outlook, filter for invoice emails
├── FOR EACH email:
│ ├── Download PDF attachment
│ ├── Call [Extract Invoice Data] workflow
│ ├── Call [Validate Vendor] workflow
│ ├── IF valid: Call [Post to SAP] workflow
│ │ ELSE: Call [Handle Exception] workflow
│ ├── Call [Log Result] workflow
│ └── Move email to Done folder
└── Send daily summary report
Section 3: Component Breakdown
This section lists each reusable workflow (component) the bot uses, along with its inputs and outputs.
| Workflow Name | Purpose | Input | Output |
|---|---|---|---|
| Main.xaml | Entry point — orchestrates all other workflows | None | Summary email |
| ExtractInvoiceData.xaml | Reads PDF using Document Understanding | PDF file path | DataTable of invoice fields |
| ValidateVendor.xaml | Checks vendor against approved list | Vendor name | Boolean: isApproved |
| PostToSAP.xaml | Enters invoice data in SAP FI | Invoice DataTable | SAP Document Number |
| HandleException.xaml | Logs error, sends alert email | Exception message, invoice no. | None |
| LogResult.xaml | Writes result row to tracking Excel | Invoice no., status, doc no. | None |
Section 4: Variables and Data Flow
This section lists the key variables used across the automation, their data types, and scope (which workflows use them).
| Variable Name | Type | Scope | Purpose |
|---|---|---|---|
| invoiceData | DataTable | Main + PostToSAP | Holds extracted invoice fields |
| vendorApproved | Boolean | Main + ValidateVendor | Flag for vendor check result |
| sapDocNumber | String | Main + PostToSAP + LogResult | SAP document number after posting |
| emailCount | Integer | Main | Counter for summary report |
| errorMessage | String | HandleException | Exception detail message |
Section 5: Error Handling Design
This section describes how the bot handles errors at different levels.
ERROR LEVEL HANDLING APPROACH
─────────────────────────────────────────────────────
PDF Not Found Retry once after 30 seconds.
If still missing, log as exception
and send alert email.
SAP Login Fail Retry 3 times with 60-second gaps.
If all fail, halt bot and alert IT.
Vendor Not Found Do not post. Send exception email
to AP manager with vendor name.
SAP Post Error Take screenshot, log error message,
mark queue item as failed,
continue to next invoice.
Unhandled Error Global exception handler catches it,
takes screenshot, logs to file,
sends alert, marks item failed,
bot continues to next item.
Section 6: Credential and Configuration Management
- SAP Credentials: Stored in UiPath Orchestrator Credential Store. Bot retrieves at runtime — never hardcoded.
- Outlook Credentials: Uses Windows Authentication (no password needed).
- Vendor Master File Path: Stored as Orchestrator Asset "VendorMasterPath" — can be changed without editing the bot.
- Exception Email Recipient: Stored as Orchestrator Asset "APManagerEmail".
Section 7: Logging Strategy
- Every start and end of a workflow logs a message to UiPath Orchestrator.
- Every invoice processed logs: Invoice Number | Status | SAP Doc Number | Timestamp.
- Every exception logs: Invoice Number | Error Type | Error Message | Screenshot path.
- Daily summary email is sent at end of each run with totals: Processed | Failed | Skipped.
Section 8: Assumptions and Dependencies
- SAP GUI 7.50 or later is installed on the bot machine.
- The Vendor Master Excel file is updated by procurement weekly.
- All invoices arrive as PDF attachments (not inline images in emails).
- The bot machine has a stable network connection to SAP at all times.
SDD Sign-Off
Once the SDD is complete, it goes through a formal review. Reviewers check that the design covers all steps in the PDD, handles all documented exceptions, and follows the organisation's RPA development standards. Only after sign-off does the developer begin building in the Studio.
Summary
The SDD translates the business requirements in the PDD into a technical blueprint for bot development. It covers architecture, component structure, variables, error handling, credential management, and logging. A well-written SDD reduces development errors, speeds up testing, and makes future maintenance straightforward. It is the technical contract between the RPA developer and the project stakeholders.
