# Asauvia Blog > Notes from the Asauvia team on AI automation, custom software and working with growing companies. ## About - Publisher: Asauvia, a software development and product engineering company (https://asauvia.com) - Blog: https://blog.asauvia.com - Covers: AI automation, custom software, product engineering and how to work with a software partner - Contact: info@asauvia.com or https://asauvia.com/contact ## Posts - [Microsoft 365 Seats Not Billed? How MSPs Stop Seat Drift](https://blog.asauvia.com/unbilled-microsoft-365-licenses-msp): Seat drift happens when a user is added or removed in the Microsoft 365 admin portal, but the client's contract in the PSA tool is never updated. The gap is easy to miss and can run for months. Measure it by comparing licensed users with contracted seats for each client, then fix the process: one system owns the count, onboarding updates billing, and a regular check catches differences before the invoice goes out. Markdown: https://blog.asauvia.com/unbilled-microsoft-365-licenses-msp/md - [Detention Charges: How Brokers Verify Claims Before Paying](https://blog.asauvia.com/freight-broker-detention-fee-checks): Before you pay a detention charge, check it against three things: the free-time window in the rate confirmation, the driver's arrival and departure times, and the signed bill of lading. Detention is common. ATRI's 2024 study found drivers reported it at 39.3% of stops in 2023. When the three checks sit in one place, most claims can be sorted in minutes, and a rules-based check can handle the clear cases so your team only reviews the unclear ones. Markdown: https://blog.asauvia.com/freight-broker-detention-fee-checks/md - [Usage Billing Errors: Finding Revenue SaaS Teams Miss](https://blog.asauvia.com/usage-based-billing-audit-saas): Usage billing usually goes wrong in the gap between the product database and the billing system. Events get dropped, plan changes apply late, and currency or credit rules drift apart. A March 2026 survey of 350 UK software executives found that almost two-thirds did not fully trust their systems to capture usage and invoice correctly. A one-week reconciliation between product usage and invoiced usage will show you how big the gap is for your own customers. Markdown: https://blog.asauvia.com/usage-based-billing-audit-saas/md - [CSV Import Stalls: Why Customer Onboarding Gets Stuck](https://blog.asauvia.com/csv-import-stalls-customer-onboarding): Customer onboarding often stalls at the file import. A date format, a renamed column or one missing field blocks the whole file, and the error only shows up after upload, in a support ticket. The fix is to validate in the browser with row-level messages, map columns with saved mappings, show a preview with counts before anything is written, and let the customer fix and retry without help. Markdown: https://blog.asauvia.com/csv-import-stalls-customer-onboarding/md - [Carrier Invoices: Reconciling Rates Before You Pay](https://blog.asauvia.com/carrier-invoice-rate-reconciliation): Before you pay a carrier invoice, match each charge to the rate confirmation: the agreed rate, the accessorial rules, and the fuel index for that date. In one audit of nearly 250,000 LTL invoices, about 4.5% carried errors, and accessorial charges were the largest share of them. Reading the invoice is the easy part. Matching it to the agreed terms, and sending only the exceptions to a person, is where the time goes. Markdown: https://blog.asauvia.com/carrier-invoice-rate-reconciliation/md - [CRM and Billing Drift: Why Plan Changes Get Lost](https://blog.asauvia.com/crm-billing-drift-plan-changes): CRM and billing drift when a plan change, seat count or start date is saved in one system and never reaches the other, or reaches it late. The fix is one source of truth for each field, an idempotent sync that can safely retry, and a daily reconciliation that lists every mismatch with a reason. Public research on this exact error rate is thin, so measure your own last 30 days first. Markdown: https://blog.asauvia.com/crm-billing-drift-plan-changes/md - [Duplicate Candidates and Repeat Outreach in Your ATS](https://blog.asauvia.com/ats-duplicate-candidates-outreach): Duplicate candidate records cause repeat outreach, which annoys candidates and wastes recruiter time. Duplicates form when the same person applies with a new email, when sourcing tools import profiles again, and when resumes are parsed into new records. One vendor case study found about one in five records in a database of 34,000 candidates were probable duplicates. Exact matching catches the easy ones, and fuzzy matching with human review handles the rest. Markdown: https://blog.asauvia.com/ats-duplicate-candidates-outreach/md - [Where to Start Automating Operations: First Steps](https://blog.asauvia.com/where-to-start-automating-operations): Start by automating the handoff that costs your team the most time each week. Map how the work really runs, automate the common case, and keep a person on the exceptions. Markdown: https://blog.asauvia.com/where-to-start-automating-operations/md - [How to Vet a Software Partner Before You Sign](https://blog.asauvia.com/checking-a-software-partner): Before hiring a software partner, check how they scope work, who owns the code and accounts, how they communicate, and what the handover will include. Most failed projects go wrong in the first few weeks, not in the code. Markdown: https://blog.asauvia.com/checking-a-software-partner/md ## Optional - [Full blog content](https://blog.asauvia.com/llms-full.txt): every post in one markdown file - [RSS feed](https://blog.asauvia.com/feed.xml): new posts as they are published - [Sitemap](https://blog.asauvia.com/sitemap.xml): every page on the blog, with last-modified dates