Invoice Ninja

Open-source online invoicing app for freelancers & businesses

Integrate the Invoice Ninja API with the Python API

Setup the Invoice Ninja API trigger to run a workflow which integrates with the Python API. Pipedream's integration platform allows you to integrate Invoice Ninja and Python remarkably fast. Free for developers.

Run Python Code with the Python API

Write Python and use any of the 350k+ PyPi packages available. Refer to the Pipedream Python docs to learn more.

 
Try it

Overview of Invoice Ninja

The Invoice Ninja API lets you create, view, update, and delete elements of your invoicing process such as invoices, clients, payments, and products. Leveraging this API on Pipedream allows you to automate invoice generation, synchronize client data across platforms, and trigger actions based on payment statuses. With Pipedream's serverless platform, you can connect Invoice Ninja to numerous apps and orchestrate workflows that save time, reduce errors, and enhance data consistency.

Connect Invoice Ninja

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import { axios } from "@pipedream/platform"
export default defineComponent({
  props: {
    invoice_ninja: {
      type: "app",
      app: "invoice_ninja",
    }
  },
  async run({steps, $}) {
    return await axios($, {
      url: `${this.invoice_ninja.$auth.domain}/api/v1/clients`,
      headers: {
        "X-Ninja-Token": `${this.invoice_ninja.$auth.api_token}`,
      },
    })
  },
})

Overview of Python

Develop, run and deploy your Python code in Pipedream workflows. Integrate seamlessly between no-code steps, with connected accounts, or integrate Data Stores and manipulate files within a workflow.

This includes installing PyPI packages, within your code without having to manage a requirements.txt file or running pip.

Below is an example of using Python to access data from the trigger of the workflow, and sharing it with subsequent workflow steps:

Connect Python

1
2
3
4
5
def handler(pd: "pipedream"):
  # Reference data from previous steps
  print(pd.steps["trigger"]["context"]["id"])
  # Return data for use in future steps
  return {"foo": {"test":True}}