Integrations · MCP

Use Nefin in ChatGPT

Add Nefin as an app in ChatGPT and ask about your books in an ordinary chat: who owes you, how last quarter went, or a draft invoice for a new client. ChatGPT works as you and can do only what you can do.

Server URL
https://api-books.nefin.app/mcp
Paste this into ChatGPT when you create the app.

Before you start

  • ChatGPT on the web with Developer mode. OpenAI offers it on Pro, Plus, Business, Enterprise and Edu plans. See OpenAI’s Developer mode guide.
  • A Nefin account with two-step verification. If you haven’t set it up, Nefin walks you through it the first time you connect.
  • AI switched on for at least one company. An owner turns it on in Settings → Company. ChatGPT can only reach companies where AI is on.
  • The Professional or Business plan in Nefin. Starter companies show up as locked, with an upgrade link.

Add Nefin to ChatGPT

These steps are for a personal ChatGPT account. In a Business, Enterprise or Edu workspace an owner adds Nefin for everyone first. See Business, Enterprise and Edu workspaces.

1

Turn on Developer mode

In ChatGPT on the web, open your settings and switch on Developer mode. OpenAI lists the switch under Security and login. In some versions of ChatGPT it sits under the connector settings, in Advanced settings. ChatGPT’s menus change often, so if you don’t see it, follow OpenAI’s guide.

2

Create the app

Open ChatGPT’s apps and connectors settings and click the plus button to create a developer-mode app for a remote MCP server. Name it Nefin and paste the server URL:

https://api-books.nefin.app/mcp
3

Choose how ChatGPT signs in

For authentication choose OAuth. Open Advanced settings and leave the client ID and client secret empty. ChatGPT then registers itself with Nefin, the same as Claude does when you choose Register automatically.

Save the app.

4

Connect and allow access

Click Connect next to Nefin. Nefin opens in a new window. Sign in as usual, including your two-step code. Nefin shows which companies ChatGPT will reach and what it can do. The connection is read-only unless you turn on Allow changes, which lets ChatGPT create and update invoices, bills, payments and journal entries. Click Allow access and you go back to ChatGPT, where Nefin is now connected.

Business, Enterprise and Edu workspaces

On these plans an owner or admin creates the app once and publishes it for the workspace. Each member then connects with their own Nefin login, so everyone keeps their own permissions and the audit log shows who did what.

Owner or admin: add and publish the app

  1. In the workspace settings, allow Developer mode (it sits under permissions and roles). On Business only owners can. On Enterprise and Edu an owner can also give it to selected people.
  2. Create the app as in the steps above: name Nefin, the server URL, OAuth, and empty client ID and secret.
  3. In the workspace settings, open Apps, find the Nefin draft and Publish it. Nefin then appears for members with a Custom label. From there you can choose who may use it and which actions need a confirmation.

Members: connect your own account

  1. Open the apps settings in ChatGPT and find Nefin.
  2. Click Connect, sign in to Nefin and click Allow access.
Don’t share one Nefin login. Every member should connect with their own Nefin account. A shared login would make everyone work as one person, and the audit log could no longer tell them apart.

Use it in a chat

In a conversation, make sure Nefin is switched on for the chat. Apps you created in Developer mode appear in the message box’s Developer mode tool. Then just ask:

  • “List my Nefin companies.”
  • “Which invoices in Acme Ltd are overdue, and who owes the most?”
  • “In Acme Ltd, run the profit and loss for last quarter and compare it with the quarter before.”
  • “In Acme Ltd, draft an invoice for Bardhi SHPK: 10 hours of consulting at 45.00, standard VAT.”
  • “In Acme Ltd, show me every bill from Bardhi SHPK this year and the total we paid.”
  • “Get Nefin's guide for bank statements, then reconcile this statement for Acme Ltd.”
  • “Get Nefin's guide for payroll, then show me last month's payroll run in Acme Ltd.”
Name the company in your request

Start with the company, such as “in Acme Ltd, …”. If you have only one company, ChatGPT picks it for you. If you have several and don’t say which, ChatGPT asks you before it does anything.

Every answer says which company it used and links to the record in Nefin, so you can check it in one click.

Ask for the workflow first

Bigger jobs take several steps in a fixed order. Nefin keeps those steps in short guides that ChatGPT reads on demand with the get_guide tool. Nefin tells ChatGPT to fetch one before bank statement, payroll or tax payment work, and you can ask for one yourself. ChatGPT then follows the guide instead of guessing the order. The guides are:

  • bank_statements: importing a bank statement and reconciling it
  • payroll: running payroll
  • tax_payments: paying income tax, pension, VAT or a tax debt
  • errors: what to do when Nefin refuses something

For example: “Get Nefin’s guide for bank statements, then reconcile this statement for Acme Ltd.”

Amounts come back as exact decimals, so nothing gets rounded along the way.

What ChatGPT sees

