diff --git a/docs/config.json b/docs/config.json
index 09280cf69..1fdfdced1 100644
--- a/docs/config.json
+++ b/docs/config.json
@@ -154,6 +154,10 @@
               "label": "SSR/TanStack Start/Next.js",
               "to": "framework/react/guides/ssr"
             },
+            {
+              "label": "Server Errors & Success Flows",
+              "to": "framework/react/guides/server-errors-and-success"
+            },
             {
               "label": "Debugging",
               "to": "framework/react/guides/debugging"
diff --git a/docs/framework/react/guides/server-errors-and-success.md b/docs/framework/react/guides/server-errors-and-success.md
new file mode 100644
index 000000000..c87bf2efe
--- /dev/null
+++ b/docs/framework/react/guides/server-errors-and-success.md
@@ -0,0 +1,342 @@
+# Server Errors & Success Flows
+
+TanStack Form provides utilities for handling server-side validation errors and success responses through the `@tanstack/form-server` package.
+
+## Installation
+
+```bash
+npm install @tanstack/form-server
+```
+
+## Overview
+
+The form-server package provides three main utilities:
+
+- **`mapServerErrors`** - Normalizes various server error formats into a consistent structure
+- **`applyServerErrors`** - Applies mapped errors to form fields and form-level state
+- **`onServerSuccess`** - Handles successful responses with configurable reset and callback options
+
+## Mapping Server Errors
+
+The `mapServerErrors` function converts different server error formats into a standardized structure:
+
+```tsx
+import { mapServerErrors } from '@tanstack/form-server'
+
+const zodError = {
+  issues: [
+    { path: ['name'], message: 'Name is required' },
+    { path: ['email'], message: 'Invalid email format' },
+  ],
+}
+
+const mapped = mapServerErrors(zodError)
+```
+
+### Supported Error Formats
+
+The function automatically detects and handles various server error formats:
+
+#### Zod-style Validation Errors
+
+```tsx
+const zodError = {
+  issues: [{ path: ['items', 0, 'price'], message: 'Price must be positive' }],
+}
+```
+
+#### Rails-style Errors
+
+```tsx
+const railsError = {
+  errors: {
+    name: 'Name is required',
+    email: ['Invalid email', 'Email already taken'],
+  },
+}
+```
+
+#### Custom Field/Form Errors
+
+```tsx
+const customError = {
+  fieldErrors: [{ path: 'name', message: 'Name is required' }],
+  formError: { message: 'Form submission failed' },
+}
+```
+
+### Path Mapping
+
+Use custom path mappers to handle different naming conventions:
+
+```tsx
+const pathMapper = (path: string) =>
+  path.replace(/_attributes/g, '').replace(/\[(\w+)\]/g, '.$1')
+
+const mapped = mapServerErrors(railsError, { pathMapper })
+```
+
+## Applying Errors to Forms
+
+Use `applyServerErrors` to inject server errors into your form:
+
+```tsx
+import { useForm } from '@tanstack/react-form'
+import { mapServerErrors, applyServerErrors } from '@tanstack/form-server'
+
+function MyForm() {
+  const form = useForm({
+    defaultValues: { name: '', email: '' },
+    onSubmit: async ({ value }) => {
+      try {
+        await submitForm(value)
+      } catch (serverError) {
+        const mappedErrors = mapServerErrors(serverError)
+        applyServerErrors(form, mappedErrors)
+      }
+    },
+  })
+
+  return (
+    
+        {(field) => (
+          
+            
 field.handleChange(e.target.value)}
+            />
+            {field.state.meta.errors.map((error) => (
+              
{error}
+            ))}
+          
+      {flashMessage && 
{flashMessage}
}
+
+      
+          {(field) => (
+            
+              
+              
 field.handleChange(e.target.value)}
+              />
+              {field.state.meta.errors.map((error) => (
+                
+                  {error}
+                
+              ))}
+            
+
+        
+          {(field) => (
+            
+              
+              
 field.handleChange(e.target.value)}
+              />
+              {field.state.meta.errors.map((error) => (
+                
+                  {error}
+                
+              ))}
+            
+
+        
+      
+