---
title: "Disable automatic payouts"
description: "Switch to manual payout mode for complete control over settlement timing."
canonical: "https://studio.inttegro.com/guides/disable-automatic-payouts"
format: inttegro-machine-docs/v1
language: "Python"
sdk_version: "v12.0.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/python/readers/index.json"
reader_identification: "Optional: declare your client only if known and your current-session capabilities; use reader_manifest for supplemental recommendations."
preamble_estimated_tokens: 556
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "curated"
recommended_mcp_tools: ["get_payout_settings","list_payouts","get_payout"]
estimated_tokens: 3449
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Stop future automatic payout creation without assuming in-flight transfers are canceled; schedule and reconcile later manual payouts explicitly.

### Five questions

#### Q1. What does disabling actually stop?

It changes the account to manual mode, so Inttegro stops creating new automatic payouts. Existing scheduled or in-flight payouts continue according to their own lifecycle. Check [current payouts](https://studio.inttegro.com/machine/python/api/payouts.md#page-through-payouts) before assuming cashflow is frozen.

#### Q2. Which operation makes the switch?

Call [Disable automatic payouts](https://studio.inttegro.com/machine/python/api/payouts.md#disable-automatic-payouts) from a trusted backend and read [settings](https://studio.inttegro.com/machine/python/api/payouts.md#get-payout-settings) again. MCP [get_payout_settings](https://studio.inttegro.com/machine/python/inttegro-mcp/tools.md#get_payout_settings) is read-only.

#### Q3. How does money leave in manual mode?

Schedule a manual payout with an explicit same-currency eligible destination ID; existing balance transactions still must satisfy aging, claims, and limits. [Schedule a payout](https://studio.inttegro.com/machine/python/api/payouts.md#schedule-a-payout) defines exact parameters; a maximum is a ceiling, not the final transfer.

#### Q4. What proves the payout completed?

Store its payout ID and [look it up](https://studio.inttegro.com/machine/python/api/payouts.md#lookup-a-payout) through a terminal state. Compare final amount and source balance transactions with finance records; an accepted schedule response is intermediate.

#### Q5. Can MCP switch mode or schedule instead?

No current catalog action does either. [get_payout_settings](https://studio.inttegro.com/machine/python/inttegro-mcp/tools.md#get_payout_settings), [list_payouts](https://studio.inttegro.com/machine/python/inttegro-mcp/tools.md#list_payouts), and [get_payout](https://studio.inttegro.com/machine/python/inttegro-mcp/tools.md#get_payout) supply governed read context. Use the [enable guide](https://studio.inttegro.com/machine/python/guides/enable-automatic-payouts.md) when ready to resume future automatic creation.

## Document content

# Disable automatic payouts

Switch from automatic to manual payout mode for explicit control over settlement timing. This guide walks you through disabling automatic payouts, triggering manual payouts, and re-enabling automatic mode when ready.

> Mcp Guide Callout is interactive content. Use the canonical page to view it.

For complete details on automatic vs. manual payout modes, see [Payouts product documentation](https://studio.inttegro.com/machine/python/products/payouts.md#automatic-vs-manual-mode).

## When to use manual mode

Disable automatic payouts when you need explicit control over settlement timing:

- **Financial audits and month-end close** — Freeze disbursements during reconciliation
- **Coordinating with business cycles** — Align payouts with vendor payments or payroll runs
- **Testing payout flows** — Validate new destinations before trusting them with automatic settlements
- **Temporary cashflow optimization** — Keep funds in your balance temporarily
- **Managing multi-currency complexity** — Stagger payouts strategically by currency

See the [Payouts product documentation](https://studio.inttegro.com/machine/python/products/payouts.md#automatic-vs-manual-mode) for detailed explanations of when to use each mode.

## Before you disable

Consider these factors:

### Your cashflow needs

Automatic payouts provide predictable liquidity. Manual mode requires active management—if you forget to trigger payouts, funds accumulate in your balance.

### Check existing payouts

**Check payout settings — POST /payouts/settings**

```python
import os

from inttegro import InttegroClient

client = InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])

result = client.payouts.settings()
```

```json
{
  "settings": {
    "schedule": {
      "name": "weekly",
      "type": "automatic",
      "interval": "weekly",
      "schedule_on": "sunday",
      "aging_spec": {
        "t_plus": "168h",
        "label": "168_hours",
        "abide": "strictly"
      },
      "description": "Automatic weekly payout. Default."
    },
    "destinations": {
      "ghs": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
    }
  }
}
```

If [`schedule.type`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#SettingsMutation) is already `'manual'`, you're already in manual mode.

## Disable automatic payouts

Switching to manual mode is a single API call with an empty JSON object:

**Disable automatic payouts — POST /payouts/disable**

```python
import os

from inttegro import InttegroClient

client = InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])

result = client.payouts.disable_automatic()
```

```json
{
  "settings": {
    "schedule": {
      "id": "payout_sched_manual",
      "name": "manual",
      "type": "manual",
      "interval": "manual",
      "schedule_on": "manual",
      "spec": {
        "id": "payout_spec_manual",
        "t_plus": "7",
        "label": "7 days",
        "abide": "strict"
      },
      "description": "Manual payout"
    },
    "destinations": {
      "ghs": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
    }
  }
}
```

### What changed

Your payout schedule switched from automatic to manual:

- [`schedule.type`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#SettingsMutation):
  `'automatic'`
  →
  `'manual'`
- [`schedule.name`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#SettingsMutation):
  `'weekly'`
  →
  `'manual'`
- [`schedule.interval`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#SettingsMutation)
  : No automatic cadence
- [`destinations`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#SettingsMutation):
  Unchanged

Inttegro won't create new automatic payouts. Trigger payouts manually with `/payouts/schedule`. Balance transactions must still age 7 days before they're eligible.

## Trigger manual payouts

With automatic payouts disabled, you control when funds move from your balance to your financial accounts. Use the `/payouts/schedule` endpoint to trigger payouts on-demand:

**Schedule a manual payout — POST /payouts/schedule**

```python
import os

import inttegro
from inttegro import InttegroClient

client = InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])

result = client.payouts.schedule(inttegro.schedule.PayoutRequest(
  destination_id="fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
  reference="MANUAL-PAYOUT-001",
  max_amount=500000,
))
```

```json
{
  "payout": {
    "id": "po_yQ2wXm5Dc7Pk9Ls1Vn0RgHaB",
    "destination_id": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0",
    "reference": "MANUAL-PAYOUT-001",
    "status": "scheduled",
    "max_amount": { "currency": "ghs", "value": 500000 },
    "execute_after": "2025-04-15T14:32:10.000Z",
    "scheduled_at": "2025-04-15T14:32:10.000Z",
    "initiated_at": "2025-04-15T14:32:10.000Z"
  }
}
```

### Key parameters

- **[`destination_id`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#Payout)**: Which financial account receives the funds. Must be one of your configured destinations. Get this from `/payouts/settings` or list your financial accounts.
- **[`reference`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#Payout)**: Your internal identifier for reconciliation—use payout batch numbers, date stamps, or whatever helps you track disbursements in your systems. Must be unique.
- **[`max_amount`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#Payout)**: Maximum amount you authorize for this payout, in the smallest currency unit (pesewas for GHS, cents for USD). The actual payout may be less if you have fewer eligible balance transactions, but will never exceed this limit.
- **[`execute_after`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#Payout)** (optional): When to start processing the payout. Defaults to "now" if omitted. Use this to schedule future manual payouts: `"2030-04-20T09:00:00Z"` for a specific time.

### Monitoring payout status

Once scheduled, use `/payouts/lookup` to track execution:

**Check payout status — POST /payouts/lookup**

```python
import os

from inttegro import InttegroClient

client = InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])

result = client.payouts.lookup("po_yQ2wXm5Dc7Pk9Ls1Vn0RgHaB")
```

Payout states can include `'initialized'`, `'scheduled'`, `'processing'`, `'executing'`, `'succeeded'`, `'failed'`, and `'canceled'`.

See [Schedule a payout](https://studio.inttegro.com/machine/python/api/payouts.md#schedule-a-payout) for complete parameter reference.

## Re-enable automatic payouts

When you're ready to resume automatic settlements, call the `/payouts/enable` endpoint to switch back to automatic mode:

**Enable automatic payouts — POST /payouts/enable**

```python
import os

from inttegro import InttegroClient

client = InttegroClient(api_key=os.environ["INTTEGRO_API_KEY"])

result = client.payouts.enable_automatic()
```

```json
{
  "settings": {
    "schedule": {
      "id": "weekly_default",
      "name": "weekly",
      "type": "automatic",
      "interval": "weekly",
      "schedule_on": "sunday",
      "spec": {
        "id": "standard_aging",
        "t_plus": "168h",
        "label": "168_hours",
        "abide": "strictly"
      },
      "description": "Automatic weekly payout. Default."
    },
    "destinations": {
      "ghs": "fa_Q90wZdd2P7W8hJ1cN9Mx4Rk5sVWBvY3L6pTz8q0"
    }
  }
}
```

Once automatic payouts are re-enabled, Inttegro will resume creating scheduled payouts on the default weekly cadence. Any manual payouts you triggered while in manual mode complete normally—re-enabling automatic mode doesn't affect in-flight transfers.

Destinations remain unchanged. See [Enable automatic payouts](https://studio.inttegro.com/machine/python/guides/enable-automatic-payouts.md) for re-enabling details.

## Common scenarios

**Month-end freeze**: Disable on the 28th, reconcile through the 30th, trigger manual payout on the 1st, re-enable automatic mode.

**Testing new accounts**: Disable automatic mode, configure new destination, test with small manual payout, re-enable once verified.

**Vendor payment coordination**: Stay in manual mode, trigger payouts aligned with your payment schedule (e.g., Thursday for Friday vendor payments).

## Best practices

- **Document your schedule** — Create calendar events or automation for triggering payouts
- **Use descriptive references** — Format: `MANUAL-PAYOUT-001`, not `payout1`
- **Monitor aging eligibility** — Only transactions aged 7+ days are eligible for payout
- **Set up balance alerts** — Get notified when balance exceeds threshold
- **Test first** — Validate manual payout workflow in test mode before production

## Troubleshooting

**No eligible transactions**: Only balance transactions aged 7+ days are eligible. Check `/balance_transactions/page`.

**Destination not configured**: Use `/payouts/set_destinations` or specify [`destination_id`](https://python.inttegro.dev/v12.0.0/inttegro/schedule.html#PayoutRequest.destination_id) in `/payouts/schedule`.

**Payout failed**: Use [Lookup a payout](https://studio.inttegro.com/machine/python/api/payouts.md#lookup-a-payout) and inspect [`payout.failure`](https://python.inttegro.dev/v12.0.0/inttegro/payout.html#Payout). Branch on its stable reason, show its detail to an operator, and check its retryable value before creating another payout.

**Automatic payouts still running**: Existing payouts complete normally. New automatic payouts won't be created.

**How to re-enable**: Call `/payouts/enable` or see [Enable automatic payouts](https://studio.inttegro.com/machine/python/guides/enable-automatic-payouts.md).

## Next steps

Now that you understand manual payout mode, explore related payout concepts:

- **[Enable automatic payouts](https://studio.inttegro.com/machine/python/guides/enable-automatic-payouts.md)** when you're ready to resume scheduled settlements
- **[Schedule manual payouts](https://studio.inttegro.com/machine/python/api/payouts.md#schedule-a-payout)** for complete parameter reference and examples
- **[Monitor balance transactions](https://studio.inttegro.com/machine/python/api/balance-transactions.md)** to understand what's eligible for payout
- **[Manage payout destinations](https://studio.inttegro.com/machine/python/guides/manage-payout-destinations.md)** to configure where funds land
- **[Understand payout schedules](https://studio.inttegro.com/machine/python/products/payouts.md)** to learn about weekly vs. daily cadences

Questions? Check the [Payouts API reference](https://studio.inttegro.com/machine/python/api/payouts.md) for complete endpoint documentation, or contact support at support@inttegro.com.
