--- name: sop-generator description: "Generate structured Standard Operating Procedures (SOPs) from process recordings, transcripts, voice memos, or freeform descriptions. Includes decision trees, error handling, time estimates, tools required, and success criteria. Use when the user wants to document a business process, turn a Loom/Zoom recording transcript into a formal SOP, or create onboarding documentation for team processes. MANDATORY TRIGGERS: SOP, standard operating procedure, document this process, create an SOP, process documentation, write up this process, procedure guide, turn this transcript into an SOP." license: MIT --- # SOP Generator **Document processes. No writers required.** Your team knows how to do the work. Nobody has written it down. The customer onboarding process lives in three people's heads. The monthly close depends on one person who has been doing it for four years. When someone goes on vacation, things break. When you hire someone new, training takes weeks because there is nothing to hand them. This skill fixes that. Record someone doing the process — on Loom, Zoom, or a voice memo — get it transcribed, paste it into the prompt, and get a structured, scannable SOP in under five minutes. Decision trees, error handling, time estimates, tools required, and success criteria included. --- ## What Makes a Good SOP A good SOP passes one test: can someone who has never done this process follow it start-to-finish without asking questions? That means: 1. **Every step is explicit.** Not "process the order" but "open the Orders tab in Shopify, click the order number, verify the shipping address matches the customer profile, and click 'Fulfill order.'" 2. **Decision points are mapped.** When the process branches, every branch is covered. Not "handle exceptions as needed" but "IF the customer disputes the charge, THEN create a support ticket in Zendesk and escalate to the billing team within 2 hours." 3. **Error handling exists.** What happens when things go wrong? What are the common mistakes? How do you recover? A SOP without error handling is a SOP that breaks the first time something unexpected happens. 4. **Time estimates are realistic.** Each step has an estimated duration. The total process time is listed. This helps managers plan workload and identify bottlenecks. 5. **Tools and access are listed.** What software, logins, templates, or permissions does someone need before they can start? Nothing is worse than getting to step 7 and realizing you need admin access to a system nobody told you about. --- ## SOP Template Structure Every SOP generated by this skill follows this format: ### Header - **SOP Title:** [Clear, descriptive name] - **Process Owner:** [Who maintains this SOP] - **Last Updated:** [Date] - **Version:** [Version number] - **Estimated Total Time:** [End-to-end duration] - **Frequency:** [How often this process runs] ### Overview 1-2 sentences describing what this process accomplishes and why it matters. Written for someone who has never heard of this process before. ### Prerequisites What must be true before starting: - Required access and permissions - Required tools and software - Required information or documents - Required approvals or sign-offs - Any dependencies on other processes completing first ### Roles Who is involved and what they do: - **Primary executor:** Who runs this process - **Approver:** Who signs off (if applicable) - **Escalation contact:** Who to call when something goes wrong - **Stakeholders:** Who gets notified of completion ### Step-by-Step Instructions Numbered steps with: - Clear action verb to start each step ("Open," "Click," "Verify," "Send") - Specific details (which system, which screen, which button) - Expected result after completing the step - Time estimate for the step - Screenshots or references where helpful ### Decision Points Formatted as decision trees: ``` Step N: [Decision description] IF [condition A] THEN [action] → proceed to Step N+1 IF [condition B] THEN [different action] → proceed to Step N+2 IF [condition C] THEN [escalation action] → notify [person], create [ticket] ``` All branches must be covered. No decision point should have an unhandled case. ### Error Handling Common mistakes and how to recover: - **Error:** [What goes wrong] - **Cause:** [Why it happens] - **Fix:** [How to recover] - **Prevention:** [How to avoid it next time] ### Tools Required | Tool | Purpose | Access Required | Link/Location | |------|---------|----------------|---------------| | | | | | ### Time Estimates | Step | Estimated Time | Notes | |------|---------------|-------| | | | | | **Total** | | | ### Success Criteria How do you know the process completed correctly? - [ ] [Verifiable outcome 1] - [ ] [Verifiable outcome 2] - [ ] [Verifiable outcome 3] ### Escalation When to stop and get help: - [Condition that requires escalation] - [Who to contact] - [Expected response time] --- ## Input Formats The SOP generation prompt accepts three types of input: ### 1. Process Recording Transcript (Best) Record someone doing the process while talking through each step. Transcribe the recording and paste it. This captures the most detail, including the informal knowledge that experienced people do not think to mention. ### 2. Written Description A document describing the process. Can be rough notes, an email explaining how something works, or existing documentation that needs to be restructured. ### 3. Meeting Notes Notes from a meeting where a process was discussed. Works best when the notes capture specific steps and decisions, not just high-level discussion. --- ## Decision Tree Format Decision trees are critical for processes with branches. This skill uses a clear if/then syntax: ### Simple Decision ``` Step 5: Verify customer payment status IF payment is confirmed THEN proceed to Step 6 (Ship order) IF payment is pending THEN send payment reminder email, wait 24 hours, re-check IF payment failed THEN contact customer via phone, create support ticket, hold order ``` ### Nested Decision ``` Step 8: Review application completeness IF all required documents are present IF credit score is above 700 THEN fast-track approval → proceed to Step 9 IF credit score is 600-700 THEN standard review → proceed to Step 10 IF credit score is below 600 THEN escalate to senior underwriter → notify applicant of extended timeline IF documents are missing THEN send document request email (use Template B), set 5-day follow-up reminder ``` ### Parallel Paths ``` Step 12: Initiate closing procedures PARALLEL: Path A: Finance team runs final reconciliation (Steps 13-15) Path B: Legal team prepares closing documents (Steps 16-18) Path C: Client success sends transition notification (Step 19) SYNC: All paths must complete before Step 20 ``` --- ## How to Implement ### Step 1: Record the Process Pick someone who does this process regularly. Have them: 1. Open a screen recording tool (Loom, Zoom, or similar) 2. Talk through the process step-by-step as they do it 3. Explain every click, decision, and check — even the "obvious" ones 4. Mention what they do when things go wrong 5. Note any tools, templates, or logins required Recording tips: - Tell them to narrate as if training someone brand new - Ask them to slow down at decision points and explain their thinking - Encourage them to mention the things they "just know" — those are the steps that get missed in documentation ### Step 2: Transcribe Use any transcription service (Otter.ai, Zoom auto-transcribe, Rev, Whisper). Rough transcription is fine. ### Step 3: Run the Prompt 1. Open Claude (or ChatGPT) 2. Paste the sop-generation-prompt from `scripts/sop-generation-prompt.txt` 3. Specify the input type (transcript, written description, or meeting notes) 4. Paste your source material 5. Run it ### Step 4: Review and Refine Read through the generated SOP and check: - Are all steps explicit enough for a new person? - Are all decision points covered (no unhandled branches)? - Are the time estimates realistic? - Is the error handling section complete? - Are all required tools and access listed? Have someone who does NOT do this process read the SOP and flag anything unclear. ### Step 5: Deploy Save the SOP in your wiki, knowledge base, or shared drive. Common locations: - Notion - Confluence - Google Docs - SharePoint - Internal wiki - Team handbook Set a review schedule (quarterly is typical) to keep it current. --- ## Example 1: Customer Onboarding Process ### Source: Process Recording Transcript (5 minutes) ``` OK so when a new customer signs up, the first thing I do is check Stripe to make sure the payment actually went through. Sometimes people sign up but the card gets declined and they do not realize it. If payment is good, I create their account in our admin panel. Then I send the welcome email — I use the template in our shared Drive folder, the one called "New Customer Welcome v3." I personalize the first line with their company name and the plan they signed up for. I also CC our support lead so she knows there is a new account. After that, I schedule the kickoff call. I check their timezone in the signup form and find a slot within the next 48 hours. I use Calendly for this — the "Customer Kickoff" event type. If they are international and the timezone difference is more than 8 hours, I loop in our EMEA support person instead. Before the kickoff call, I need to set up their workspace. That means creating their project in our app, adding the default templates based on their plan tier — Starter gets 3 templates, Pro gets 8, Enterprise gets all of them plus custom ones. I also add their logo and brand colors if they provided them during signup. The kickoff call itself is usually 30 minutes. I walk them through the workspace, show them how to invite their team, and set up their first project together. I always ask what their biggest priority is and help them configure the tool for that specific use case. If they do not know, I suggest starting with their most time-consuming recurring task. After the call, I send a recap email with links to their workspace, the getting-started guide, and the support channel. I also create a follow-up task for myself to check in after one week. One thing that trips people up — if the customer signed up through a partner referral, there is an extra step. I need to log the referral in our partner portal and notify the partner that their referral converted. This has to happen within 24 hours or the partner does not get credit. Common mistakes: forgetting to check payment before setting up the account (wastes time if payment failed), not checking timezone before scheduling (leads to no-shows), and forgetting the partner referral step. ``` ### Generated SOP --- **SOP: Customer Onboarding — New Account Setup and Kickoff** **Process Owner:** Customer Success Team Lead **Last Updated:** [Date] **Version:** 1.0 **Estimated Total Time:** 45-60 minutes (spread across 48 hours) **Frequency:** Per new customer signup --- **Overview** This process covers everything from verifying a new customer's payment through their first kickoff call and follow-up. It ensures every new customer has a working account, a personalized workspace, and a clear path to getting value from the product within their first week. --- **Prerequisites** - Admin panel access (request from IT if you do not have it) - Stripe dashboard access (view permissions minimum) - Google Drive access to the "Email Templates" shared folder - Calendly access with "Customer Kickoff" event type configured - App admin access to create projects and manage templates - Partner portal access (if handling partner referrals) --- **Roles** - **Primary executor:** Customer Success Associate - **Approver:** None required - **Escalation contact:** Customer Success Team Lead - **Stakeholders:** Support Lead (CC on welcome email), Partner Manager (if referral) --- **Step-by-Step Instructions** **Step 1: Verify Payment (2 min)** Open Stripe dashboard. Search for the customer by email address. Confirm that the subscription charge shows status "Succeeded." Expected result: Payment confirmed, subscription active. ``` IF payment succeeded THEN proceed to Step 2 IF payment failed or is pending THEN send "Payment Issue" email template to customer Set a 24-hour follow-up reminder Do NOT proceed until payment is confirmed ``` **Step 2: Create Account in Admin Panel (3 min)** Open the admin panel. Click "New Account." Enter: company name, primary contact email, plan tier (Starter/Pro/Enterprise), signup date. Expected result: Account created, account ID generated. **Step 3: Send Welcome Email (5 min)** Open Google Drive > Email Templates > "New Customer Welcome v3." Personalize: - First line: Replace [Company Name] with their company name - Plan reference: Replace [Plan] with their plan tier - Add any relevant details from their signup form Send to the primary contact email. CC the Support Lead. Expected result: Welcome email sent, Support Lead notified. **Step 4: Check for Partner Referral (1 min)** Check the signup form data for a referral source field. ``` IF customer came through a partner referral THEN log the referral in the Partner Portal: Open Partner Portal > "Log Referral" Enter: partner name, customer name, signup date, plan tier Click "Submit" This must be done within 24 hours of signup Notify the partner via the portal's notification system THEN proceed to Step 5 IF no partner referral THEN proceed to Step 5 ``` **Step 5: Schedule Kickoff Call (3 min)** Check the customer's timezone from the signup form. ``` IF timezone difference is 8 hours or less from your timezone THEN schedule using your Calendly "Customer Kickoff" link Send the Calendly link to the customer Target: within 48 hours of signup IF timezone difference is more than 8 hours THEN loop in the EMEA support person Have them send their Calendly link instead Notify them via Slack with customer details ``` Expected result: Kickoff call scheduled within 48 hours. **Step 6: Set Up Customer Workspace (10 min)** Open the app admin panel. Navigate to the customer's account. Create their project workspace: - Click "New Project" - Enter project name: "[Company Name] — Main Workspace" - Add default templates based on plan tier: | Plan | Templates | |------|-----------| | Starter | 3 default templates | | Pro | 8 default templates | | Enterprise | All templates + create custom templates per their request | - If the customer provided logo and brand colors during signup, add them to the workspace settings Expected result: Workspace ready with appropriate templates and branding. **Step 7: Conduct Kickoff Call (30 min)** Agenda: 1. Welcome and introductions (2 min) 2. Walk through the workspace — show navigation, key features (10 min) 3. Show how to invite team members (3 min) 4. Set up their first project together (10 min) - Ask: "What is your biggest priority right now?" - If they do not know, suggest: "What is your most time-consuming recurring task?" - Configure the tool for that specific use case 5. Answer questions (5 min) Expected result: Customer can navigate the tool, has invited at least one team member, and has their first project configured. **Step 8: Send Post-Kickoff Recap (5 min)** After the call, send an email with: - Link to their workspace - Link to the getting-started guide - Link to the support channel (Slack, email, or chat) - Summary of what was set up during the call - Any action items discussed Expected result: Customer has all links and next steps in writing. **Step 9: Set Follow-Up Reminder (1 min)** Create a task for yourself: "Check in with [Customer Name] — 1 week post-kickoff." Due date: 7 days from today. Expected result: Follow-up task created, will trigger in one week. --- **Error Handling** | Error | Cause | Fix | Prevention | |-------|-------|-----|------------| | Account set up but payment failed | Skipped Step 1 | Contact customer about payment, pause account access until resolved | Always verify payment first | | Kickoff call no-show | Wrong timezone or scheduling error | Reschedule within 24 hours, verify timezone | Double-check timezone in signup form | | Partner not credited | Missed Step 4 within 24-hour window | Contact Partner Manager to manually log, apologize to partner | Check for referral source immediately after account creation | | Wrong templates loaded | Selected wrong plan tier | Remove incorrect templates, add correct ones | Verify plan tier in Stripe before setting up workspace | --- **Tools Required** | Tool | Purpose | Access Required | |------|---------|----------------| | Stripe | Payment verification | View access | | Admin Panel | Account creation, workspace setup | Admin access | | Google Drive | Email templates | Shared folder access | | Calendly | Kickoff scheduling | "Customer Kickoff" event type | | Partner Portal | Referral logging | Standard access | | Slack | EMEA handoff communication | Team channel access | --- **Time Estimates** | Step | Time | Notes | |------|------|-------| | 1. Verify payment | 2 min | | | 2. Create account | 3 min | | | 3. Send welcome email | 5 min | | | 4. Check partner referral | 1 min | Add 5 min if referral exists | | 5. Schedule kickoff | 3 min | | | 6. Set up workspace | 10 min | Add 5 min for Enterprise | | 7. Kickoff call | 30 min | | | 8. Send recap | 5 min | | | 9. Set follow-up | 1 min | | | **Total** | **~60 min** | Spread across 48 hours | --- **Success Criteria** - [ ] Payment verified in Stripe - [ ] Account created in admin panel - [ ] Welcome email sent with Support Lead CC'd - [ ] Partner referral logged (if applicable) within 24 hours - [ ] Kickoff call scheduled within 48 hours of signup - [ ] Workspace set up with correct templates for plan tier - [ ] Kickoff call completed, first project configured - [ ] Recap email sent with all links - [ ] 1-week follow-up task created --- **Escalation** - **Customer reports payment issue you cannot resolve:** Escalate to Finance (response within 4 hours) - **Customer requests features not available on their plan:** Escalate to Customer Success Team Lead - **Partner referral dispute:** Escalate to Partner Manager (response within 24 hours) - **Customer unhappy during kickoff call:** Escalate to Customer Success Team Lead immediately --- ## Example 2: Monthly Financial Close Process ### Source: Meeting Notes (2 pages) ``` Monthly close meeting notes — February close Participants: Controller (Maria), Senior Accountant (David), AP Clerk (Jenny) Maria walked through the close process: The close starts on the 1st business day after month-end. First thing, David pulls the bank statements for all accounts — we have 3 operating accounts and 1 payroll account at Chase, plus a savings account at Capital One. He downloads the statements and starts the reconciliation in QuickBooks. This usually takes about 2 hours if there are no surprises. While David does bank rec, Jenny processes any remaining AP invoices. Everything needs to be entered by end of day on the 2nd business day. She checks the AP inbox (ap@company.com), the shared Drive folder where departments drop invoices, and asks department heads if they have anything outstanding. Cutoff is strict — anything that comes in after the 2nd business day gets booked to the next month. After bank rec and AP are done, Maria reviews the trial balance. She checks for unusual balances, compares to prior month, and investigates anything that moved more than 10%. She also runs the AR aging report and flags anything over 60 days for collections follow-up. Payroll needs special handling. If the pay period crosses the month boundary, David needs to accrue the portion that belongs to the closing month. He calculates this based on business days. For example, if a bi-weekly pay period is Jan 27 - Feb 9, and the month ends Jan 31, he accrues 3/10 of the gross payroll to January. This is one of the most common mistakes — getting the accrual wrong throws off both months. Depreciation runs automatically in QuickBooks — fixed asset module calculates it. But Maria still checks it because we had an issue last quarter where a fully depreciated asset was still being expensed. Revenue recognition: for subscription revenue, it is straightforward — we recognize monthly. For professional services, David checks the project status in our PM tool and recognizes based on percentage completion. He meets with the project managers to confirm percentages. Tax remittances: Jenny prepares the sales tax filing based on the month's transactions. Due by the 20th of the following month. She exports the tax summary from QuickBooks and files through the state portal. Target: draft financials to Maria by business day 5. Maria reviews, makes adjustments, and has final financials ready by business day 7. Board package goes out by business day 10. Issues from last month: David's bank rec had a $4,200 discrepancy that took a full day to track down — turned out to be a duplicate payment to a vendor. Jenny had 3 invoices come in after cutoff that departments insisted belonged to the prior month — Maria made the call to book them to the current month to maintain the cutoff rule. ``` ### Generated SOP --- **SOP: Monthly Financial Close** **Process Owner:** Controller (Maria) **Last Updated:** [Date] **Version:** 1.0 **Estimated Total Time:** 5-7 business days **Frequency:** Monthly (starts 1st business day after month-end) --- **Overview** The monthly close process reconciles all financial accounts, processes remaining transactions, and produces final financial statements for the board. The close runs from business day 1 through business day 10, with draft financials due by day 5 and the board package by day 10. --- **Prerequisites** - All departments notified of AP cutoff date (2nd business day) - Bank statement access for all 5 accounts (3 Chase operating, 1 Chase payroll, 1 Capital One savings) - QuickBooks admin access with fixed asset module enabled - Access to project management tool for revenue recognition - State tax portal login credentials - Prior month financials for comparison --- **Roles** - **Controller (Maria):** Trial balance review, final adjustments, board package - **Senior Accountant (David):** Bank reconciliation, payroll accruals, revenue recognition - **AP Clerk (Jenny):** Accounts payable processing, sales tax filing - **Department Heads:** Submit outstanding invoices by cutoff - **Project Managers:** Confirm project completion percentages for revenue recognition --- **Timeline Overview** | Business Day | Task | Owner | |-------------|------|-------| | Day 1 | Bank reconciliation begins, AP processing begins | David, Jenny | | Day 2 | AP cutoff (strict), bank rec continues | Jenny, David | | Day 3 | Payroll accruals, depreciation check, revenue recognition | David, Maria | | Day 4 | Trial balance review, AR aging, collections flags | Maria | | Day 5 | Draft financials to Controller | David | | Day 5-7 | Controller review, adjustments, final financials | Maria | | Day 10 | Board package distributed | Maria | | Day 20 | Sales tax filing due | Jenny | --- **PARALLEL TRACK A: Bank Reconciliation (David) — Days 1-2** **Step 1: Download Bank Statements (30 min)** Log into Chase online banking. Download month-end statements for: - Operating Account 1 (main operating) - Operating Account 2 (vendor payments) - Operating Account 3 (reserves) - Payroll Account Log into Capital One. Download statement for: - Savings Account Save all statements to: Shared Drive > Finance > [Year] > [Month] > Bank Statements **Step 2: Reconcile Each Account in QuickBooks (2 hours)** Open QuickBooks > Banking > Reconcile. For each account: - Enter the ending balance from the bank statement - Match cleared transactions - Investigate any unmatched items - Document reconciling items ``` IF reconciliation balances (difference = $0.00) THEN mark as reconciled, proceed to next account IF difference is under $50 and explainable THEN document the item, make adjustment entry, reconcile IF difference is over $50 or unexplainable THEN stop, investigate Common causes: - Duplicate payments (check vendor payment history) - Unrecorded bank fees - Timing differences on transfers between accounts - Data entry errors in QuickBooks THEN resolve and re-reconcile IF still unresolved after 2 hours THEN escalate to Maria with documentation of what was tried ``` --- **PARALLEL TRACK B: Accounts Payable Processing (Jenny) — Days 1-2** **Step 3: Process Outstanding Invoices (4-6 hours across 2 days)** Check three sources for unprocessed invoices: 1. AP inbox (ap@company.com) 2. Shared Drive > Finance > AP Inbox folder 3. Direct outreach to department heads: "Do you have any outstanding invoices for [month]?" For each invoice: - Enter in QuickBooks > Vendors > Enter Bills - Assign correct expense category and department - Attach the original invoice PDF - Schedule payment per vendor terms **Step 4: Enforce AP Cutoff (End of Day 2)** ``` IF invoices arrive after end of business day 2 THEN book to the NEXT month, regardless of invoice date Notify the submitting department of the cutoff rule Do NOT make exceptions without Controller approval IF a department insists an invoice belongs to the closing month THEN escalate to Maria for a ruling Maria's default: maintain the cutoff rule ``` --- **SEQUENTIAL TASKS (Days 3-4)** **Step 5: Calculate Payroll Accruals (David) (45 min)** ``` IF the pay period crosses the month boundary THEN calculate the accrual: 1. Determine total gross payroll for the pay period 2. Count business days in the pay period 3. Count business days that fall in the closing month 4. Accrual = (closing month days / total pay period days) x gross payroll 5. Enter the accrual journal entry in QuickBooks 6. Set a reminder to reverse the accrual on day 1 of the next month Example: Pay period Jan 27 - Feb 9 (10 business days) Closing month: January (3 business days: Jan 27, 28, 29) Gross payroll: $85,000 January accrual: (3/10) x $85,000 = $25,500 IF the pay period falls entirely within the closing month THEN no accrual needed, proceed to Step 6 ``` **Step 6: Verify Depreciation (Maria) (20 min)** Open QuickBooks > Fixed Assets > Depreciation Schedule. - Verify the automatic depreciation entry posted for the month - Check that no fully depreciated assets are still being expensed - Compare total depreciation to prior month (should be stable unless assets were added/disposed) ``` IF depreciation looks correct THEN proceed to Step 7 IF a fully depreciated asset is still expensing THEN correct the asset record, reverse the erroneous depreciation entry Add the asset to the quarterly fixed asset review list IF depreciation amount changed significantly from prior month THEN investigate (new asset? disposal? calculation error?) ``` **Step 7: Revenue Recognition (David) (1-2 hours)** Subscription revenue: verify monthly recognition entries posted automatically. Professional services revenue: 1. Open the project management tool 2. For each active project, meet with the project manager (or send async request) 3. Confirm percentage completion as of month-end 4. Calculate revenue to recognize: contract value x completion % - revenue already recognized 5. Enter journal entries in QuickBooks **Step 8: Trial Balance Review (Maria) (1-2 hours)** Pull the trial balance from QuickBooks. - Compare each account to prior month - Investigate any account that moved more than 10% - Run the AR aging report - Flag any receivables over 60 days for collections follow-up - Document all adjustments and their reasoning --- **FINAL STEPS (Days 5-10)** **Step 9: Draft Financials (David) (2 hours) — Due: Day 5** Generate from QuickBooks: - Income Statement (current month and YTD) - Balance Sheet - Cash Flow Statement - AR Aging Summary - AP Aging Summary Package and send to Maria for review. **Step 10: Controller Review and Adjustments (Maria) (1-2 days) — Due: Day 7** Review all statements. Make final adjustments. Prepare management commentary. **Step 11: Board Package (Maria) (1 day) — Due: Day 10** Compile final financials, management commentary, and KPI dashboard into board package. Distribute to board members. **Step 12: Sales Tax Filing (Jenny) — Due: Day 20** Export the sales tax summary from QuickBooks. File through the state tax portal. Save confirmation receipt. --- **Error Handling** | Error | Cause | Fix | Prevention | |-------|-------|-----|------------| | Bank rec discrepancy over $50 | Duplicate payment, unrecorded fee, or data entry error | Investigate vendor payment history, check bank fees, review QuickBooks entries | Run duplicate payment check before reconciliation | | Post-cutoff invoices booked to wrong month | Department submitted late, AP processed without checking date | Reverse entry, rebook to correct month | Enforce cutoff strictly, do not process after day 2 | | Payroll accrual error | Wrong business day count or gross payroll figure | Recalculate, post correcting entry | Use the formula template, double-check day count | | Depreciation on fully depreciated asset | Asset record not updated after full depreciation | Correct asset record, reverse entry | Quarterly fixed asset review | --- **Success Criteria** - [ ] All 5 bank accounts reconciled with zero unexplained differences - [ ] All AP invoices processed by cutoff (day 2) - [ ] Payroll accruals calculated and entered (if applicable) - [ ] Depreciation verified, no errors - [ ] Revenue recognized for all active projects - [ ] Trial balance reviewed, all 10%+ variances investigated - [ ] AR aging reviewed, 60+ day items flagged - [ ] Draft financials delivered by day 5 - [ ] Final financials approved by day 7 - [ ] Board package distributed by day 10 - [ ] Sales tax filed by day 20 --- **Escalation** - **Bank rec discrepancy unresolved after 2 hours:** Escalate to Controller - **Department disputes AP cutoff ruling:** Escalate to Controller - **Revenue recognition dispute with project manager:** Escalate to Controller - **Tax filing issue or penalty notice:** Escalate to Controller immediately --- ## Platform-Specific Notes ### Notion SOPs work well as full-width pages in Notion. Use toggle blocks for the decision trees and callout blocks for error handling. Create a "SOPs" database with properties for Process Owner, Last Updated, and Review Date. ### Confluence Use Confluence page templates to standardize SOP formatting across teams. The decision tree format works with Confluence's built-in expand macros. Use page labels to categorize SOPs by department. ### Google Docs Use heading styles consistently (H2 for sections, H3 for steps) to auto-generate a table of contents. Decision trees work as indented text blocks. Use the Comments feature for review and feedback. ### SharePoint Create a SOP library with metadata columns for Process Owner, Department, and Review Date. Use SharePoint's version history to track SOP updates over time.