Skip to main content
GET
/
v1
/
businesses
/
{businessId}
/
time-tracking
/
invoice-preview
Preview invoice from time entries
curl --request GET \
  --url https://sandbox.layerfi.com/v1/businesses/{businessId}/time-tracking/invoice-preview \
  --header 'Authorization: Bearer <token>'
import requests

url = "https://sandbox.layerfi.com/v1/businesses/{businessId}/time-tracking/invoice-preview"

headers = {"Authorization": "Bearer <token>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};

fetch('https://sandbox.layerfi.com/v1/businesses/{businessId}/time-tracking/invoice-preview', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://sandbox.layerfi.com/v1/businesses/{businessId}/time-tracking/invoice-preview",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://sandbox.layerfi.com/v1/businesses/{businessId}/time-tracking/invoice-preview"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "Bearer <token>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://sandbox.layerfi.com/v1/businesses/{businessId}/time-tracking/invoice-preview")
.header("Authorization", "Bearer <token>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://sandbox.layerfi.com/v1/businesses/{businessId}/time-tracking/invoice-preview")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'

response = http.request(request)
puts response.read_body
{
  "data": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "type": "Invoice",
    "business_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "external_id": "1",
    "sent_at": "2023-11-07T05:31:56Z",
    "due_at": "2023-11-07T05:31:56Z",
    "paid_at": "2023-11-07T05:31:56Z",
    "voided_at": "2023-11-07T05:31:56Z",
    "line_items": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "external_id": "<string>",
        "invoice_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "account_identifier": {
          "type": "AccountId",
          "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
        },
        "ledger_account": {
          "type": "Single_Chart_Account",
          "id": {
            "type": "AccountId",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          },
          "name": "Current Assets",
          "account_number": "4000",
          "stable_name": {
            "type": "StableName",
            "stable_name": "CURRENT_ASSETS"
          },
          "account_type": {
            "display_name": "Asset"
          },
          "account_subtype": {
            "display_name": "Current Assets"
          }
        },
        "prepayment_account": {
          "type": "Single_Chart_Account",
          "id": {
            "type": "AccountId",
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
          },
          "name": "Current Assets",
          "account_number": "4000",
          "stable_name": {
            "type": "StableName",
            "stable_name": "CURRENT_ASSETS"
          },
          "account_type": {
            "display_name": "Asset"
          },
          "account_subtype": {
            "display_name": "Current Assets"
          }
        },
        "description": "Widget sale",
        "product": "Widget",
        "unit_price": 123,
        "quantity": 123,
        "subtotal": 123,
        "discount_amount": 123,
        "sales_taxes_total": 123,
        "sales_taxes": [
          {
            "tax_account": {
              "name": "CALIFORNIA_VAT",
              "type": "Tax_Name"
            },
            "tax_ledger_account": {
              "id": "c4007474-f604-4d57-9690-b7f40f7a1cee",
              "name": "Sales tax: CALIFORNIA",
              "stable_name": "SALES_TAXES_PAYABLE:CALIFORNIA",
              "normality": "CREDIT",
              "account_type": {
                "value": "LIABILITY",
                "display_name": "Liabilities"
              },
              "account_subtype": {
                "value": "SALES_TAXES_PAYABLE",
                "display_name": "Sales Taxes Payable"
              }
            },
            "amount": 123
          }
        ],
        "total_amount": 123,
        "refund_allocations": [],
        "transaction_tags": [
          {
            "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "key": "ExampleTagKey",
            "value": "ExampleTagValue",
            "dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
            "dimension_display_name": "<string>",
            "value_display_name": "<string>",
            "archived_at": "2023-11-07T05:31:56Z"
          }
        ]
      }
    ],
    "subtotal": 123,
    "additional_discount": 123,
    "additional_sales_taxes_total": 123,
    "additional_sales_taxes": [
      {
        "tax_account": {
          "name": "CALIFORNIA_VAT",
          "type": "Tax_Name"
        },
        "tax_ledger_account": {
          "id": "c4007474-f604-4d57-9690-b7f40f7a1cee",
          "name": "Sales tax: CALIFORNIA",
          "stable_name": "SALES_TAXES_PAYABLE:CALIFORNIA",
          "normality": "CREDIT",
          "account_type": {
            "value": "LIABILITY",
            "display_name": "Liabilities"
          },
          "account_subtype": {
            "value": "SALES_TAXES_PAYABLE",
            "display_name": "Sales Taxes Payable"
          }
        },
        "amount": 123
      }
    ],
    "tips": 123,
    "total_amount": 123,
    "outstanding_balance": 123,
    "memo": "<string>",
    "payment_allocations": [],
    "refund_allocations": [],
    "imported_at": "2023-11-07T05:31:56Z",
    "updated_at": "2023-11-07T05:31:56Z",
    "transaction_tags": [
      {
        "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "key": "ExampleTagKey",
        "value": "ExampleTagValue",
        "dimension_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "definition_id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
        "dimension_display_name": "<string>",
        "value_display_name": "<string>",
        "archived_at": "2023-11-07T05:31:56Z"
      }
    ],
    "metadata": {
      "custom_field": "value",
      "any valid json": "below 1kb",
      "nested": {
        "meaning of life": 42,
        "array": []
      }
    },
    "reference_number": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

businessId
string<uuid>
required

The UUID of the business.

Query Parameters

customer_id
string<uuid>

The UUID of the customer. Either customer_id or customer_external_id must be provided.

customer_external_id
string

The external ID of the customer. Either customer_id or customer_external_id must be provided.

Response

Invoice preview generated successfully.

data
object
required