Broker CRM
Construire avec Agent IA
Backend CRM de courtier en logistique

Modèle de backend CRM de courtier en logistique
Vérification des transporteurs, Visibilité des chargements et Commissions des courtiers

Un backend de CRM de courtier en logistique prêt à la production sur Back4app avec Utilisateur, Transporteur, Chargement, VettingCheck, TrackingEvent, et CommissionEntry. Utilisez-le pour vérifier les transporteurs, attribuer des chargements, publier des mises à jour de suivi et enregistrer des commissions depuis un seul backend.

Points clés de la plateforme de courtage

Ce modèle vous offre un backend CRM de courtage logistique avec vérification des transporteurs, suivi des chargements, et calculs de commissions afin que votre équipe puisse gérer le pipeline de l'appel initial au paiement.

  1. Flux de travail de vérification des transporteursModèle de transporteur et Vérification afin que les coordinateurs puissent approuver les transporteurs avec des notes documentées et un statut.
  2. Suivi de chargement en temps réelSuivez les entrées de Chargement et d'Événements de Suivi au fur et à mesure que les mises à jour d'expédition arrivent du terrain.
  3. Calculs de commissionsStockez les lignes d'Entrée de Commission liées aux enregistrements de Chargement afin que les frais de courtage et les paiements soient plus faciles à concilier.
  4. Opérations sensibles au rôleUtilisez les règles ACL et CLP pour des rôles utilisateurs tels que courtier, coordinateur et administrateur.
  5. Un backend pour le web et le mobileServez React, Flutter, Next.js, et des applications natives via la même API REST et GraphQL.

Comprendre le backend CRM des courtiers en logistique

Les délais dans le CRM des courtiers en logistique sont rarement facultatifs ; une couche d'enregistrement structurée transforme les dates en alertes au lieu de surprises. La solution est opérationnelle, pas motivationnelle. Avec Carrier, Load, VettingCheck, TrackingEvent et CommissionEntry sur Back4app, les équipes du CRM des courtiers en logistique peuvent assurer la séparation des fonctions tout en collaborant sur le même enregistrement de cas. Le schéma couvre User (nom d'utilisateur, email, rôle, nom affiché), Carrier (nom du transporteur, numéro mc, numéro dot, statut, expiration de l'assurance, assigné à), Load (numéro de chargement, ville de ramassage, ville de livraison, statut, transporteur, courtier, tarif), VettingCheck (transporteur, vérifié par, type de vérification, résultat, notes, vérifié à), TrackingEvent (charge, texte de localisation, statut, rapporté par, heure de l'événement), et CommissionEntry (charge, courtier, taux de commission, montant de la commission, calculé à) avec des contrôles d'authentification et de workflow intégrés. Connectez votre frontend préféré et gérez le pipeline depuis un seul backend.

Meilleur pour :

CRMs de courtiers en logistiqueTableaux de bord de vérification des transporteursPortails de suivi de chargementOutils de rapprochement des commissionsMVPs des opérations de courtageÉquipes choisissant BaaS pour les flux de travail de fret

CRM de courtier en logistique : aperçu du backend

La formation aide dans le CRM du courtier en logistique, mais elle ne peut pas compenser les données qui se répartissent sur trois outils et quatre conventions de nommage.

Utilisez cet aperçu pour voir comment Carrier, Load et VettingCheck s'intègrent avant de consacrer du temps d'ingénierie à un cadre client spécifique.

Fonctionnalités des opérations de courtier

Chaque carte technologique dans ce hub utilise le même schéma logistique avec User, Carrier, Load, VettingCheck, TrackingEvent et CommissionEntry.

Documents de vérification des transporteurs

Le transporteur et VettingCheck stockent mcNumber, statut, notes et checkedAt.

Chronologie du suivi de chargement

Charge et CaptureTrackingEvent enregistrent pickupCity, deliveryCity, statut et eventTime.

Calcul des commissions

CommissionEntry lie une charge à un courtier, un taux de commission, un montant de commission et une date de calcul.

Contrôle du flux de travail des courtiers

Les rôles d'utilisateur maintiennent les courtiers, les coordinateurs et les administrateurs séparés.

Pourquoi construire votre backend CRM de courtier en logistique avec Back4app ?

