Amazon Vendor Central: download remittances with a workflow
Amazon pays vendors against invoices and explains each payment in a remittance that lives in the portal. This template signs in with a vaulted login, filters remittances by payment date, exports the list and hands the rows to your ERP.
Who fetches remittances, and what they do with them
The remittance is the document that lets accounts receivable match a bank credit to the invoices it settled. Without it, every Amazon payment is an unexplained lump.
- Cash application, weekly
- Someone in AR signs in on Monday, filters last week's payments, downloads the remittance and keys the invoice numbers into the ERP so the open items close. The download is the easy part; the login with a one-time code is what makes it a person's job.
- Deductions and disputes
- Shortages, chargebacks and co-op deductions appear as differences between the invoice and the paid amount. The remittance shows the deduction codes; finding them is a matter of opening each payment.
- Month-end reconciliation
- A controller reconciles Vendor Central's invoice status list against the ERP's open items. Two lists, both exported by hand, compared in a spreadsheet.
- What breaks
- The second factor. The person who holds the phone is on holiday, the shared inbox for SMS codes is nobody's job, and a session that timed out mid-export produces a half file.
The manual route in Vendor Central
As described in the vendor help pages. Vendor Central shows menu labels in the account's language; this page quotes the English ones and your German account may read Zahlungen where this says Payments.
-
Sign in with two-step verification
Enter the account e-mail and password, then the one-time code. Amazon sends it by SMS or takes it from an authenticator app; a captcha can appear before the code.
-
Open Payments, then Remittance
The remittance view lists payments with a date filter. Each payment opens to the invoices it settled and any deductions.
-
Filter and export
Set the payment date range and use the export control to download the list. The help pages describe a spreadsheet download; the exact button label is not something this page has checked live.
-
Match invoices in the ERP
Key the payment number and the invoice numbers into the ERP's cash application, and post deductions to their own accounts.
-
Invoices with a status
The Invoices view under Payments shows each submitted invoice with its status, which is where a rejected invoice is first visible.
Template, credential and schedule
The credential is created once and referenced by id; the template as published carries a placeholder id, which the script swaps for the one the vault returned.
{
"title": "Amazon Vendor Central: remittances and invoices for a period",
"parameters": [
{
"key": "from_date",
"description": "Start of the payment date range (YYYY-MM-DD)",
"required": true
},
{
"key": "to_date",
"description": "End of the payment date range (YYYY-MM-DD)",
"required": true
},
{
"key": "erp_webhook",
"description": "Endpoint that receives the remittance list",
"required": true
}
],
"runSequentially": true,
"sequentialKey": "cred_vendor_central",
"blocks": [
{
"blockType": "login",
"label": "Sign_in",
"credentialId": "cred_vendor_central",
"url": "https://vendorcentral.amazon.de/"
},
{
"blockType": "validation",
"label": "Home_shown",
"criterion": "The Vendor Central home page of a signed-in vendor is shown, with the Payments menu available and no sign-in, one-time code or captcha form on the page"
},
{
"blockType": "action",
"label": "Filter_remittances",
"instruction": "Open Payments, then Remittance, and filter the list to payment dates from {{ from_date }} to {{ to_date }}"
},
{
"blockType": "extraction",
"label": "Remittances",
"instruction": "Every remittance in the filtered list: payment number, payment date, amount, currency, and the invoice numbers it covers",
"schema": {
"type": "object",
"properties": {
"remittances": {
"type": "array",
"items": {
"type": "object",
"properties": {
"paymentNumber": {
"type": "string"
},
"paymentDate": {
"type": "string"
},
"amount": {
"type": "number"
},
"currency": {
"type": "string"
},
"invoiceNumbers": {
"type": "array",
"items": {
"type": "string"
}
}
},
"required": [
"paymentNumber",
"paymentDate",
"amount"
]
}
}
},
"required": [
"remittances"
]
}
},
{
"blockType": "action",
"label": "Export_list",
"instruction": "Download the filtered remittance list using the export control the page offers (spreadsheet or CSV)"
},
{
"blockType": "http_request",
"label": "Post_to_erp",
"method": "POST",
"url": "{{ erp_webhook }}",
"headers": {
"content-type": "application/json"
},
"body": "{{ Remittances_output }}"
}
]
}
import { Browserberg } from '@browserberg/sdk';
import template from './amazon-vendor-central-remittance.json' with { type: 'json' };
const bb = new Browserberg({
apiKey: process.env.BROWSERBERG_API_KEY,
baseUrl: 'https://browserberg.com',
});
// Once: the vendor login, released only on vendorcentral.amazon.de.
// With an authenticator app as the second step, add its seed as totpSeed.
const cred = await bb.credentials.create({
name: 'Vendor Central (AP)',
url: 'https://vendorcentral.amazon.de/',
fields: { email: 'ap@example.de', password: process.env.VC_PASSWORD },
totpSeed: process.env.VC_TOTP_SEED,
nonSecretFields: ['email'],
});
const wf = await bb.workflows.publish({
...template,
blocks: template.blocks.map((b) =>
b.blockType === 'login' ? { ...b, credentialId: cred.id } : b),
});
await bb.triggers.create(wf.workflowId, {
kind: 'schedule', name: 'Monday remittances',
cron: '0 6 * * 1', timezone: 'Europe/Berlin',
});
Two-step verification, session limits and what stays refused
Browserberg is not affiliated with Amazon; Vendor Central is Amazon's portal for its vendors and this page describes operating it with the vendor account you hold.
The second step, two ways
If the account's second factor is an authenticator app, put its seed in the vault as totpSeed when creating the credential. The login block then types the code itself, and the seed never leaves the vault or reaches a model. If the second factor is SMS, nothing in the vault can help: the schedule below will not work unattended and the sign-in becomes a person's step through the live view, with the run started afterwards on that session. Amazon may also show a captcha at sign-in; the validation block after the login catches that page and fails the run rather than reading it as a home page.
One login at a time
runSequentially with the credential as the key means two runs never share the same vendor login. Vendor Central signs a session out after inactivity; the template does its work in one pass and does not wait for anything.
What the effect gates refuse
Every click is classified by the element it lands on. Filtering and exporting a list are read and submit effects and run. Vendor Central also contains controls that dispute a chargeback, accept a purchase order or change bank details; a control whose label reads as payment or destructive is refused under the default policy whatever the block instruction said, and the run stops with the block named. Under a propose policy such a step is handed to a person to approve instead. The template never reaches those screens, but the gate does not rely on the template being well-behaved.
Note · Drafted from the vendor help pages
Menu names, the date filter and the export control are described as Amazon's vendor help presents them on the date above. The template has not been verified against a live Vendor Central account while writing this page; expect to adjust an instruction if your account's layout or language differs.
Portal facts used above
| Portal | Vendor Central for vendors selling to Amazon in Germany Amazon Vendor Central |
|---|---|
| Second factor | Two-step verification with a code by SMS or from an authenticator app Amazon Vendor Central |
| Remittance and invoice views | Both live under the Payments menu, each with a date filter and an export Amazon Vendor Central help |
| Session | Signed out after inactivity; the template does not wait for a person mid-run |
| Vault fields for this portal | email, password, optional totpSeed; the release scope is the portal's own hostname |
As of 2026-09-08
Questions from accounts receivable
Does the run see my password?
No. The login block references a credential by id. The value is released inside the act executor at the moment of typing, only on the site the credential was granted for, and never appears in the run's output or in a model's context.
Our second factor is SMS. Can it still run on a schedule?
Not unattended. A scheduled firing has nobody to read the SMS, so the login fails at the code prompt. Either move the account to an authenticator app and vault the seed, or start runs after a person signs in through the live view.
What arrives in the ERP?
The JSON the Remittances extraction produced: payment number, date, amount, currency and invoice numbers per remittance. The exported spreadsheet is stored as an artifact of the run, not posted.
Can the same template fetch invoice statuses?
Yes, with a second action and extraction pointed at the Invoices view under Payments. Keep it in a separate workflow if you want failures to stay local.
Will Amazon block the session?
It sees a Chromium session signed in with your vendor account from EU hardware. There is no stealth layer; if Amazon presents a captcha, the run stops at the validation block and says so.
Try it on last week's payments
Five browser hours, no card. Vault the login, publish the template and compare the JSON with Monday's spreadsheet.