# GetCompany

## Overview

GetCompany retrieves a single company by its unique identifier. Returns the full company record including status, legal details, address, and base currency reference, or null if no matching company exists.

This function supports company validation and lookup operations across all modules that reference companies.

## Business Rules

- Lookup by `id` performs an exact UUID match
- Returns the full company record including status, legal name, tax ID, registration number, address, and base currency
- Does not filter by status — returns DRAFT, ACTIVE, and INACTIVE companies
- Returns null when no matching company is found

## Process Flow

```mermaid
flowchart TD
    A[Receive lookup request] --> B[Query Company by id]
    B --> C{Found?}
    C -->|Yes| D[Return company]
    C -->|No| E[Return null]
```

## External Dependencies

- None

## Error Scenarios

- None (returns null when not found instead of throwing)

## Test Cases

- returns company when found by id
- returns null when company not found
- returns DRAFT company
- returns ACTIVE company
- returns INACTIVE company