Back4app offre aux équipes logistiques un parcours clair pour le dépistage des transporteurs, la visibilité des chargements et le suivi des commissions, de sorte que le backend reste concentré sur les opérations de fret plutôt que sur la maintenance des serveurs.

  • Flux de travail transporteur et chargement dans un seul modèle: Les classes Transporteur, Chargement et VettingCheck gardent les décisions de validation proches du fret qu'elles affectent.
  • Les calculs de commission restent traçables: Les lignes CommissionEntry liées à chaque Chargement facilitent l'examen des paiements et les vérifications de litige.
  • En temps réel là où le dispatch en a besoin: Live Queries peut pousser les modifications de TrackingEvent tandis que REST et GraphQL continuent de servir les courtiers et les analystes.

Exécutez le dépistage des transporteurs, le statut des chargements et la réconciliation des commissions à partir d'un seul contrat backend pour chaque client.

Avantages du bureau de courtage

Un backend CRM pour courtiers logistiques qui aide votre équipe à travailler plus rapidement sans perdre le contrôle des données de transporteur, de charge ou de commission.

Dépistage des transporteurs plus clair

Stockez les détails des transporteurs et du VettingCheck en un seul endroit afin que les notes de vérification soient faciles à consulter.

Moins de friction lors de l'expédition

Utilisez les mises à jour de Chargement et d'Événement de Suivi pour montrer l'avancement de l'expédition aux courtiers et aux clients.

La révision des commissions est plus simple

Liez chaque ligne d'Entrée de Commission à un Chargement et à un utilisateur courtier pour la réconciliation des paiements.

Accès basé sur les rôles pour l'équipe

Appliquez les règles ACL et CLP afin que seuls les rôles d'utilisateur appropriés puissent modifier les champs de vérification ou de paiement.

Modèle partagé à travers les canaux

Le même schéma alimente les tableaux de bord web, les outils d'expédition mobile et les rapports de bureau.

Lancement plus rapide des outils d'opérations

Utilisez l'invite de l'agent IA pour démarrer le CRM de fret sans rédiger le schéma à partir de zéro.

Prêt à lancer votre CRM de courtier logistique ?

Laissez l'agent IA de Back4app créer votre backend de CRM de courtier logistique et générer la vérification des transporteurs, le suivi des charges et la gestion des commissions à partir d'une seule invite.

Gratuit pour commencer — 50 invites d'agent IA/mois, pas de carte de crédit requise

Pile technologique de courtier

Tout est inclus dans ce modèle de backend CRM pour courtiers en logistique.

Frontend
13+ technologies
Backend
Back4app
Base de données
MongoDB
Auth
Authentification intégrée + sessions
API
REST et GraphQL
Temps réel
Live Queries

Carte ER Transporteur-Charge

Modèle de relation d'entités pour le schéma backend CRM du courtier en logistique.

