US and UK Receivables Close: Final-Rate Balances and Approved Write-offs
Closing receivables for a US parent and a UK subsidiary means two currencies, a rate that changes after the first pass and write-offs that need sign-off. This is how the close runs in one Kylon room, with the controller approving every change.
Two entities, two currencies and a rate that is not final yet
Closing receivables for a US parent and its UK subsidiary is judgment applied one record at a time. Every open invoice gets a disposition: current, past due, disputed or proposed for write-off. GBP balances are translated to dollars for the group view, each exception gets a review window and an owner, and write-offs follow the memo the controller signed. The rules fit on a page. Applying them to a few hundred records, twice in one close, is where it slips.
The receivables sit in Salesforce, payments and disputes in Stripe, the write-off memo in Google Docs, and the month-end rate arrives as a message from treasury in Slack. The first pass has to run on a draft rate because the final one is published after month end. When it lands, someone re-translates the GBP balances they remember. A closed dispute gets read as a paid invoice, and review windows on changed rows keep running from the old dates.
Who works in the room
People
Group controller
Owns the close, approves every disposition and write-off, and signs both closing memos
UK finance manager
Owns the UK entity's books, confirms GBP balances and posts corrections from the UK side
Treasury analyst
Publishes the draft and final month-end rates in the finance channel
Collections lead
Works each review window with the customer and confirms owners and dates
Agents

RyanReceivables coordinator
Reads every open receivable in Salesforce against Stripe payments and disputes, proposes a disposition, dollar amount and review window, and writes them once the controller approves

