> ## Documentation Index
> Fetch the complete documentation index at: https://docs.planeconnection.com/llms.txt
> Use this file to discover all available pages before exploring further.

# How to Manage Maintenance Billing

> Configure labor rates, parts markup rules, generate maintenance estimates, and track the billing lifecycle from estimate through invoice.

By following this guide, you will configure labor billing rates by mechanic type, set parts
markup tiers, generate maintenance estimates linked to work orders, manage the approval
workflow, and track billing through to invoice generation.

<Info>
  **Who should read this:** Maintenance billing administrators, directors of maintenance, and
  MRO managers responsible for pricing maintenance work and managing the estimate-to-invoice
  pipeline.

  **Required permission:** `maintenance_ops` -- read to view billing data, update to create
  rates, markups, and estimates. Finance permissions may be required to generate invoices.

  **Regulatory basis:** 14 CFR 145.219 requires repair stations to maintain records of work
  performed, including charges. While billing is primarily a business function, accurate cost
  tracking supports 14 CFR 43.12 maintenance record requirements and provides documentation
  for customer disputes or FAA audits.
</Info>

## Billing Workflow

The maintenance billing pipeline flows through these stages:

```
Work Order → Estimate (Draft) → Sent → Approved/Rejected → Invoice → Payment
```

Each transition is audit-logged in the billing events trail.

## Configure Labor Rates

Navigate to **Maintenance > Billing Settings** to manage labor rate schedules.

<Steps>
  ### Open labor rate settings

  Click the **Labor Rates** tab on the billing settings page.

  ### Add a labor rate

  Click **Add Rate** and enter:

  | Field               | Description                                                |
  | ------------------- | ---------------------------------------------------------- |
  | Rate Name           | Descriptive label (e.g., "Standard A\&P Rate 2026")        |
  | Mechanic Type       | AP, IA, Avionics, Sheet Metal, or General                  |
  | Hourly Rate         | Base hourly rate in dollars                                |
  | Overtime Multiplier | Multiplier for overtime hours (default: 1.5x)              |
  | AOG Multiplier      | Multiplier for AOG premium work (default: 1.5x)            |
  | Effective Date      | When this rate takes effect                                |
  | Expires At          | When this rate expires (optional; leave blank for ongoing) |
  | Is Default          | Whether this is the default rate for the mechanic type     |

  ### Manage multiple rates

  You can maintain multiple rate schedules for different mechanic types, effective date ranges,
  or customer-specific pricing. The system applies the rate based on mechanic type and the work
  order date.
</Steps>

## Configure Markup Rules

<Steps>
  ### Open markup settings

  Click the **Markup Rules** tab on the billing settings page.

  ### Add a markup rule

  Click **Add Rule** and configure:

  | Field          | Description                                                       |
  | -------------- | ----------------------------------------------------------------- |
  | Rule Name      | Descriptive label (e.g., "Parts Markup Tier 1")                   |
  | Rule Type      | Parts Markup, Shop Supplies, Hazmat, or Freight                   |
  | Cost Floor     | Minimum part cost for this tier (e.g., \$0)                       |
  | Cost Ceiling   | Maximum part cost for this tier (e.g., \$100)                     |
  | Markup Percent | Percentage markup to apply (e.g., 30%)                            |
  | Basis Type     | What the percentage applies to: Labor Total, Parts Total, or Flat |
  | Flat Amount    | Fixed dollar amount (for flat-rate surcharges)                    |
  | Sort Order     | Processing order when multiple rules apply                        |

  ### Create tiered markup

  For parts markup, create multiple tiers with non-overlapping cost ranges.
  A typical setup applies higher markup percentages to lower-cost consumable
  parts and lower percentages to major components. Configure as many tiers
  as needed to match your shop's pricing strategy.

  <Tip>
    Review markup rules quarterly to ensure they reflect current market conditions and your
    organization's target margins. Markup rules apply automatically when generating estimates, so
    keeping them current avoids manual adjustments.
  </Tip>
</Steps>

## Generate an Estimate

