useWorkspace.AI
Sign InGet Started

Document Shape

Learn how to use the Document shape for paper documents and reports in ISO 5807 flowcharts

Last updated: January 13, 2025
7 min read read

Document Shape

The Document shape represents a paper document, report, or any printed output in your flowchart. It's shown as a rectangle with a wavy bottom edge.

What is a Document Shape?

The Document shape represents:

  • Paper documents and forms
  • Printed reports
  • Physical paperwork
  • Generated documents
  • PDF outputs
  • Any tangible document output

According to ISO 5807, this shape specifically denotes a document or report in paper form.

When to Use

Use the Document shape for:

  • Reports: "Generate monthly sales report", "Print invoice"
  • Forms: "Create registration form", "Print receipt"
  • Documents: "Generate contract", "Print boarding pass"
  • Certificates: "Issue completion certificate", "Print diploma"
  • Paper output: "Print shipping label", "Generate packing slip"

ISO 5807 Standard

According to ISO 5807, the Document symbol is defined as:

  • A rectangle with wavy bottom
  • Represents paper documents
  • Used for printed or displayable output
  • Distinct from stored data (files)

The wavy bottom edge symbolizes a sheet of paper.

Visual Appearance

In DiagramKit.AI, the Document shape appears as:

  • Dimensions: 180×90 pixels
  • Color: Light purple (#f5f3ff)
  • Border: Purple (#7c3aed)
  • Shape: Rectangle with wavy bottom edge

Best Practices

✅ Good Usage

[Process order]
   ↓
[Generate invoice document]
   ↓
[Print invoice]
   ↓
[Email PDF to customer]
   ↓
[End]
  • Specify the document type (invoice, report, certificate)
  • Use "Generate", "Print", or "Create" verbs
  • Indicate the format when relevant (PDF, paper)
  • Show what happens to the document after creation

❌ Avoid

  • ❌ Digital files: "Save JSON file" (use Stored Data)
  • ❌ Database records: "Store in database" (use Database)
  • ❌ Processing: "Calculate total" (use Process)
  • ❌ Too vague: "Document" (what kind?)

Common Examples

Example 1: Invoice Generation

[Calculate order total]
   ↓
[Apply taxes and discounts]
   ↓
[Generate invoice document]
   ↓
<Delivery method?>
  ↙              ↘
Email            Print
 ↓                ↓
[Send PDF]    [Print paper
 via email]    invoice]

Example 2: Report Creation

[Query sales data from database]
   ↓
[Calculate metrics]
   ↓
[Format results]
   ↓
[Generate monthly
 sales report]
   ↓
[Distribute to management]

Example 3: Certificate Issuance

[Verify course completion]
   ↓
<Passed?>
  ↙    ↘
Yes    No
 ↓      ↓
[Generate [Send
 completion  feedback]
 certificate]
 ↓
[Email PDF
 to student]

Label Writing Guidelines

Strong Labels (Recommended)

  • "Generate invoice PDF"
  • "Print packing slip"
  • "Create purchase order document"
  • "Issue completion certificate"
  • "Generate shipping label"

Weak Labels (Avoid)

  • "Document" (too vague)
  • "Output" (not specific)
  • "Create" (create what?)
  • "Print" (print what?)

AI Prompt Tips

Use these prompts to add Document shapes with AI:

add a document step to generate invoice
insert a report generation document
create a document shape for printing receipt
add certificate generation document

Programming Equivalents

Document shapes represent document generation:

JavaScript/TypeScript:

// Document: Generate invoice PDF
const invoice = await generateInvoicePDF(order);

// Document: Create report document
const report = await createReport({
  type: 'monthly-sales',
  format: 'pdf',
  data: salesData
});

// Document: Print receipt
await printer.print({
  template: 'receipt',
  data: transaction
});

Python:

# Document: Generate invoice document
from reportlab.pdfgen import canvas
invoice_pdf = generate_invoice(order_data)

# Document: Create certificate
certificate = create_certificate({
    'name': student_name,
    'course': course_name,
    'date': completion_date
})

# Document: Print shipping label
label = print_shipping_label(shipment_info)

Report Generation Libraries:

  • PDF: ReportLab, PDFKit, jsPDF
  • Excel: ExcelJS, openpyxl
  • Word: docx, python-docx
  • HTML: Template engines → Print

Document Types

Business Documents

  • Invoices: "Generate customer invoice"
  • Receipts: "Print transaction receipt"
  • Purchase Orders: "Create PO document"
  • Quotes: "Generate price quote"
  • Contracts: "Generate contract PDF"

Reports

  • Sales Reports: "Generate monthly sales report"
  • Analytics: "Create performance report"
  • Financial: "Generate balance sheet"
  • Audit: "Create audit trail document"

Certificates & Forms

  • Certificates: "Issue completion certificate"
  • Forms: "Generate application form"
  • Licenses: "Print license document"
  • Permits: "Generate work permit"

Labels & Tickets

  • Shipping: "Print shipping label"
  • Barcodes: "Generate product label"
  • Tickets: "Print boarding pass"
  • Tags: "Create asset tag"

Document Workflow Patterns

Generate and Distribute

[Collect data]
   ↓
[Generate report document]
   ↓
<Distribution?>
  ↙     ↓      ↘
Email  Print  Archive
 ↓      ↓      ↓
[Send] [Print] [Store
 PDF]  paper]  in DB]

