Fakturindocs

Events and errors

Every event and custom error emitted by Fakturin contracts.

Events

ContractEventWhen
RegistryVerificationRequested(bytes32 indexed invoiceId, address indexed seller, string fakturNumber)Seller submits. Triggers the CRE verify workflow.
RegistryInvoiceVerified(bytes32 indexed invoiceId, address indexed vault, uint256 nominal, uint256 target, uint64 dueDate)Valid result, vault created
RegistryInvoiceRejected(bytes32 indexed invoiceId, uint8 code)Rejected result
RegistryInvoiceStatusChanged(bytes32 indexed invoiceId, Status status, address actor)Every transition
RegistrySellerFlagged(address indexed seller, bytes32 indexed invoiceId)Default
RegistryIdentityConfigured(...), ParametersUpdated(address actor)Admin changes
VaultFunded(uint256 advance, uint256 holdback)Target reached, seller paid
VaultRepaid(address indexed payer, uint256 amount, uint256 holdbackReturned, uint256 fee)Repayment
VaultDefaulted(address indexed caller)Default
VaultFundingCancelled(address indexed caller)Funding failed
VaultDeposit, Withdraw (ERC-4626)Lend, withdraw
ReceiverVerificationDelivered(bytes32 indexed invoiceId, bool valid, uint8 rejectCode)CRE report received
KeeperVaultClosed(address indexed vault, Action action) / VaultCloseFailed(...)Per vault, per keeper run
NFTTransfer (ERC-721), RendererSet(address)Mint, burn, renderer change

Errors

ContractErrorCause
RegistryAlreadyRegistered(Status)Number is pending, funding, financed or closed as repaid/defaulted
RegistrySellerIsDefaulted()Wallet is flagged
RegistrySellerNotVerified()Wallet lacks KYB or PKP credential
RegistryNotPending()Verification already written
RegistryOnlyVault()Hook called by something other than the invoice's vault
RegistryInvalidParameters()Admin parameters would break the advance ≤ target invariant
VaultNotFunding(), NotActive()Wrong state
VaultFundingStillOpen()Cancel before the deadline
VaultNotDefaultableYet()Default before due + grace
VaultSharesNotTransferable()Share transfer attempted
VaultERC4626ExceededMaxDepositNot KYC'd, over the remaining target, or funding closed
NFTTransferDisabled()NFT transfer attempted
FactoryOnlyRegistry(), RegistryAlreadySet()Wiring
Receiver / KeeperOnlyForwarder()Report not from the Chainlink forwarder
KeeperInsufficientGas()Not enough gas for even one close

On this page