<Steps>
  ### Open the estimate form

  From a work order detail page, click **Create Estimate**. You can also navigate to
  **Maintenance > Billing Dashboard** and click **New Estimate**.

  ### Select the billing type

  | Billing Type     | Description                                         |
  | ---------------- | --------------------------------------------------- |
  | Flat Rate        | Fixed price regardless of actual time and materials |
  | Time & Materials | Actual labor hours and parts cost plus markup       |
  | Hybrid           | Combination of flat-rate tasks and T\&M tasks       |
  | Not to Exceed    | T\&M with a maximum cap (NTE amount)                |

  For Not to Exceed billing, enter the **NTE Amount**. The system alerts if accumulated costs
  approach the cap.

  ### Enter customer information

  * **Customer Name** -- The aircraft owner or management company
  * **Customer Email** -- For sending the estimate electronically
  * **Payment Terms** -- Net 30, Net 60, Due on Receipt, etc.

  ### Add line items

  Add items to the estimate. Each line item has a type:

  | Item Type       | Fields                                                                  |
  | --------------- | ----------------------------------------------------------------------- |
  | Labor           | Description, hours, rate (auto-filled from labor rates), ATA chapter    |
  | Parts           | Part number, description, quantity, unit cost, markup (auto-calculated) |
  | Outside Service | Description, vendor, total cost                                         |
  | Shop Supplies   | Auto-calculated from markup rules based on labor total                  |
  | Surcharge       | Hazmat, freight, or other fixed surcharges                              |
  | Flat Rate       | Description and total (for flat-rate billing items)                     |

  The estimate totals update in real time as you add items:

  | Total              | Calculation                                       |
  | ------------------ | ------------------------------------------------- |
  | Labor Total        | Sum of (hours x rate) for all labor items         |
  | Parts Total        | Sum of (quantity x unit cost) for all parts items |
  | Parts Markup Total | Sum of applied markup on parts                    |
  | Shop Supplies      | Calculated per markup rules                       |
  | Outside Services   | Sum of all outside service costs                  |
  | Subtotal           | Sum of all categories                             |
  | Tax                | Subtotal x tax rate                               |
  | **Total Amount**   | Subtotal + tax                                    |

  ### Review and save

  Review all line items, totals, and customer information. Click **Save as Draft**.
</Steps>

## Send an Estimate for Approval

From the estimate detail page:

1. Click **Send for Approval**
2. The system generates a formatted estimate document
3. An email is sent to the customer with the estimate details
4. The status changes to **Pending Approval**
5. The sent timestamp is recorded in the billing events log

## Handle Approvals and Rejections

### Approved

When the customer approves the estimate:

1. Open the estimate and click **Mark Approved**
2. Enter the approver name and any approval reference
3. The status changes to **Approved** and the work order can proceed

### Rejected

When the customer rejects the estimate:

1. Open the estimate and click **Mark Rejected**
2. Enter the rejection reason
3. To revise, click **Create Revision** -- a new estimate version is created with the
   original items pre-populated, incrementing the revision number

## Generate an Invoice

Once work is complete and the estimate is approved:

1. Open the approved estimate
2. Click **Generate Invoice**
3. Review the final amounts (adjusted for actual hours if T\&M)
4. The system creates an invoice linked to the estimate and work order
5. The billing event trail records the full lifecycle

## The Billing Dashboard

Navigate to **Maintenance > Billing Dashboard** for a summary view:

* **Open Estimates** -- Drafts and pending approval
* **Approved** -- Ready for work or invoicing
* **Invoiced** -- Sent to customer
* **Revenue summary** -- Total billed by period

***

<CardGroup cols={2}>
  <Card title="Manage Work Orders" icon="wrench" href="/en/how-to/maintenance/manage-work-orders">
    Work orders are the source of maintenance billing.
  </Card>

  <Card title="Work Order Templates" icon="copy" href="/en/how-to/maintenance/use-wo-templates">
    Templates include estimated hours for consistent pricing.
  </Card>

  <Card title="Component Tracking" icon="gear" href="/en/how-to/maintenance/manage-component-tracking">
    Parts costs flow from component records into estimates.
  </Card>

  <Card title="Compliance Dashboard" icon="gauge-high" href="/en/how-to/maintenance/use-compliance-dashboard">
    Monitor billing alongside fleet compliance status.
  </Card>
</CardGroup>