Voir la source du diagramme
Mermaid
erDiagram
    User ||--o{ Carrier : "assignedTo"
    User ||--o{ Load : "broker"
    User ||--o{ CommissionEntry : "broker"
    User ||--o{ VettingCheck : "checkedBy"
    User ||--o{ TrackingEvent : "reportedBy"
    Carrier ||--o{ Load : "carrier"
    Carrier ||--o{ VettingCheck : "carrier"
    Load ||--o{ CommissionEntry : "load"
    Load ||--o{ TrackingEvent : "load"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        String displayName
        Date createdAt
        Date updatedAt
    }

    Carrier {
        String objectId PK
        String carrierName
        String mcNumber
        String dotNumber
        String status
        Date insuranceExpiration
        String assignedToId FK
        Date createdAt
        Date updatedAt
    }

    Load {
        String objectId PK
        String loadNumber
        String pickupCity
        String deliveryCity
        String status
        String carrierId FK
        String brokerId FK
        Number rate
        Date createdAt
        Date updatedAt
    }

    CommissionEntry {
        String objectId PK
        String loadId FK
        String brokerId FK
        Number commissionRate
        Number commissionAmount
        Date calculatedAt
        Date createdAt
        Date updatedAt
    }

    VettingCheck {
        String objectId PK
        String carrierId FK
        String checkedById FK
        String checkType
        String result
        String notes
        Date checkedAt
        Date createdAt
        Date updatedAt
    }

    TrackingEvent {
        String objectId PK
        String loadId FK
        String locationText
        String status
        String reportedById FK
        Date eventTime
        Date createdAt
        Date updatedAt
    }

Flux d'intégration du bureau de courtage

Flux d'exécution typique pour l'authentification, la vérification des transporteurs, le suivi des chargements et la révision des commissions.

Voir la source du diagramme
Mermaid
sequenceDiagram
  participant User
  participant CRM as Logistics Broker CRM App
  participant Back4app as Back4app Cloud

  User->>CRM: Sign in to broker desk
  CRM->>Back4app: POST /login
  Back4app-->>CRM: Session token

  User->>CRM: Review carrier vetting queue
  CRM->>Back4app: GET /classes/Carrier?order=-updatedAt
  Back4app-->>CRM: Carrier list with status and mcNumber

  User->>CRM: Open a load and assign carrier
  CRM->>Back4app: PUT /classes/Load/{objectId}
  Back4app-->>CRM: Updated load with carrier pointer

  User->>CRM: Record tracking event
  CRM->>Back4app: POST /classes/TrackingEvent
  Back4app-->>CRM: TrackingEvent objectId

  User->>CRM: Save commission calculation
  CRM->>Back4app: POST /classes/CommissionEntry
  Back4app-->>CRM: CommissionEntry objectId

Guide de terrain du courtier

Référence complète au niveau du terrain pour chaque classe dans le schéma CRM du courtier en logistique.

ChampTypeDescriptionRequis
objectIdStringAuto-generated unique identifierAuto
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user (e.g., broker, coordinator, admin)
displayNameStringPublic name used in the broker desk
createdAtDateAuto-generated creation timestampAuto
updatedAtDateAuto-generated last-update timestampAuto

8 champs dans User

Règles d'accès pour les données des courtiers

Comment la stratégie ACL et CLP sécurise les utilisateurs, les transporteurs, les chargements, les vérifications de conformité, les événements de suivi et les dossiers de commissions.

Règles d'accès détenues par le courtier

Les profils des utilisateurs ne peuvent être modifiés que par l'utilisateur authentifié, tandis que les rôles d'administrateur peuvent gérer l'accès de l'équipe.

Contrôles de vérification des transporteurs

Seul le personnel autorisé doit créer ou modifier les données de vérification des transporteurs et les résultats de Vérification.

Charger et mettre en service les limites

Restreindre les mises à jour de Charge et les modifications de CommissionEntry aux rôles assignés, puis valider les modifications de paiement dans Cloud Code.

Schéma JSON

Définition de schéma JSON brute prête à être copiée dans Back4app ou à utiliser comme référence d'implémentation.

JSON
{
  "classes": [
    {
      "className": "User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "displayName": {
          "type": "String",
          "required": false
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Carrier",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "carrierName": {
          "type": "String",
          "required": true
        },
        "mcNumber": {
          "type": "String",
          "required": true
        },
        "dotNumber": {
          "type": "String",
          "required": false
        },
        "status": {
          "type": "String",
          "required": true
        },
        "insuranceExpiration": {
          "type": "Date",
          "required": false
        },
        "assignedTo": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Load",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "loadNumber": {
          "type": "String",
          "required": true
        },
        "pickupCity": {
          "type": "String",
          "required": true
        },
        "deliveryCity": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "carrier": {
          "type": "Pointer",
          "required": false,
          "targetClass": "Carrier"
        },
        "broker": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "rate": {
          "type": "Number",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "CommissionEntry",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "load": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Load"
        },
        "broker": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "commissionRate": {
          "type": "Number",
          "required": true
        },
        "commissionAmount": {
          "type": "Number",
          "required": true
        },
        "calculatedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "VettingCheck",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "carrier": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Carrier"
        },
        "checkedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "checkType": {
          "type": "String",
          "required": true
        },
        "result": {
          "type": "String",
          "required": true
        },
        "notes": {
          "type": "String",
          "required": false
        },
        "checkedAt": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "TrackingEvent",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "load": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Load"
        },
        "locationText": {
          "type": "String",
          "required": true
        },
        "status": {
          "type": "String",
          "required": true
        },
        "reportedBy": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "eventTime": {
          "type": "Date",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

Invite de création d'agent IA

Utilisez l'agent IA Back4app pour générer une application CRM de courtier en logistique réelle à partir de ce modèle, y compris les flux frontend, backend, d'authentification, de transporteur, de charge et de commission.

Agent IA Back4app
Prêt à construire
Créez un backend d'application CRM de courtier en logistique sur Back4app avec ce schéma et ce comportement exacts.

Schéma:
1. Utilisateur (utiliser l'authentification intégrée de Back4app): nom d'utilisateur, email, mot de passe, rôle, nom d'affichage; objectId, createdAt, updatedAt (système).
2. Transporteur: nomTransporteur (Chaîne, requis), mcNumber (Chaîne, requis), dotNumber (Chaîne, facultatif), statut (Chaîne, requis), expirationAssurance (Date, facultatif), assignéÀ (Pointeur vers Utilisateur, requis); objectId, createdAt, updatedAt (système).
3. Chargement: numéroChargement (Chaîne, requis), villeRamassage (Chaîne, requis), villeLivraison (Chaîne, requis), statut (Chaîne, requis), transporteur (Pointeur vers Transporteur, facultatif), courtier (Pointeur vers Utilisateur, requis), tarif (Nombre, requis); objectId, createdAt, updatedAt (système).
4. CommissionEntry: chargement (Pointeur vers Chargement, requis), courtier (Pointeur vers Utilisateur, requis), tauxCommission (Nombre, requis), montantCommission (Nombre, requis), calculéÀ (Date, requis); objectId, createdAt, updatedAt (système).
5. VettingCheck: transporteur (Pointeur vers Transporteur, requis), vérifiéPar (Pointeur vers Utilisateur, requis), typeVérification (Chaîne, requis), résultat (Chaîne, requis), notes (Chaîne, facultatif), vérifiéÀ (Date, requis); objectId, createdAt, updatedAt (système).
6. ÉvénementSuivi: chargement (Pointeur vers Chargement, requis), texteEmplacement (Chaîne, requis), statut (Chaîne, requis), signaléPar (Pointeur vers Utilisateur, requis), tempsÉvénement (Date, requis); objectId, createdAt, updatedAt (système).

Sécurité:
- Les courtiers et les coordinateurs peuvent créer et mettre à jour les transporteurs, les chargements, les vérifications de validation, les événements de suivi et les entrées de commission assignées à leur bureau.
- Les modifications de validation des transporteurs doivent être limitées aux administrateurs et au personnel assigné.
- Les chargements doivent uniquement accepter des pointeurs de transporteur qui référencent des dossiers de Transporteur approuvés.
- CommissionEntry doit être modifiable uniquement par le personnel de courtage authentifié, avec le montantCommission dérivé de load.rate et tauxCommission.

Auth:
- Inscription, connexion, déconnexion.

Comportement:
- Vérifier les transporteurs par mcNumber, dotNumber, statut, et expirationAssurance.
- Réserver des chargements, attacher des transporteurs, publier des événements de suivi, et calculer des commissions à partir du tarif de chargement.
- Afficher les enregistrements récents d'ÉvénementSuivi et de VérificationValidation sur le tableau de bord.

Livraison:
- Application Back4app avec schéma, CLPs, ACLs, données d'exemple, et un frontend orienté courtier pour la validation des transporteurs, le suivi des chargements, et les calculs de commissions.

Appuyez sur le bouton ci-dessous pour ouvrir l'agent avec cette invite de modèle pré-remplie.

Ceci est l'invite de base sans suffixe technologique. Vous pouvez adapter la pile frontend générée par la suite.

Déployer en quelques minutes50 invites gratuites / moisAucune carte de crédit requise

Sandbox API de courtier

Testez les endpoints REST et GraphQL contre le schéma CRM du courtier en logistique. Les réponses utilisent des données factices et ne nécessitent pas de compte Back4app.

Chargement du terrain de jeu…

Utilise le même schéma que ce modèle.

Choisissez votre stack

Développez chaque carte pour voir comment intégrer Carrier, Load et VettingCheck avec votre pile choisie.

Flutter CRM de courtier logistique Backend

React CRM de courtier logistique Backend

React Natif CRM de courtier logistique Backend

Next.js CRM de courtier logistique Backend

JavaScript CRM de courtier logistique Backend

Android CRM de courtier logistique Backend

iOS CRM de courtier logistique Backend

Vue CRM de courtier logistique Backend

Angular CRM de courtier logistique Backend

GraphQL CRM de courtier logistique Backend

REST API CRM de courtier logistique Backend

PHP CRM de courtier logistique Backend

.NET CRM de courtier logistique Backend

Ce que vous obtenez avec chaque technologie

Chaque pile utilise le même schéma de backend CRM de courtier logistique et des contrats API.

Structure de flux de travail de fret unifiée

Gérez les transporteurs, les charges, les vérifications de validation et les commissions avec un schéma cohérent.

Vérification des transporteurs pour les équipes opérationnelles

Stockez le statut de validation, les détails de l'assurance et les notes des examinateurs pour chaque transporteur.

Suivi des charges pour les courtiers et les clients

Suivez chaque chargement avec des mises à jour d'événements que les répartiteurs et les représentants de compte peuvent lire.

Visibilité des commissions pour l'examen des paiements

Liez chaque CommissionEntry à un chargement et un utilisateur courtier afin de faciliter la confirmation du règlement.

API REST/GraphQL pour les clients en logistique

Connectez des tableaux de bord, des outils mobiles et des systèmes de reporting avec un backend unique.

Architecture de flux de travail extensible

Ajoutez des tarifs, des documents ou des réclamations plus tard sans reconstruire le modèle CRM central.

Comparaison du cadre du portail client

Comparez la vitesse de configuration, le style du SDK et le support AI parmi toutes les technologies prises en charge.

CadreTemps de configurationAvantage CRM du courtier logistiqueType de SDKSupport AI
Environ 5 minutesCodebase unique pour le CRM des courtiers sur mobile et web.SDK typéComplet
Moins de 5 minutesTableau de bord web rapide pour l'évaluation des transporteurs et les chargements.SDK typéComplet
~3–7 minApplication mobile multiplateforme pour l'expédition et les commissions.SDK typéComplet
Configuration rapide (5 min)Espace de travail des courtiers rendu côté serveur pour les équipes opérationnelles.SDK typéComplet
~3–5 minIntégration web légère pour le CRM logistique.SDK tapéComplet
Environ 5 minApplication Android native pour l'envoi et la vérification sur le terrain.SDK tapéComplet
Moins de 5 minutesApplication iOS native pour les courtiers en déplacement.SDK tapéComplet
~3–7 minInterface web React pour les vues de transporteur et de chargement.SDK tapéComplet
Configuration rapide (5 min)Application web d'entreprise pour les opérations de courtier.SDK tapéComplet
Moins de 2 minAPI GraphQL flexible pour les tableaux de bord CRM des courtiers.API GraphQLComplet
Configuration rapide (2 min)REST API intégration pour la vérification et le suivi des transporteurs.REST APIComplet
~3 minPHP backend côté serveur pour les opérations de fret.REST APIComplet
~3–7 min.NET backend pour les services CRM de courtier.SDK typéComplet

Le temps de configuration reflète la durée attendue depuis le démarrage du projet jusqu'à la première requête de transporteur, de chargement ou de commission utilisant ce schéma de modèle.

Questions sur le CRM des courtiers

Questions courantes sur la création d'un backend de CRM pour courtiers en logistique avec ce modèle.

À quoi ressemble un pipeline CRM de courtier en logistique sain lorsque le travail est sensible et axé sur les délais ?
Comment les équipes CRM de courtier en logistique devraient-elles modéliser les clients, les affaires et les transferts internes sans ambiguïté ?
Cette couche CRM de courtier en logistique peut-elle croître avec de nouveaux types de dossiers et canaux d'admission ?
Comment puis-je exécuter des requêtes pour les transporteurs et les charges avec Flutter ?
Comment gérer les autorisations de courtier avec Next.js Server Actions ?
React Native peut-il mettre en cache la vérification des transporteurs et le suivi des charges hors ligne ?
Comment empêcher les mises à jour non autorisées des transporteurs ?
Quelle est la meilleure façon d'afficher l'état de la commission sur Android ?
Comment fonctionne le flux de suivi des charges de bout en bout ?
Quelles classes alimentent ce modèle de CRM pour courtiers en logistique ?

Fiable pour les développeurs du monde entier

Rejoignez des équipes expédiant des produits CRM de courtier en logistique plus rapidement avec les modèles Back4app

G2 Users Love Us Badge

Prêt à construire votre CRM de courtier en logistique ?

Commencez votre projet de CRM de courtier logistique en quelques minutes. Aucune carte de crédit requise.

Choisissez la technologie