Passer au contenu principal
Metronome offre une source unique de vérité pour l’historique de facturation de vos clients, même si vous les avez initialement provisionnés en dehors de Metronome. Vous pouvez facilement importer des contrats et des factures existants dans Metronome. Ce guide décrit comment importer un exemple de contrat et ses factures correspondantes avec l’API Metronome. Vous pouvez également utiliser le SDK Metronome pour importer des factures existantes.

Cas d’usage

L’entreprise fictive utilisée dans ce guide, appelée Acme Inc, est un nouveau client Metronome. Dans cet exemple, la date d’aujourd’hui est le 15 août 2024. Acme Inc a un contrat en dehors de Metronome avec un calendrier de facturation mensuel qui a commencé le 1er juin 2024. Les factures de juin et juillet ont déjà été émises en dehors de Metronome.

Créer le contrat

Tout d’abord, créez le contrat à l’aide du point de terminaison /contracts/create, en saisissant les détails du contrat d’origine (par exemple, les soldes initiaux d’engagement/de crédit et la date de début). Définissez le champ usage_statement_schedule.invoice_generation_starting_at pour indiquer quand Metronome doit commencer à générer des factures. Dans notre exemple, cette date est le 1er août 2024, puisque le client n’a pas encore été facturé pour août.
POST /v1/contracts/create HTTP/1.1  
Host: api.metronome.com  
Authorization: Bearer <TOKEN>  
Content-Type: application/json  

{  
  "customer_id": "<the Metronome customer ID>",  
  "rate_card_id": "<the Metronome rate card ID>",  
  "starting_at": "2024-06-01T00:00:00.000Z",  
  "usage_statement_schedule": {  
    "frequency": "monthly",  
    "invoice_generation_starting_at": "2024-08-01T00:00:00.000Z"  
  }  
}
Une fois le contrat créé, Metronome génère une facture brouillon pour août. Aucune facture n’est créée pour juin et juillet.

Importer les factures

Après avoir créé le contrat, importez les factures correspondantes avec le point de terminaison /contracts/createHistoricalInvoices. Tout ce dont vous aurez besoin, ce sont les quantités pour chaque poste de la facture. Metronome les combine avec les prix unitaires spécifiés sur le contrat pour calculer le montant total de la facture et les effets sur les soldes de crédit et d’engagement du client.
POST /v1/contracts/createHistoricalInvoices HTTP/1.1  
Host: api.metronome.com  
Authorization: Bearer <TOKEN>  
Content-Type: application/json  

{  
  "invoices": [  
    {  
      "customer_id": "<the Metronome customer ID>",  
      "contract_id": "<the Metronome contract ID>",  
      "credit_type_id": "<the Metronome credit type ID>",  
      "inclusive_start_date": "2024-06-01T00:00:00.000Z",  
      "exclusive_end_date": "2024-07-01T00:00:00.000Z",  
      "issue_date": "2024-07-03T00:00:00.000Z",  
      "usage_line_items": [  
        {  
          "product_id": "<the Metronome product ID>",  
          "inclusive_start_date": "2024-06-01T00:00:00.000Z",  
          "exclusive_end_date": "2024-07-01T00:00:00.000Z",  
          "quantity": 10  
        }  
      ]  
    },  
    {  
      "customer_id": "<the Metronome customer ID>",  
      "contract_id": "<the Metronome contract ID>",  
      "credit_type_id": "<the Metronome credit type ID>",  
      "inclusive_start_date": "2024-07-01T00:00:00.000Z",  
      "exclusive_end_date": "2024-08-01T00:00:00.000Z",  
      "issue_date": "2024-08-03T00:00:00.000Z",  
      "usage_line_items": [  
        {  
          "product_id": "<the Metronome product ID>",  
          "inclusive_start_date": "2024-07-01T00:00:00.000Z",  
          "exclusive_end_date": "2024-08-01T00:00:00.000Z",  
          "quantity": 20  
        }  
      ]  
    }  
  ],  
  "preview": true  
}
ASTUCEUtilisez l’option preview pour effectuer une simulation d’import afin de vérifier toute différence entre les factures existantes et importées avant de les enregistrer.
Accédez aux factures importées dans la page Contracts de l’application Metronome ou via l’API.

(Facultatif) Importer des ventilations horaires ou quotidiennes

Pour utiliser Metronome afin de récupérer des ventilations horaires ou quotidiennes de l’usage et des coûts client, spécifiez des quantités à fenêtre de temps en remplissant le champ subtotals_with_quantity du poste au lieu du champ quantity. Spécifiez le breakdown_granularity de la facture. Lors de la génération de la facture pour toute la période de facturation, Metronome additionne les sous-totaux de chaque fenêtre.
POST /v1/contracts/createHistoricalInvoices HTTP/1.1  
Host: api.metronome.com  
Authorization: Bearer <TOKEN>  
Content-Type: application/json  

{  
  "invoices": [  
    {  
      "customer_id": "<the Metronome customer ID>",  
      "contract_id": "<the Metronome contract ID>",  
      "credit_type_id": "<the Metronome credit type ID>",  
      "inclusive_start_date": "2024-06-01T00:00:00.000Z",  
      "exclusive_end_date": "2024-07-01T00:00:00.000Z",  
      "issue_date": "2024-07-03T00:00:00.000Z",  
      "breakdown_granularity": "day",  
      "usage_line_items": [  
        {  
          "product_id": "<the Metronome product ID>",  
          "inclusive_start_date": "2024-06-01T00:00:00.000Z",  
          "exclusive_end_date": "2024-07-01T00:00:00Z",  
          "subtotals_with_quantity": [  
            {  
              "inclusive_start_date": "2024-06-01T00:00:00.000Z",  
              "exclusive_end_date": "2024-06-02T00:00:00.000Z",  
              "quantity": 1  
            }  
          ]  
        }  
      ]  
    }  
  ],  
  "preview": true  
}
INFOMetronome n’envoie pas les factures importées à l’intégration Stripe. Cela évite d’envoyer des factures en double aux clients.