GithubHelp home page GithubHelp logo

singer-tap-twinfield's Introduction

tap-twinfield

This is a Singer tap that produces JSON-formatted data following the Singer spec.

This tap:

  • Pulls raw data from Twinfield
  • Extracts the following resources:
    • 000 - General Ledger Transactions
    • 010 - Transactions still to be matched
    • 020 - Transaction List
    • 030_3 - General Ledger Details
    • 040_1 - Annual Report (Totals)
    • 060 - Annual Report (Totals Multicurrency)
    • 230_2 - Suppliers (v2)
    • 410 - Bank Transactions
    • 670 - Transaction Summary
  • Outputs the schema for each resource
  • Incrementally pulls data based on the input state

Step 1: Create an user

This user needs to have access to the reports.

Step 2: Configure

Create a file called twinfield_config.json in your working directory, following sample_config.json. The required parameters are the username, password, organisation and office.

This requires a state.json file to let the tap know from when to retrieve data. For example:

{
    "bookmarks": {
      "bank_transactions": {
        "start_date": "2021-01"
      },
      "general_ledger_details": {
        "start_date": "2021-01"
      }
    }
}

Will replicate bank transactions and general ledger details data from 2021-01-01.

Step 3: Install and Run

Create a virtual Python environment for this tap. This tap has been tested with Python 3.7, 3.8 and 3.9 and might run on future versions without problems.

python -m venv singer-twinfield
singer-twinfield/bin/python -m pip install --upgrade pip
singer-twinfield/bin/pip install git+https://github.com/Yoast/singer-tap-twinfield.git

This tap can be tested by piping the data to a local JSON target. For example:

Create a virtual Python environment with singer-json

python -m venv singer-json
singer-json/bin/python -m pip install --upgrade pip
singer-json/bin/pip install target-json

Test the tap:

singer-twinfield/bin/tap-twinfield --state state.json -c twinfield_config.json | singer-json/bin/target-json >> state_result.json

Copyright © 2021 Yoast

singer-tap-twinfield's People

Contributors

thijsvanloef avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.