---
title: "AI Agent for Vendor Portals and Invoice Downloads"
description: "An AI agent for vendor portals can pull invoices, check renewals and work marketplace accounts from separate profiles, with recipes, schedules and approvals."
url: "https://donutbrowser.com/ru/ai-agent-for-operations/"
---

1. [Главная](https://donutbrowser.com/ru/)

2. [Блог](https://donutbrowser.com/ru/blog)

3. AI Agent for Vendor Portals and Invoice Downloads

# AI Agent for Vendor Portals and Invoice Downloads

October 14, 2026

ai-agents operations invoices

**An AI agent for vendor portals signs in to the portals your team already uses, collects invoices, reads seat counts and renewal dates, and stages payment notes for a person to approve. In Donut Browser, each vendor or marketplace account has its own profile, repeat flows replay as recipes without model tokens, schedules run them for you, and a person clicks pay.**

Operations work lives behind logins with no API: billing portals, SaaS admin consoles, marketplace seller centers, logistics and payroll portals. Donut Browser is the most private anti-detect browser. The desktop app has no telemetry, needs no account for local use, and keeps each profile’s cookies and history on your disk. It contains no AI model. You bring the agent, such as Claude Code, Codex or Cursor, and Donut gives it one profile per account.

![Diagram: a schedule starts a recorded recipe, which replays in one Donut Browser profile per vendor or marketplace account, each with its own proxy, and fills an invoice register with an exception list. Payments go through a gate: the agent stages a payment note, asks on the Agent page, and a person clicks pay.](https://donutbrowser.com/img/blog/ai-agent-for-operations.svg)

## What operations work can an AI agent do in vendor portals?

An agent fits tasks where each step lives behind a different login and the output is a file, a number or a note for review. Four tasks cover most of it:

| Task | Best path | Model tokens | Where a person acts |
| --- | --- | --- | --- |
| Month-end invoice pull | Playwright over local CDP, or a recipe on a schedule | None per run | Finance checks the exception list |
| Renewal and seat checks | Remote MCP, the agent reads billing pages | Per page | The owner renews or cuts seats |
| Marketplace account checks | A recipe across the seller profiles | None per run | A person answers cases and disputes |
| Payment prep | Remote MCP, up to the pay button | Per page | A person clicks pay |

The [AI agents use case](https://donutbrowser.com/use-cases/ai-agents) covers the same tools for other teams.

## How does an agent download invoices from many vendor portals?

Give each portal login its own profile and sign in once by hand. The session stays in that profile’s cookies on your disk, so later runs start signed in until the portal ends the session.

Files are easiest on the local path. Claude Code or Codex writes a short Playwright script for each portal with the `wayfern` package. The script launches the profile through the Local API, opens the billing page, waits for the download and saves the file under your naming rule. Donut binds the CDP port to 127.0.0.1, so the browser and the script share one disk, and Playwright saves the file where you tell it.

```
import { chromium } from "wayfern";

// port: remote_debugging_port from POST /v1/profiles/{id}/run
const browser = await chromium.connectOverCDP(`http://127.0.0.1:${port}`);
const page = browser.contexts()[0].pages()[0];

await page.goto("https://billing.vendor.example/invoices");
const [download] = await Promise.all([
  page.waitForEvent("download"),
  page.getByRole("link", { name: "Download PDF" }).first().click(),
]);
await download.saveAs("invoices/vendor-a-2026-09.pdf");
```

The script runs with no model in the loop, so a month-end run across 40 portals costs no tokens. The agent writes each script once and fixes it when a portal changes its layout. Each run ends with an exception list: portals that asked for a code, invoices not posted yet, and amounts above the contract. The local path needs Pro; start with the [quickstart](https://donutbrowser.com/docs/quickstart) and the [Wayfern Playwright wrapper](https://donutbrowser.com/docs/wayfern).

Over [remote MCP](https://donutbrowser.com/docs/remote-mcp), the agent can do the same work page by page: open the billing page, read the amount, the period and the invoice number, and add a row to the register. That costs tokens on every page, so keep it for portals that change often or need judgment.

## How do recipes replay a portal flow without model tokens?

A recipe is a flow you record once. You do the task in the profile’s browser, and Donut writes down each step: go to a page, click, type, wait, extract or take a screenshot. Passwords are never recorded. A step can hold a placeholder such as `{{month}}`, which your agent fills in when it starts the run. Scheduled runs fill in no placeholders.

One recipe runs on many profiles, one after another. A recipe that opens the seller center and reads the latest statement can cover every seller account on that marketplace. Replay uses no model tokens. The agent starts a run with `run_recipe` and reads each profile’s status, current step, error and extracted values with `get_recipe_run`. When a portal changes and a step fails, the run shows which step broke, and the agent can save a corrected recipe.

Recipes are stored in Donut’s cloud, and each run stores its transcript, extracted values and any screenshots there too. Running a recipe on demand, from your agent or on your own computer, needs Pro. For portals that show bank details, use a local script.

## How do schedules run month-end pulls without you?

A schedule runs a recipe on set weekdays at a set time, once at a date and time, or at an interval from 15 minutes to 7 days. One schedule covers up to 100 profiles. When a run fails, Donut can email you and post to a webhook signed with an HMAC in the `X-Donut-Signature` header, so a finance channel or a ticket queue hears about it. Schedules start with Solo.

There is no monthly cadence. For month-end, set a one-time schedule for the date, or run every Monday and let the register show which invoices are new.

A schedule can run on Donut’s remote fleet of Windows, macOS and Linux machines, from Solo up, or on your own computer, from Pro up. The fleet needs the profile synced to Donut’s cloud without end-to-end encryption. Keep finance and payroll portals on your own computer, and use the fleet for low-risk accounts.

## How does an agent check renewals and seat counts?

Renewal checks need judgment, so they suit an agent over remote MCP. Give it the vendor list and the renewal sheet. For each vendor, it opens the billing or admin page in that vendor’s profile, reads active seats, assigned seats, the plan and the renewal date, and compares them with the sheet and the contract. It flags renewals less than 30 days away and seat counts above the contract, with a source link and a screenshot for each row.

```
For each vendor in renewals.csv, use its Donut profile. Open the
billing page and record active seats, assigned seats, plan and
renewal date. Flag renewals within 30 days and seats above contract.
Screenshot each billing page. Change nothing in any portal.
```

## How do you run vendor and marketplace portals across many accounts?

Marketplaces and ad platforms link accounts that share a device or an IP address, and a restriction on one linked account can spread to the others. Sellers with one account per region or per brand need each account to look like its own business on its own computer.

In Donut, each profile has its own fingerprint, cookies and storage, its own proxy or WireGuard VPN, WebRTC leak protection, and DNS through the profile’s route. Timezone and language follow the proxy’s exit IP, and Donut blocks the launch when they do not match. An agent that opens “Seller EU” gets that seller’s device and network every time. See [e-commerce](https://donutbrowser.com/use-cases/ecommerce) for seller setups, [proxies for anti-detect browsers](https://donutbrowser.com/proxies-for-anti-detect-browsers) for picking IPs, and [running an AI agent on multiple accounts](https://donutbrowser.com/ai-agent-multiple-accounts) for the full pattern.

Read each platform’s rules on automated access before you point an agent at it. A separate fingerprint changes what a platform can link. It does not change what its terms allow.

On the Team plan, profile locks stop two people from opening the same profile at once. Roles limit what each member can change, and group access sets which profiles each member can open. Give each agent its own `dmk_` credential. You can hold up to 10, and a revoked one stops working in about 10 seconds.

## Where must a person approve?

Money and commitments stay with a person: payments, new terms, approvals in a procurement tool and replies to a vendor. The agent prepares and stops. Donut’s human-in-the-loop tools work from Solo up:

- `ask_human` puts a question to you and waits for the answer.

- `request_human_help` asks you to act in the profile, for example to enter a one-time code.

- `wait_for_human` holds the agent until you are done.

- `get_human_updates` reads the notes you send while it works.

- `report_progress` shows its progress on the Agent page.

You answer on the Agent page of the desktop app, which shows what each connected agent is doing. You can pause an agent or take over its profile. The agent console lives in memory only.

```
Prepare the payment for invoice 1042 in the "Cloud vendor" profile.
Open the invoice, the billing page and the contract terms. Check the
amount against the contract. Stop before the Pay button and call
ask_human with the amount, due date and source links.
```

## Where do invoices and portal passwords go?

Vendor portals hold bank details, tax IDs and contract terms, so each copy of that data matters. With Donut:

- Downloaded invoices go to the folder your script names on your disk.

- Portal sessions live in each profile’s cookies and storage on your disk, and recipes never record passwords.

- Over remote MCP, Donut refuses tools that read local paths or export secrets, and it redacts proxy passwords.

- Password-locked profiles are encrypted at rest with AES-256-GCM and run from a copy in RAM. Use them for banking and payroll portals.

- The desktop app sends no telemetry. See [why Donut collects no telemetry](https://donutbrowser.com/no-telemetry).

- Recipes and schedules are stored in Donut’s cloud, with each run’s transcript, extracted values and any screenshots. Remote MCP is not end-to-end encrypted, so page text passes through Donut’s relay; the [Remote MCP docs](https://donutbrowser.com/docs/remote-mcp) list what it sees and keeps. The local API and CDP path stay on your machine.

- Donut sends nothing to model providers. Your agent sends what it reads to its own provider.

Aside, an AI browser that markets the same operations tasks, signs its agent in to portals from its password vault. Its [passwords help page](https://docs.aside.com/help/passwords) gives the access policy for AI agents and says “The default is Always allow.” The same page says Aside “checks allowed vault items for matching logins without exposing saved passwords to the agent.” Its [privacy help page](https://docs.aside.com/help/privacy) says “Analytics sharing defaults to on”, and its [getting started page](https://docs.aside.com/help/get-started) says “You need an Aside account”. (Retrieved October 14, 2026.) See the [Aside alternative](https://donutbrowser.com/alternatives/aside) page for the full comparison.

## How do you set up an operations agent with Donut?

1. Install Donut on macOS, Windows or Linux. Create one profile per vendor login and per marketplace account, with a proxy in the account’s region where the platform checks location. Sign in to each by hand once.

2. Lock the banking and payroll profiles with a password.

3. Turn on the Local API, and have Claude Code or Codex write a download script for each portal.

4. Connect your agent over remote MCP for renewal checks and payment prep. The [AI agents docs](https://donutbrowser.com/docs/ai-agents) have the setup for each client.

5. Record recipes for repeat flows, put them on schedules, and turn on failure email or a webhook.

Sales teams use the same setup for [prospecting](https://donutbrowser.com/ai-agent-for-sales-prospecting) (see [AI sales agents](https://donutbrowser.com/use-cases/sales-agents)), and hiring teams for [recruiting](https://donutbrowser.com/ai-agent-for-recruiting). Plan details are on the [pricing](https://donutbrowser.com/pricing) page.

## Frequently asked questions

### Can an AI agent download invoices from vendor portals?

**Yes.** Keep each portal login in its own Donut Browser profile and sign in once by hand. A Playwright script that Claude Code or Codex writes can then open the billing page and save each invoice under your naming rule, with no model tokens per run. The agent ends with a list of portals that need a person.

### Do recipes use AI model tokens?

**No.** A recipe is a flow you record once in a profile’s browser, and Donut replays the steps without a model. Passwords are never recorded. Recipes are stored in Donut’s cloud. Solo can run them on a schedule on Donut’s remote fleet, and running one on demand needs Pro.

### Can the agent pay invoices by itself?

**Do not let it.** Have the agent prepare the payment, stop before the pay button and call `ask_human` with the amount, the due date and source links. A person reviews on the Agent page of the desktop app and clicks pay.

### How does the agent handle two-factor codes on vendor portals?

**It calls `request_human_help`.** You enter the code in the same profile on the desktop, and the agent continues. Recipes stop at the step that fails, and the run shows which step that was.

### Which Donut Browser plan does an operations agent need?

**Pro ($99 per month) for browser control, the local launch API and on-demand recipe runs.** Solo ($29 per month) covers remote MCP for profiles, proxies and the human-in-the-loop tools, and scheduled recipes on Donut’s remote fleet. Team ($199 per month for two seats) adds profile locks and roles. See [pricing](https://donutbrowser.com/pricing).

### Is my vendor and invoice data sent to Donut?

**The desktop app sends no telemetry, and profiles, cookies and downloaded files stay on your disk.** Recipes and schedules are stored in Donut’s cloud, and remote MCP calls pass through Donut’s relay. The local API and CDP path stay on your machine.

## On this page

- What operations work can an AI agent do in vendor portals?

- How does an agent download invoices from many vendor portals?

- How do recipes replay a portal flow without model tokens?

- How do schedules run month-end pulls without you?

- How does an agent check renewals and seat counts?

- How do you run vendor and marketplace portals across many accounts?

- Where must a person approve?

- Where do invoices and portal passwords go?

- How do you set up an operations agent with Donut?

- Frequently asked questions

- Can an AI agent download invoices from vendor portals?

- Do recipes use AI model tokens?

- Can the agent pay invoices by itself?

- How does the agent handle two-factor codes on vendor portals?

- Which Donut Browser plan does an operations agent need?

- Is my vendor and invoice data sent to Donut?
