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 NamePurposeInputOutput
Main.xamlEntry point — orchestrates all other workflowsNoneSummary email
ExtractInvoiceData.xamlReads PDF using Document UnderstandingPDF file pathDataTable of invoice fields
ValidateVendor.xamlChecks vendor against approved listVendor nameBoolean: isApproved
PostToSAP.xamlEnters invoice data in SAP FIInvoice DataTableSAP Document Number
HandleException.xamlLogs error, sends alert emailException message, invoice no.None
LogResult.xamlWrites result row to tracking ExcelInvoice 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 NameTypeScopePurpose
invoiceDataDataTableMain + PostToSAPHolds extracted invoice fields
vendorApprovedBooleanMain + ValidateVendorFlag for vendor check result
sapDocNumberStringMain + PostToSAP + LogResultSAP document number after posting
emailCountIntegerMainCounter for summary report
errorMessageStringHandleExceptionException 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.

Leave a Comment

Your email address will not be published. Required fields are marked *