When ChatGPT connects, Nefin sends it a short set of instructions and the list of tools. Nefin keeps its most important rules in the first 512 characters of its instructions: check the companies first with list_companies, fetch a guide with get_guide before a long job, and send amounts as decimal strings such as "1234.56". The long workflows are not in the instructions. ChatGPT reads them on demand.

Every tool says whether it only reads. Nefin marks its read tools as read-only, so ChatGPT can run lookups and reports without stopping to ask. Tools that create, correct or post things are not marked that way, so ChatGPT asks you to confirm each one.

What ChatGPT can do

Nefin gives ChatGPT 26 tools. Each one works in one company at a time, so name the company in your request. With one company ChatGPT uses it automatically. With several, ChatGPT asks which one you mean.

Read

Never changes anything.
list_companiesSee the companies you can work in and your role in each
get_guideRead the step-by-step guide for a bigger job, such as a bank statement or payrolltopic: bank_statements · payroll · tax_payments · errors
run_reportRun a financial report, such as profit and loss, balance sheet or agingtype: trial-balance · profit-loss · balance-sheet · aging-receivable · aging-payable · general-ledger · tax-summary · cash-flow · budget-vs-actuals · cash-projection · sales-book · purchase-book
search_recordsFind a contact, document, item or account by name or number
list_contactsList customers and vendors with what they owe or are owed, or open onetype: customer · vendor
list_documentsList invoices and bills, or open one with its lines and paymentsdocType: invoice · bill
list_setupList your accounts, items, VAT rates and stock levelskind: account · item · vat_rate · stock_level
list_journalsList journal entries, optionally for a date range or status
list_paymentsList payments received and paid, including drafts waiting to be connected
list_bank_accountsList your bank accounts with their balances and open statement lines
list_bank_transactionsList imported bank statement lines and whether each one is matched
get_bank_reconciliationCheck a bank account against its statement and see what explains the difference
get_payrollRead salaries, adjustments, payroll runs and payslips, or calculate a salary

Create and update drafts

Records and drafts. Nothing reaches the ledger yet.
save_contactAdd a customer or vendor, or update an existing onetype: customer · vendor · both
create_setupAdd a ledger account, an item or a VAT ratekind: account · item · vat_rate
create_documentCreate a draft invoice or billdocType: invoice · bill
import_bank_statementImport bank statement lines for matching; nothing is posted yet
set_salarySet or change how an employee is paid

Post, correct or delete

Flagged as destructive, so the AI app should confirm with you first.
update_documentChange an invoice or bill; new lines on an activated one reverse and re-post its entrydocType: invoice · bill
delete_documentDelete a draft or void invoice or billdocType: invoice · bill
activate_documentFinalize a draft invoice or bill and post it to the booksdocType: invoice · bill
record_paymentRecord a payment received or paid and apply it to invoices or bills
manage_journalCreate a manual journal entry as a draft, or post a draft to the books
reconcile_bank_linesBook imported statement lines as payments, transfers, fees or journal entries
mark_bank_period_reconciledMark a bank account as reconciled up to a statement date and lock that period
run_payrollCreate, approve and pay a payroll run, and manage recurring payroll adjustments
Tools that were renamed

Old names keep working for now, so saved prompts and scripts don’t break. Permissions and allowlist entries belong to a tool’s name, so set them again on the new tool.

  • get_contact → list_contacts
  • get_document → list_documents
  • list_accounts → list_setup
  • list_items → list_setup
  • list_vat_rates → list_setup
  • list_stock_levels → list_setup
  • list_draft_payments → list_payments
  • create_contact → save_contact
  • update_contact → save_contact
  • create_account → create_setup
  • create_item → create_setup
  • create_vat_rate → create_setup
  • create_invoice → create_document
  • create_bill → create_document
  • update_invoice → update_document
  • update_bill → update_document
  • delete_invoice → delete_document
  • delete_bill → delete_document
  • send_invoice → activate_document
  • receive_bill → activate_document
  • create_journal → manage_journal
  • post_journal → manage_journal
  • connect_draft_payment → record_payment

Staying in control

  • Read-only by default. When you connect, Nefin’s consent screen has an Allow changes switch that starts off. Leave it off and ChatGPT can look things up and run reports but cannot create or change anything.
  • Your permissions, nothing more. ChatGPT works as you in each company. If your role can’t post journals, neither can ChatGPT.
  • Everything is on the record. Changes appear in the audit log under your name.
  • ChatGPT asks first. It asks you to confirm actions that change your books. Read each one before you approve it.
  • Draft only. To let ChatGPT read and prepare drafts but never post, switch off the tools that post, correct or delete in the app’s tool settings (in a workspace, an admin does this for everyone): update_document, delete_document, activate_document, record_payment, manage_journal, reconcile_bank_lines, mark_bank_period_reconciled and run_payroll. To let it only read, keep Allow changes off.

To cut off access, go to Account → AI connectors in Nefin and click Disconnect next to ChatGPT. It takes effect immediately. To remove Nefin from ChatGPT as well, delete the app in ChatGPT’s settings.

