I’m building Verirow, a post-sync reconciliation tool. The basic idea is simple: an integration can report success, but the source and target can still be different. Verirow compares both sides and flags missing, different and duplicate records. The part I’m working on now is what happens after a mismatch is found. For people building integrations here: where do you normally get the root cause from? Integration/job logs, rejected records, target validation errors, API responses, or manual investigation? I’m trying to understand the real workflow before I build that part further.
Hi Lana M., that’s awesome that you’re working on something creative. Appreciate it! Here’s my perspective. When data is missing, different, or duplicated, we usually find out in one of two ways: through an API or connector response, or because the business tells us, “Hey, this entry got duplicated.” It becomes really critical when the data is sensitive, like finance.
what happens after a mismatch is found.
why that miss match happened?
what that the part of business rule?
Did we miss some logic? or it that the bad data?
Do we need to update that logic or etc
One question came to mind. When an integration misses or duplicates data, the root cause isn’t always the integration itself:
Duplicates: the integration may not be designed properly, or the target system may lack an idempotency key or setup.
Missing data: something may be missing in the integration or the architecture.
If anything isn’t behaving the way the business wants, it usually comes down to the whole architecture, not just the integration, but every system in the process. Is Verirow targeting those gaps? Does it analyze the issue and help fix the integration quickly, or is it meant to identify the gaps? I’m curious about your motivation 🙂
Thanks, dheeraj k.! This is really helpful. Right now, Verirow focuses on identifying the gaps, not automatically fixing the integration. It compares source and target data and shows missing records, differences, and duplicates. My goal isn't to create a product and then look for a problem it can solve. I want to solve a problem businesses already deal with. When money, customer records, or critical business data are involved, even a small sync error can have real consequences for someone. I want teams to have more confidence that their data is actually correct, not just that a sync completed successfully. I'm exploring what should come next, especially how to make those results useful when investigating the root cause. When you find a mismatch, do you usually start with the integration logs or check the source and target records first?
I understand. What I meant earlier was that the tool identifies an issue, and then we resolve the integration manually—we do not expect the tool to perform the fix itself. 🙂 Could you please provide an example for your use case? Additionally, generally speaking, whenever we encounter a discrepancy, it is usually reported by the business. First, we validate whether their report is accurate. Next, we determine whether the issue was caused by our integration. If it was, we examine the logs to identify where, at which step, and due to which logic the discrepancy occurred. Following that, we verify whether the behavior stemmed from actual business requirements, a code defect, or an edge case. Based on our findings, we take the appropriate corrective actions to ensure that the same discrepancy does not happen again.
Thanks, Dheeraj, That makes sense! Here's a simple example: an integration moves 10,000 customer records from one system to another. The integration reports success, but the destination only has 9,999 records. Verirow compares both sides and identifies the missing record. It can also flag different values and duplicates. The idea is to catch these issues before someone from the business has to report them. The integration team can then investigate the cause using their existing logs and tools. Your explanation of how your team handles discrepancies is really useful. One thing I'm curious about: do you currently run any checks after a successful integration, or do you usually find out about issues when the business reports them?
Understood. In fact, our synchronization process does more than just return a simple success status; it generates a comprehensive report for every single run. For instance, if it retrieves 10,000 records from one system but successfully transmits only 9,999, it by logic recognizes that an error has occurred. The system immediately captures this discrepancy and dispatches a notification to the relevant team for prompt investigation.
Thanks for sharing the example, Dheeraj! It's really useful to see how your team handles this. I can see that your integration already catches failed records and reports why they failed. What I'm interested in is what happens when the integration reports success, but the data in the destination is still different from the source. For example, all 10,000 records arrive, but some field values are incorrect, or duplicates appear without triggering an integration error. Do you have a separate process to catch those cases, or do you rely on the integration reports? This is the kind of gap I'm trying to understand with Verirow.
That rarely occurs unless your integration logic contains errors. Typically, this arises following a new development phase, and upon being reported, we rectify the logic accordingly. We do not have a separate process to identify those .
Thanks, Dheeraj! I really appreciate you sharing all of this. Can I ask you one last question? If you had a tool that independently checked source and destination data after every sync, what would it need to do for you or your team to actually use it? What features would matter most? And what would make it worth adding to your existing workflow instead of relying on integration logs and manual checks? I'm trying to understand what engineers actually need before deciding what to build next. And thank you so much for your time. This has been really valuable to me!
Thanks, Lana. I can see the value of catching discrepancies before the business discovers them, particularly for critical data. For our team, the main consideration would be how much additional confidence the tool provides compared with the effort required to configure and maintain it. The biggest challenge I see is defining what should match. Our integrations apply business rules, transformations and filters, so a difference between source and destination can be expected. Across multiple systems and objects, those rules can become quite specific. If we have to recreate and maintain much of the integration logic in a separate tool, adoption would be harder. What would make it useful for us would be: • Configurable checks for selected critical records and fields, accounting for expected transformations and sync delays. • Clear evidence of each discrepancy: record IDs, expected versus actual values, and links to the relevant records or run. • Low setup effort and actionable alerts within our existing workflow. We would still fix the underlying cause in the integration or relevant system whenever an issue is found. I can also see independent reconciliation providing an additional check that those safeguards are working. Starting with one specific integration use case might help demonstrate that value and establish how much configuration is needed before expanding to a more generic solution.
Thank you so much, Dheeraj. This is exactly the kind of feedback I was hoping for. Your point about not having to recreate the integration logic in a separate tool is especially important. I hadn't looked at it quite that way. I agree that starting with one specific integration makes more sense than trying to support every possible workflow at once. Since you mentioned NetSuite and Salesforce earlier, do you think that would be a useful first case to explore for independent reconciliation? I really appreciate the time you've taken to explain all of this. It's helping me understand what the product actually needs to do.
Hi Lana M., thanks for being so open to the feedback! 🙂 Yes, Salesforce ↔️ NetSuite could be a useful starting point. You could begin with one specific flow or object, such as customer records, invoice or payments, to keep the initial scope manageable and understand which checks are useful. Do share your progress in here —it would be great to follow how it develops!
Quick update on Verirow! 😊 I've been working on the feedback from this discussion, and the first pilot is now ready. I started with a small Salesforce → NetSuite reconciliation example using sample data, as Dheeraj suggested. It includes configurable checks and four scenarios: matching records, missing records, value mismatches, and records still within the allowed sync-delay window. The goal is to catch discrepancies even when an integration reports success, without having to recreate the entire integration logic. Dheeraj has kindly agreed to be one of the first testers, so I'm looking forward to seeing what works and what needs improving. Thanks again for all the feedback! I'll share what we learn from the pilot.
