agentsclimarketplace

Foreign currency invoicing

Skill skillim-hub/skills/foreign-currency-invoicing

Production-grade AI agent skills & MCP servers for the Israeli market — סקילים

Install
npx -y skills add skillim-hub/skills --skill foreign-currency-invoicing

Assembled from the repository path, not quoted from the project. Check it against their README if it does not work.

One thing to look at

  • 0 stars0 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.

What its author says it does

Copied from the file, not written here

Use this skill to prepare Israeli invoices, tax invoices, receipts, credit invoices, and internal accounting support files when the commercial price is stated in USD, EUR, GBP, JPY, CHF, or another foreign currency. Apply the Bank of Israel representative exchange rate, calculate VAT in NIS, and retain a clear audit trail.

SKILL.md

11.0 KB, ~2.4k tokens by cl100k_base, as published. Nobody here has run it

Foreign-Currency Invoicing

Use this skill to prepare Israeli invoices, tax invoices, receipts, credit invoices, and internal accounting support files when the commercial price is stated in USD, EUR, GBP, JPY, CHF, or another foreign currency. Apply the Bank of Israel representative exchange rate, calculate VAT in NIS, and retain a clear audit trail.

This guide is operational support, not legal or tax advice. Confirm unusual VAT classifications, permanent-establishment questions, export-service eligibility, and allocation-number obligations with a licensed Israeli accountant or tax adviser.

Core rule set

  1. Identify the document type: quotation, invoice, tax invoice, tax invoice/receipt, receipt, or credit invoice.
  2. Identify the tax event date that controls the exchange-rate date and the VAT rate.
  3. Source the representative exchange rate from the Bank of Israel for the relevant currency and date.
  4. For date-specific lookup, prefer the Bank of Israel SDMX series endpoint. Use the current public API only for current-day reference.
  5. If no rate is published for the exact date, use the most recent published representative rate before that date and document the reason.
  6. Convert the taxable base to NIS before calculating Israeli VAT.
  7. Apply the correct VAT treatment: standard, zero-rate, exempt, reverse charge, or outside scope.
  8. Show foreign-currency totals and NIS VAT totals clearly.
  9. Save the exchange-rate source, customer evidence, VAT classification notes, and generated JSON with the accounting records.

Decision tree

flowchart TD
    A[Start with transaction details] --> B{Is the document a tax document?}
    B -- No --> C[Prepare quote or pro-forma only; avoid VAT-booking entries]
    B -- Yes --> D{Is the price in foreign currency?}
    D -- No --> E[Calculate directly in NIS]
    D -- Yes --> F[Fetch Bank of Israel representative rate]
    F --> G{Rate exists for issue date?}
    G -- Yes --> H[Use that rate]
    G -- No --> I[Use most recent prior published rate and retain evidence]
    H --> J{VAT category}
    I --> J
    J -- Standard --> K[Convert net to NIS, calculate VAT at standard rate]
    J -- Zero-rate --> L[Set VAT to 0 and attach legal/evidence basis]
    J -- Exempt --> M[Set VAT to 0 and mark exempt revenue]
    J -- Reverse charge --> N[Do not charge Israeli output VAT; retain customer evidence]
    J -- Outside scope --> O[Do not report as Israeli taxable transaction]
    K --> P[Issue document and archive rate source]
    L --> P
    M --> P
    N --> P
    O --> P

Required invoice fields

Include at minimum:

  • Supplier name, address, VAT dealer number or exempt dealer status.
  • Customer name, address, tax identifier when available, and country.
  • Document type and sequential document number from the accounting system.
  • Issue date in DD/MM/YYYY format for Israeli records.
  • Currency code, foreign-currency line amounts, and payment terms.
  • Bank of Israel representative rate, rate date, endpoint URL, and unit where applicable.
  • NIS taxable base, NIS VAT amount, and NIS total.
  • VAT category and evidence note for every non-standard line.
  • Allocation number details when the accounting system and current Israel Invoices rules require them.

Exchange-rate handling

Use the representative exchange rate published by the Bank of Israel. Some currencies are quoted per 100 or another unit rather than per one currency unit. Always divide the quoted rate by the quoted unit before converting a line amount.

For date-specific automation, construct a Bank of Israel SDMX URL with a series such as RER_USD_ILS, the requested startPeriod, the same endPeriod, and format=csv. Store the URL and response payload. For current-day checks, the Bank of Israel public API also exposes PublicApi/GetExchangeRates and PublicApi/GetExchangeRate?key=USD.

Example for JPY:

Bank of Israel quoted rate: 2.4000 NIS
Quoted unit: 100 JPY
Effective rate: 0.024000 NIS per 1 JPY
Foreign amount: 100,000 JPY
NIS base: 2,400.00 NIS

When a rate is unavailable because the date is a weekend, holiday, future date, or non-publication day, use the most recent published prior representative rate. Do not use a later rate for a document already issued unless a corrected document is issued under the accounting system rules.

VAT treatment guide

CategoryUse whenVAT resultEvidence to retain
standardIsraeli customer or regular taxable Israeli supplyStandard VAT, usually 18% from 01/01/2025Invoice, contract, delivery proof
zeroQualifying zero-rated supply, commonly certain exports or qualifying foreign-resident services0% VATCustomer residency, contract, proof of use abroad, export or service facts
exemptSupply is exempt under VAT rules or supplier is exempt dealer where relevantNo VAT chargedExemption basis and dealer status
reverse_chargeCustomer accounts for tax under reverse-charge mechanics where applicableNo Israeli output VAT on supplier invoiceCustomer country, tax registration, contract
out_of_scopeTransaction is outside Israeli VAT scopeNo Israeli VATPlace-of-supply analysis