Limits in each AI app

Every AI app has its own limits. This table shows what each one means for Nefin and what to do about it. The app on this page is first.

AI appTool namesLong instructionsSigning inApproving actionsAfter a change
ChatGPTNothing to set for Nefin's tools.Nefin keeps its most important rules in the first 512 characters of its instructions and puts long workflows behind get_guide. Ask ChatGPT to get the guide before a big job.Choose OAuth and leave the client ID and secret empty, so ChatGPT registers itself with Nefin.ChatGPT asks you to confirm actions that change data. Nefin marks its read tools as read-only, so lookups run without a prompt.Refresh the app in ChatGPT's connector settings after anything changes, then start a new chat.
Claude appsNothing to set. Tool names are capped at 64 characters and every Nefin tool name fits.Nothing to work around. For a long job, ask Claude to get Nefin's guide first.Choose Register automatically when you add the connector. Do not pick Use Claude's published identity, which Nefin does not support yet.Set each Nefin tool to Always allow, Needs approval or Blocked in Customize, Connectors.Start a new chat after anything changes. Each conversation keeps the tool list it started with.
Claude CodeNo limit to manage for Nefin's tools.Server instructions and each tool description are cut at 2 KB, so Nefin keeps long workflows behind get_guide. Ask Claude to get the guide before a big job.Run /mcp, choose nefin and pick Authenticate. Where no browser can open, send a personal token in the Authorization header instead.Claude Code asks before each tool you have not allowed. Allow the ones you trust in .claude/settings.json.Run /mcp and reconnect nefin after anything changes. A running session keeps the tool list it started with.
Cursor, VS Code, Gemini CLICursor loads about 40 tools across all connected servers and drops the rest. Turn off Nefin tools you don't use, or other servers. VS Code and Gemini CLI have no such cap for Nefin.Nothing to work around. For a long job, ask the agent to get Nefin's guide first.Add the server URL and sign in when the app opens Nefin in your browser. A personal token in the headers works in all three.Each app asks before it runs a tool unless you told it to trust or auto-run that tool. Leave that off for the tools that post.Toggle the server off and on in Cursor or VS Code, or restart Gemini CLI, after anything changes.
GeminiGemini Enterprise recommends at most 100 enabled actions per server, well above what Nefin has.No cut-off is documented. For a long job, ask Gemini to get Nefin's guide first.Nefin registers the app for you where the console supports it. Where it asks for a client ID and secret, register one with the command in the guide.The connection is read-only unless you turn on Allow changes when you connect. Check what Gemini proposes before you approve a change.Disconnect and reconnect Nefin in the app's settings after anything changes.

Troubleshooting

I can't find Developer mode
Developer mode is available on ChatGPT for the web on Pro, Plus, Business, Enterprise and Edu plans. On Business, Enterprise and Edu a workspace owner has to allow it first. Ask an owner to turn it on in the workspace settings, or to add Nefin for everyone.
Connecting fails or ChatGPT asks for a client ID
Open the app's authentication settings, choose OAuth and leave the client ID and client secret empty. Nefin registers ChatGPT automatically when the app connects. If your ChatGPT version insists on both values, register a client yourself with the command in the Advanced section of the Gemini guide, but change two things: set redirect_uris to the callback URL ChatGPT shows you (replace the Gemini Enterprise redirect URI in the command, which will not work for ChatGPT), and give client_name a name without the word Nefin, such as ChatGPT. Then paste the client_id and client_secret it returns. Open the Advanced section of the Gemini guide.
The Nefin sign-in page says AI features are not enabled
None of your companies has AI switched on. Ask an owner to turn it on in Settings, Company, then connect again.
ChatGPT answers without using Nefin
Check that Nefin is switched on for that chat (developer-mode apps appear in the Developer mode tool in the message box), and mention Nefin in your question.
ChatGPT says it can't find a company
ChatGPT only sees companies where AI is on and where you are an active member. Ask it to list your Nefin companies to see exactly what it can reach.
ChatGPT asked which company to use
You belong to more than one company, so ChatGPT asks before it does anything. Name one, for example "in Acme Ltd, ...". With only one company ChatGPT picks it for you.
ChatGPT doesn't see a tool or uses an old tool name
ChatGPT keeps the tool list it read when the app was added. Refresh the app in ChatGPT's connector settings, or remove it and add it again, then start a new chat.
A change was refused
The connection is read-only unless you turned on Allow changes when you connected. To change that, disconnect Nefin under Account, AI connectors, and connect again with Allow changes on. Your role in the company must also allow the action.
Nefin asks me to sign in again
That happens if you haven't used the connection for 30 days, or if it was disconnected in Nefin. Reconnect the app in ChatGPT and sign in.

Using a different AI app?

The same server works elsewhere. Nefin has a setup guide for Claude apps, Claude Code, Cursor, VS Code, Gemini CLI and Gemini. See all of them on the integrations page.