Xero 자동화
송장, 연락처, 결제, 은행 거래, 계정과목표 관리를 포함한 Xero 회계 작업을 자동화하여 중소기업 부기 업무를 지원합니다.
툴킷 문서: composio.dev/toolkits/xero
설정
이 스킬을 사용하려면 https://rube.app/mcp에 연결된 Rube MCP 서버가 필요합니다.
도구를 실행하기 전에 xero 툴킷에 대한 활성 연결이 있는지 확인하십시오. 활성 연결이 없으면 RUBE_MANAGE_CONNECTIONS를 통해 새 연결을 시작하십시오.
다중 테넌트: 여러 Xero 조직을 관리하는 경우, 먼저 XERO_GET_CONNECTIONS를 호출하여 활성 테넌트 목록을 확인하고 후속 호출에 올바른 tenant_id를 가져오십시오.
핵심 워크플로우
1. 송장 목록 조회 및 필터링
상태, 연락처, 날짜 범위 및 페이지네이션을 기준으로 송장을 검색합니다.
도구: XERO_LIST_INVOICES
주요 매개변수:
Statuses-- 쉼표로 구분된 상태 필터:"DRAFT","SUBMITTED","AUTHORISED","PAID"ContactIDs-- 쉼표로 구분된 연락처 ID로 필터링InvoiceIDs-- 쉼표로 구분된 송장 ID로 필터링where-- OData 스타일 필터 (예:"Status==\"AUTHORISED\" AND Total>100")order-- 정렬 표현식 (예:"Date DESC","InvoiceNumber ASC")page-- 페이지네이션을 위한 페이지 번호If-Modified-Since-- UTC 타임스탬프; 이 날짜 이후 수정된 송장만 반환tenant_id-- Xero 조직 ID (생략 시 첫 번째 테넌트 사용)
예시:
도구: XERO_LIST_INVOICES
인수:
Statuses: "AUTHORISED,PAID"
order: "Date DESC"
page: 1
2. 연락처 관리
송장 및 거래에 사용할 연락처를 검색하고 조회합니다.
도구: XERO_GET_CONTACTS
주요 매개변수:
searchTerm-- 이름, 성, 이메일, 연락처 번호에서 대소문자 구분 없는 검색ContactID-- 단일 연락처를 ID로 가져오기where-- OData 필터 (예:"ContactStatus==\"ACTIVE\"")page,pageSize-- 페이지네이션 제어order-- 정렬 (예:"UpdatedDateUTC DESC")includeArchived--true일 때 보관된 연락처 포함summaryOnly--true일 때 간소화된 응답
예시:
도구: XERO_GET_CONTACTS
인수:
searchTerm: "에이스"
page: 1
pageSize: 25
참고: 대용량 계정에서는 일부
where필터(예:IsCustomer,IsSupplier)가 Xero에서 거부될 수 있습니다.searchTerm또는 페이지네이션으로 대체하십시오.
3. 결제 생성
결제 기록을 생성하여 송장을 은행 계좌에 연결합니다.
도구: XERO_CREATE_PAYMENT
주요 매개변수:
InvoiceID(필수) -- 결제가 적용되는 Xero 송장 IDAccountID(필수) -- 결제를 위한 은행 계좌 IDAmount(필수) -- 결제 금액 (숫자)Date--YYYY-MM-DD형식의 결제일Reference-- 결제 참조 또는 설명CurrencyRate-- 외화 결제를 위한 환율
예시:
도구: XERO_CREATE_PAYMENT
인수:
InvoiceID: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
AccountID: "b2c3d4e5-f6a7-8901-bcde-f12345678901"
Amount: 1500.00
Date: "2026-02-11"
Reference: "INV-0042 결제"
4. 은행 거래 생성
지출(지불) 또는 수입(입금) 은행 거래를 기록합니다.
도구: XERO_CREATE_BANK_TRANSACTION
주요 매개변수:
Type(필수) --"SPEND"(지출) 또는"RECEIVE"(수입)ContactID(필수) -- Xero 연락처 IDBankAccountCode(필수) -- 계정과목표의 은행 계좌 코드LineItems(필수) -- 각 항목에 다음이 포함된 배열:Description(필수) -- 항목 설명UnitAmount(필수) -- 단가AccountCode(필수) -- 분류를 위한 계정 코드Quantity-- 수량 (기본값 1)TaxType-- 세금 유형:"OUTPUT","INPUT","NONE"
Date--YYYY-MM-DD형식의 거래일Reference-- 거래 참조Status--"AUTHORISED"또는"DELETED"CurrencyCode-- 예:"USD","EUR"
예시:
도구: XERO_CREATE_BANK_TRANSACTION
인수:
Type: "SPEND"
ContactID: "a1b2c3d4-e5f6-7890-abcd-ef1234567890"
BankAccountCode: "090"
LineItems: [
{
"Description": "사무용품",
"UnitAmount": 75.00,
"AccountCode": "429",
"Quantity": 1,
"TaxType": "INPUT"
}
]
Date: "2026-02-11"
Reference: "2월 사무용품"
5. 결제 및 은행 거래 조회
기존 결제 및 은행 거래 내역을 검토합니다.
도구:
XERO_LIST_PAYMENTS-- 송장과 은행 거래를 연결하는 결제 목록 조회XERO_LIST_BANK_TRANSACTIONS-- 지출/수입 은행 거래 목록 조회
공통 매개변수:
where-- OData 필터 (예:"Status==\"AUTHORISED\"")order-- 정렬 표현식 (예:"Date DESC")page-- 페이지네이션을 위한 페이지 번호If-Modified-Since-- 타임스탬프 이후 증분 업데이트tenant_id-- 조직 ID
6. 계정과목표 및 연결 조회
도구:
XERO_LIST_ACCOUNTS-- 거래 분류를 위한 모든 계정 코드 검색XERO_GET_CONNECTIONS-- 활성 Xero 테넌트 연결 목록 조회XERO_LIST_ATTACHMENTS-- 엔터티(송장, 연락처 등)의 첨부 파일 목록 조회
알려진 문제점
| 문제점 | 상세 설명 |
|---|---|
| 다중 테넌트 라우팅 | tenant_id를 생략하면 첫 번째 연결된 테넌트가 사용됩니다. 여러 조직을 관리할 때는 XERO_GET_CONNECTIONS로 올바른 테넌트를 항상 확인하십시오. |
| 대용량 필터 거부 | 대규모 계정에서는 IsCustomer/IsSupplier와 같은 일부 where 필터가 거부될 수 있습니다. 페이지네이션과 함께 searchTerm으로 대체하십시오. |
| OData 필터 구문 | OData 필터에서 이중 등호(==)를 사용하십시오 (예: Status==\"AUTHORISED\"). 단일 =는 오류를 발생시킵니다. |
| 페이지네이션 필수 | 대부분의 목록 엔드포인트는 결과를 페이지네이션합니다. 항상 추가 페이지가 있는지 확인하고 완료될 때까지 계속 가져오십시오. |
| 날짜 형식 | 모든 날짜는 YYYY-MM-DD 형식이어야 합니다. If-Modified-Since의 타임스탬프는 전체 ISO 8601 UTC 날짜/시간이어야 합니다. |
| 은행 계좌 코드 | 은행 거래의 BankAccountCode는 계정과목표의 유효한 코드와 일치해야 합니다. XERO_LIST_ACCOUNTS를 사용하여 유효한 코드를 찾으십시오. |
빠른 참조
| 도구 슬러그 | 설명 |
|---|---|
XERO_LIST_INVOICES | 필터링 및 페이지네이션으로 송장 목록 조회 |
XERO_GET_CONTACTS | 연락처 검색 및 조회 |
XERO_CREATE_PAYMENT | 송장을 은행 계좌에 연결하는 결제 생성 |
XERO_CREATE_BANK_TRANSACTION | 지출 또는 수입 은행 거래 기록 |
XERO_LIST_PAYMENTS | 결제 기록 목록 조회 |
XERO_LIST_BANK_TRANSACTIONS | 은행 거래 목록 조회 |
XERO_LIST_ACCOUNTS | 계정과목표 검색 |
XERO_GET_CONNECTIONS | 활성 Xero 테넌트 연결 목록 조회 |
XERO_LIST_ATTACHMENTS | 엔터티의 첨부 파일 목록 조회 |
Composio 제공