Approval Workflow

[Generate contract document]
   ↓
[Send for review]
   ↓
<Approved?>
  ↙      ↘
Yes      No
 ↓        ↓
[Print   [Revise
 final    contract]
 contract]  ↓
           (loop back)

Multi-Document Generation

[Process order]
   ↓
   ├→[Generate invoice document]
   ├→[Generate packing slip document]
   └→[Generate shipping label document]
   ↓
[Package and ship]

Connections

Document shapes typically connect:

Input from:

  • Process shapes (data formatting)
  • Database shapes (data retrieval)
  • Decision shapes (conditional generation)
  • Other Document shapes (series)

Output to:

  • Process shapes (distribution)
  • Data I/O shapes (sending/printing)
  • Decision shapes (approval)
  • End symbols (final output)

Document vs. Other Shapes

| Use Document | Use Different Shape | |--------------|---------------------| | Paper invoice | Stored Data for digital file | | Printed report | Display for screen output | | PDF certificate | Data I/O for file export | | Physical form | Database for record storage |

Format Specifications

Common Document Formats

[Prepare data]
   ↓
<Output format?>
  ↙    ↓    ↘
PDF  Excel Word
 ↓    ↓     ↓
[Generate respective documents]

Multi-Format Output

[Format report data]
   ↓
[Generate report document]
   ↓
   ├→[Export as PDF]
   ├→[Export as Excel]
   └→[Export as CSV]

Template-Based Generation

[Select template]
   ↓
[Load template file]
   ↓
[Populate template with data]
   ↓
[Generate final document]
   ↓
<Preview needed?>
  ↙          ↘
Yes          No
 ↓            ↓
[Show       [Print
 preview]    directly]

Common Mistakes

Mistake 1: Using for Digital Files

Wrong: [Save JSON file] (Document shape) ✅ Correct: [Save JSON file] (Stored Data shape)

Mistake 2: Using for Screen Display

Wrong: [Show results on screen] (Document shape) ✅ Correct: [Display results] (Display shape)

Mistake 3: Too Generic

Wrong: [Create document]Correct: [Generate customer invoice PDF]

Mistake 4: Processing Operations

Wrong: [Calculate report totals] (Document shape) ✅ Correct: [Calculate totals] (Process) → [Generate report] (Document)

Batch Document Generation

[Get list of customers]
   ↓
   ┌←←←←←←←←←←←←←←┐
   ↓              ↑
[For each        ↑
 customer]       ↑
   ↓              ↑
[Generate        ↑
 monthly invoice ↑
 document]       ↑
   ↓              ↑
[Email PDF]      ↑
   ↓              ↑
<More customers?> ↑
   ↓ Yes ←←←←←←←←←┘
   ↓ No
[Generate summary
 report document]

Digital Signatures

[Generate contract document]
   ↓
[Send for digital signature]
   ↓
<Signed?>
  ↙    ↘
Yes    No
 ↓      ↓
[Store [Remind
 signed  signee]
 document]

Related Shapes

Pro Tip: Use Document shapes for anything that could be physically printed or exists as a formatted output (PDF, Word, Excel). Use Stored Data for raw data files (JSON, CSV, XML).

Next Steps