Do not treat every foreign-currency invoice as zero-rated. Currency is not the VAT test. The location of the customer, use of the service, place of supply, statutory exceptions, and retained evidence determine the treatment.

Concrete examples

USD freelance service to a foreign-resident business

Input:

{
  "currency": "USD",
  "issue_date": "02/06/2026",
  "exchange_rate": "3.70",
  "lines": [
    {
      "description": "Consulting services",
      "quantity": "10",
      "unit_price": "200.00",
      "vat_category": "zero",
      "note": "Foreign-resident business; contract and proof of use abroad retained."
    }
  ]
}

Result:

Net foreign: 2,000.00 USD
Net NIS: 7,400.00 ₪
VAT NIS: 0.00 ₪
Total foreign: 2,000.00 USD

EUR implementation for an Israeli customer

Net amount: 2,500.00 EUR
Representative rate: 4.02 ₪ per EUR
NIS taxable base: 10,050.00 ₪
VAT at 18%: 1,809.00 ₪
Total NIS accounting amount: 11,859.00 ₪

Mixed invoice with standard and zero-rated lines

Calculate each line with its own VAT category. Keep a separate VAT breakdown. Do not apply zero-rate to the whole invoice when only one line qualifies.

Edge cases

  • Advance payments: issue a receipt or tax invoice/receipt according to dealer type and accounting method. Use the rate relevant to the tax event date.
  • Credit invoice: use the original invoice currency and normally mirror the original exchange-rate basis unless professional guidance requires a current rate.
  • Partial refunds: allocate the refund to the original lines and VAT categories.
  • Cash-basis reporting: confirm the tax event date before selecting a rate.
  • Multiple currencies: issue separate documents or separate currency sections. Avoid mixing line currencies without a clear conversion table.
  • Payment received in NIS against a USD invoice: record foreign invoice totals and settlement differences separately.
  • Rounding differences: define whether rounding occurs per line or at document total. Use one method consistently.
  • Negative lines: prefer credit invoice workflows instead of negative line items unless the accounting system explicitly supports them.
  • Missing customer evidence: use standard VAT until eligibility for zero-rate or exemption is documented.
  • Unsupported currency: obtain the official representative rate if published, otherwise document a compliant alternative source with adviser approval.

Production checklist

  • Confirm document type and tax event date.
  • Confirm VAT dealer or exempt dealer status.
  • Confirm the standard VAT rate for the issue date.
  • Fetch and store the Bank of Israel rate URL and payload.
  • Preserve quoted unit for currencies such as JPY.
  • Validate customer residency and place of use for zero-rated services.
  • Record VAT in NIS.
  • Use sequential document numbering from the accounting system.
  • Check Israel Invoices allocation-number rules when the invoice type and amount bring the transaction into scope.
  • Store JSON output, PDF invoice, rate evidence, and customer evidence together.
  • Review exceptions with a licensed accountant before issuing.

Anti-patterns

  • Applying zero VAT only because the currency is USD or EUR.
  • Using a payment date rate when the invoice tax event date controls the document.
  • Using a later exchange rate for a backdated invoice.
  • Ignoring quoted units such as 100 JPY.
  • Omitting the NIS VAT amount from a tax invoice.
  • Mixing exempt and zero-rated terminology.
  • Hiding rounding differences in a free-text note instead of reconciling totals.
  • Editing an issued tax document instead of issuing a cancellation or credit document.

Troubleshooting summary

SymptomLikely causeAction
Rate not foundWeekend, holiday, unsupported currency, future date, or API downtimeSearch backward for the most recent published rate and retain evidence
VAT seems too highRate unit ignored or VAT applied twiceCheck unit, taxable base, and line category
Customer rejects NIS VATContract states only foreign totalAdd invoice clause explaining Israeli statutory VAT in NIS
Accounting import failsDate or decimal format mismatchUse DD/MM/YYYY for Israeli-facing exports and dot decimals in JSON
Zero-rate classification uncertainMissing evidence or exception appliesCharge standard VAT or obtain professional confirmation before issuing

CLI quick use

pip install -e .
pip install -r requirements-dev.txt

CREATE_RESPONSE=$(foreign-currency-invoicing create \
  --env sandbox \
  --currency USD \
  --issue-date 02/06/2026 \
  --exchange-rate 3.70 \
  --lines-json '[{"description":"Consulting","quantity":"1","unit_price":"500","vat_category":"standard"}]')

INVOICE_ID=$(python -c 'import json,sys; print(json.load(sys.stdin)["id"])' <<<"$CREATE_RESPONSE")
foreign-currency-invoicing show --env sandbox "$INVOICE_ID"

References in this package

  • references/api-reference.md: Bank of Israel endpoint shape, VAT/regulatory source list, response examples, and error tables.
  • references/workflow-guide.md: end-to-end workflows for common Israeli cases.
  • references/troubleshooting.md: detailed diagnosis and fixes.
  • references/test-scenarios.md: more than 20 concrete validation scenarios.
  • references/migration-checklist.md: migration from manual spreadsheets or older helpers.
  • references/verification-log.md: web validation findings and second-pass confirmation.
  • scripts/foreign_currency_invoicing_client.py: typed sync and async client.
  • scripts/foreign_currency_invoicing_cli.py: Click CLI implementation.

Keep looking

Skills are one crate of 328,083. Ordering is by how many stacks a row turns up in, so the top of any crate is what has actually been picked rather than what has the most stars.