AdaClose reviewer
Re-checks each disposition against the current write-off memo and the rate in use, and lists every row that disagrees
Google Docs
Google Drive
Salesforce
MycoMemos and customer notes
Drafts the closing memo for each entity and the notes to customers with past-due balances, for a person to sign or send
The close runs in one room per month, and Ryan is its default agent: a message about a balance or a disposition that names no one goes to Ryan. Ryan is also the only agent that can use Stripe, through a lasting grant the controller approved for it. Questions about the memo, or about a row someone disputes, go to Ada by specialty. When the controller approves the final records, Ryan opens a thread for Myco whose first message is the brief for each closing memo, and Myco leads from there.
The month-end close, step by step
Each stage reads the current records and stops at a person before anything is written.
- Agent works
- Person decides
- Arrives or gets recorded
flowchart TD
first["<b>Ryan</b> gives every open receivable<br>a disposition at the draft rate"]
ok1["<b>Group controller</b> approves<br>before Salesforce changes"]
windows["<b>Ryan</b> gives each exception a<br>review window and an owner"]
owners["<b>Collections lead</b><br>confirms owners and dates"]
audit["<b>Ada</b> re-checks each disposition<br>against the memo and the rate"]
rule["<b>Group controller</b> rules on<br>every row that disagrees"]
final([Treasury posts<br>the final rate])
uk["<b>Ryan</b> re-runs only the<br>rows UK corrections touch"]
memo["<b>Ada</b> lists the rows the<br>revised memo reaches"]
rederive["<b>Ryan</b> re-derives every open<br>GBP receivable at that rate"]
ukok["<b>UK finance manager</b> confirms,<br><b>group controller</b> approves"]
both["<b>Group controller</b> and <b>CFO</b><br>both sign those rows"]
ok2["<b>Group controller</b><br>approves the changes"]
memos["<b>Myco</b> drafts one closing memo<br>per entity from current records"]
sign["<b>Group controller</b> signs both,<br><b>UK finance manager</b> co-signs"]
first --> ok1 --> windows --> owners --> audit --> rule
rule --> uk & memo & rederive
final --> rederive
uk --> ukok
memo --> both
rederive --> ok2
ukok & both & ok2 --> memos --> sign
class first,windows,audit,uk,memo,rederive,memos agent
class ok1,owners,rule,ukok,both,ok2,sign person
class final event
classDef agent fill:#FFFFFF,stroke:#DCD3C8,color:#1B1712
classDef person fill:#EEF0E3,stroke:#6E7447,color:#1B1712
classDef event fill:#F4ECDD,stroke:#F4ECDD,color:#564C42| Stage | What happens | Who acts | Who decides |
|---|---|---|---|
| First pass | Every open receivable in both entities gets a disposition from Salesforce and its Stripe payment and dispute history, with GBP balances at the draft rate | Ryan | The controller approves before any Salesforce field changes |
| Review windows | Past-due, disputed and write-off rows each get a review window and an owner | Ryan | The collections lead confirms owners and dates |
| Audit | Each disposition is re-checked against the write-off memo and the rate in use | Ada | The controller rules on every row that disagrees |
| UK corrections | Credit notes and late receipts posted by the UK team re-run only the rows they touch | Ryan | The UK finance manager confirms the figures and the controller approves |
| Write-off memo v2 | The revised memo adds the CFO's approval above a set amount, and the rows it reaches are listed | Ada | The controller and the CFO both sign those rows |
| Final rate | Every open GBP receivable is re-derived at the published rate, and each changed row gets a fresh review window | Ryan, checked by Ada | The controller approves the changed records |
| Closing memos | One memo per entity, written from current Salesforce records and filed in Google Docs once approved | Myco | The controller signs both, and the UK finance manager co-signs the UK memo |
When the rate or the memo changes after the first pass
The draft rate is a placeholder and everyone knows it. When treasury posts the final rate, Ryan re-derives every open GBP receivable, not only the large ones. A small move in the rate can carry a balance across the write-off amount and change the approval it needs, so a partial re-run leaves the close disagreeing with itself. Every row that changes gets its review window reset, and the collections clock starts again from the figure the controller approved.
Memo changes get the same treatment. When version two of the write-off memo adds the CFO's approval above a set amount, Ada reads both versions side by side and lists the rows the new rule reaches. Those rows stay proposed until both approvals are recorded in the thread. Rows the change does not reach keep their approval, and the thread shows which version each decision was made under.
What the checks catch
- A GBP receivable still carrying the dollar amount from the draft rate after the final rate was posted
- A receivable marked current because its Stripe dispute closed, when the invoice is still unpaid and past its due date
- A re-derived row whose review window still runs from the first pass
- A write-off above the memo v2 amount with only one of its two approvals on record
- A payment that cleared in Stripe on the last day of the month but has not reached the Salesforce receivable
What stays with people
- Approving each disposition, amount and write-off before Ryan writes it to Salesforce
- Setting the month-end rate, which belongs to treasury
- Sending every customer note Myco drafts in Gmail
- Signing the closing memo for each entity
Integrations in this workflow
Kylon is not a consolidation tool or a general ledger, and it replaces neither. It sits across the receivables, payment and document tools the close already depends on and holds the coordination between them.
- Salesforce holds the receivable records, with disposition, dollar amount and review window on each
- Stripe shows the payments, refunds and dispute outcomes behind every invoice, which Ryan reads and never changes
- Google Docs holds both versions of the write-off memo and the two closing memos
- Google Drive keeps the close folder with the checklist, the rate file and last month's memos
- Gmail carries past-due notes to customers as drafts the collections lead sends
- Slack is where treasury posts the draft and final rates and the UK team flags late receipts
Where to start
Take one month and one pair of entities. Connect the Salesforce object that holds receivables, approve a Stripe grant for Ryan in this room, and put the write-off memo in the close folder. Then write the one rule that matters into the room guidelines: no disposition, amount or write-off reaches Salesforce until the controller approves it in the thread.
“The final rate moved most balances by a few dollars. The close is right because every one of them moved.”
Set it up with your agent
Open a new Room, add your agent and paste this prompt. It connects the tools, builds the App with you and asks for your rules one step at a time, and nothing goes out until a person approves it.
Set up our receivables close desk in this Room. Take it one step at a time and wait for my OK before you move on. 1. Connect Gmail, Google Docs, Google Drive, Salesforce, Slack and Stripe. Tell me which ones still need connecting, and confirm the Stripe grant covers this Room. 2. Ask me who works this desk: the group controller, the UK finance manager, the treasury analyst and the collections lead. Help me invite them to this Room. 3. Build a Receivables Close App with Receivable, Entity, USD at final rate and Status, one record per open invoice. Pull the open records from Salesforce and match each to its Stripe payment and dispute history. 4. Propose a disposition, dollar amount and review window for each record using the draft rate for any foreign currency balances. Flag every balance still at the draft rate after the final rate posts, every dispute closed in Stripe where the invoice is still unpaid, every re-derived row whose review window runs from the first pass, and every write-off above the threshold we set that is missing one of its two approvals. 5. Draft customer notes in Gmail and one closing memo per entity in Google Docs. Write nothing to Salesforce and send nothing until the controller approves each disposition, amount and write-off in the thread. Hold every row that reaches the threshold we set until both the controller and the CFO have approved it in the thread. 6. Write the approval order and who signs what into this Room's guideline so every close follows the same steps. 7. After one clean close, offer to turn the final-rate re-run into an Automation. Before you start, ask me for our rules one at a time.
Your first company harness. Where humans and agents run your business together.
More Use Cases
View allProperty Tax Appeals: The Right Parcels Filed Within Each County's Capacity
Parcel triage, filing allocation, manifest review, comparable corrections and appeal letters run through one Kylon room. Agents compute each county's median and check every filing against Airtable, and the tax manager approves each change and each letter.
Utility Bill Validation: Every Bill Checked Against Tariff, Meter and Period Days
Each utility bill is checked against the site register, the tariff in force on each day and any meter swap. Agents do the arithmetic and draft the replies in one Kylon room, and the utilities lead approves every disposition and every message.





